您的位置:龙8国际 >> 软件 >> 编程开发 >> 一个完整的C++逆向教程!网友称其为神作反汇编C++
一个完整的C++逆向教程!网友称其为神作反汇编C++
发布用户 1657007389
添加日期 2017/4/18 14:04:28
大  小 1.65 KB
最后更新 2017/4/18 14:05:40
标  签 编程开发,软件
喜  欢
分  享
eD2k链接
下面是用户共享的文件列表,可以使用迅雷、QQ旋风等软件进行下载,点击文件名进行下载
一个完整的C++逆向教程!网友称其为神作反汇编C++.rar 1.65 KB
1.65 KB
一、逆向的神兵利器(初到江湖刀枪都准备一把吧)
(1)动态调式工具
a、Microsoft Visual C++ 6.0
b、Ollydbg(简称OD)
c、实战
(2)静态分析工具
a、IDA基本使用
b、实战
二、你的汇编够扎实吗?来补补把
三、一个简单的程序开启反汇编大门
四、C++里面的数据类型你觉得会是什么呢?内存
五、你认为MAIN函数不可更改吗?
六、VC6.0编译器优化技巧
七、基本表达式的识别与优化原理
八、模运算的识别与优化原理
九、反汇编中识别if-else
十、反汇编中识别switch-case语句
十一、识别复杂的switch-case语句
十二、反汇编中识别C++循环语句
十三、VC6.0编译器对循环结构的优化
十四、函数调用方式讲解
十五、使用ESP或EBP寻址
十六、函数参数传递
十七、通过反汇编清楚传值、地址、引用的实现
十八、函数返回值
十九、初程序员在函数调用中常犯的错误及函数调用总结及
十二、变量在内存中的位置
二十一、数组级指针形址
二十二、结构体和类
二十三、C++对象内存布局
二十四、内存对齐
二十五、在反汇编中识别C++类
二十六、利用RTTI识别类
二十七、构造函数和析构函数识别
二十八、通过反汇编了解虚函数实现原理
二十九、从内存角度学习继承和多重继承
三十、异常处理。
三十一、CreakME算法分析。

内容摘要:
IDA的设置调式符号路径
_NT_SYMBOL_PATH=symsrv*symsrv.dll*D:\symbols*http://msdl.microsoft.com/download/symbols/
在IDA安装目录下的cfg下的pdb.cfg文件中设置调式符号路径

设置环境变量记录log文件
IDALOG

打开IDA的patch program菜单

OD的使用技巧:

快捷键 功能说明
F2 在OD的反汇编视图中使用F2进行下断
F4 程序执行到当前光标位置
F5 缩小、还原当前窗口
F7 单步步入,进入函数内,跟进到CALL地址处
F8 单步步过,越过函数实现,不会进入CALL地址处
F9 直接运行程序,遇到断点程序暂停
Ctrl+f9 执行到函数返回,用于跳出函数
Alt+f9 执行到用户代码处,用于快速跳出系统函数
Ctrl+G 输入十六进制地址,在反汇编或数据窗口中快速定位到该地址处

汇编的补充知识:

mov ecx,30
mov eax,0cccccccch
rep stos dword prt es:[edi]
stos指令,它的功能是将eax中的数据放入的edi所指的地址中,同时,edi会增加4个字节,rep使指令重复执行ecx中填写的次数。
方括弧表示存储器,这个地址实际上是edi的内容所指向的地址。这里的stos其实对应的是stosd,其它的还有
stosb、stosw 分别处理4、1、2个字节,这里对堆栈中的30h*4个字节初始化为0cch(也就是int 3的机器码),这样发生竟外时执行
堆栈里面的内容会引发调式中断。

http://pan.baidu.com/share/link?shareid=507694629&uk=3073355117