一、逆向的神兵利器(初到江湖刀枪都准备一把吧)(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,30mov eax,0cccccccchrep 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的机器码),这样发生竟外时执行堆栈里面的内容会引发调式中断。
本套教程下载地址:
查看当前『隐藏内容』需花费 60资源豆,【支付查看