浅谈逆向——从案例谈OD的使用(OD的使用2)

从TraceMe谈OD基本操作

案例来自加密与解密第四版 附上下载链接 传送门:

链接: https://pan.baidu.com/s/1CBjbHRWnd-ULrsWfiAZhlg 提取码: 9ede

准备工作

Windows程序由于要使用API函数,在分析中以API函数作为切入点就使过程变得容易起来。·先了解程****验证流程。
1.输入用户名和***;
2.使用GetDlgItemTextA函数把字符读出;
3.对输入字符进行计算;
4.使用lstrcmp函数进行比较.
所以上述的函数就是我们下断点分析的目标,追踪程****验证过程。
(这种为了解密制作的小程序一般称为"CrackMe)
浅谈逆向——从案例谈OD的使用(OD的使用2)

浅谈逆向——从案例谈OD的使用(OD的使用2)

加载目标文件进行调试

为了让OD中断在程序入口点,在加载前需要在Options->Debugging options中设置。在event标签里,一般需要将断点设置在WinMain处。
浅谈逆向——从案例谈OD的使用(OD的使用2)

寄存器

ESP 栈指针 指向栈顶
EIP 当前要执行指令(无法通过寄存器面板修改,只能通过在反汇编窗口New origin here改变EIP及当前执行指令的位置,程序会从这条指令开始执行)

寄存器下方显示的是标志寄存器
C,P,…,O;只能在0/1之间切换

单步追踪

F7 单步步进 遇到call指令跟进
F8 单步步过 遇到call指令路过,不跟进
Ctrl+F9 直到出现ret指令时中断
Alt+F9
F9
F2

领空”这个词来形容我们在调试某个程序的时候的正在操作或观察的内存区域