-0 od入门
- OD的窗口的基本认识
- OD快捷键的基本使用
- OD的基本操作
-1 单步
-1.2 步入
-1.3 步过
-2 进入CALL或jmp到的目的地:
- 在该条指令上按回车
-3 返回上一步操作: 按键盘上的-
号( 下一步是 +
)
-4 跳转到指定的地址
-4.1 在反汇编窗口中跳转到指定地址
- Ctrl + G
-4.2 在内存dump窗口中跳转到指定的地址查看内存
- Ctrl + G
-5 设置断点
-5.1 F2
-5.2 在opcode栏上双击
-5.3 API断点:Gtrl+G => 输入API名称 => F2下断
-6 修改反汇编 :
- 在该条指令上按空格键,或鼠标左键双击,即可输入汇编
- 使用鼠标双击想要修改的指令
-7 直接修改opcode:
- 在该条指令上按Ctrl+E
-8 修改内存数据:
- 在内存dump窗口选中要修改的数据, 按Ctrl+E,或鼠标左键双击
-9 修改寄存器的值:
-9.1 修改通过寄存器的值
- 鼠标左键双击寄存器的值
-9.2 修改标志位
- 鼠标左键双击标志位.
-10 重新启动调试
- Ctrl + F2
- 在工具栏上点击<<
的按钮(鼠标悬浮在按钮上时,会在底部的状态栏上有帮助信息)
-11 暂停调试
- F12
- 点击工具栏上的按钮
-12 关闭调试
- Alt+F12
- 点击工具栏上的按钮
-13 查找字符串
- 使用插件-中文搜索引擎进行搜索
-14 查找汇编指令
- Ctrl + F (查找单条指令)
- Ctrl + s (查找多条连续的指令)
- 右键 -> 查找 -> 命令/命令序列
-15 查找二进制串
- Ctrl+B
- 右键 -> 查找 -> 二进制字串
-16 添加标签
- 在想要添加标签的首地址上单击右键 -> 标签
- 在想要添加标签的首地址上:Shift+:
- 给函数添加标签
- 给全局变量添加标签
- 在数据窗口中定位到全局变量,在上面添加标签即可
- 给跳转分支添加标签
OD不支持给局部变量添加标签
-17 添加注释
- 双击注释栏
- 在想要注释的那行按 ;
-18 快捷键
- F7 :单步步入(遇CALL时会进入到函数内部)
- F8 : 单步步过(遇CALL时不会进入)
- F9 :直接运行程序(碰到断点时会断下,否则直接跑起来)
- Ctrl+F9 : 运行到函数返回
- Ctrl+A : 自动分析代码(识别函数,循环,switch语句等)
- 19 其他信息窗口:
L : log 保存日志信息
E :程序的所有模块的信息(加载基址,大小,OEP,路径)
M :程序的内存映射视图
T :线程信息
W :窗口信息
H :句柄表
C :CPU窗口(反汇编窗口)
/ :补丁信息
K :调用堆栈
B :软件断点列表
R :显示参考(数据引用等)
... : RUN跟踪
S : 源码显示窗口
-20 逆向入门-核心代码定位
-20.1 特征定位
- 字符串特征
- API函数特征
-20.2 堆栈回溯
-21 逆向入门-核心代码分析
-21.1 分支语句的分析
- if语句(实例:分析出关键call,进行暴力破解)
- 使用源码比对法进行分析
- switch语句
-21.2 循环语句的分析
-21.3 分析实例(解密程序)
-21.4 分析函数
-21.4.1 函数的形数个数
- 调用方式
- cdcall
- add esp, XX
- stdcall
- ret XX
-21.4.2 函数的形参作用
- [ebp+8] ...