目录 Table of Contents
6种方法脱
方法1:单步跟踪
首先我们单步, 然后发现程序运行起来了
也就是我们所说的 "跑飞了"
这时候我们应该用 F7 跟进去, 看看 call 里面具体有什么内容
一直单步, 然后找到了 popad, 说明离真正的 OEP 不远了
然后单步发现有个跳转, 然后我们就跳转到了 OEP
方法2:ESP定律
ESP 定律就是在关键句的下一句 ESP 处下断.
方法3:一步直达
适合大部分的 UPX 壳和 ASPACK 壳
查找命令 popad
发现不是我们想要的, 于是我们接着查找
或者直接用下个 Ctrl+L
找到之后我们可以直接 F4
然后我们就跳到 OEP
方法4:2次内存镜像
Alt M 找程序段第一个 .rsrc
方法5:模拟跟踪
这个方法和方法 6 的共同点是都是让 OD 自动去查找程序的 OEP
找到内存 M,
找到包含 SFX, imports 的这一行
然后命令行直接输入 :
tc eip<xxxxxx (地址)
然后发现 OD 左上角显示 "跟踪", 这说明 OD 已经在自动跟踪了, 等一会就自动跳到 OEP 了
方法6:SFX 模拟跟踪
"选项">"调试设置">"SFX"
然后我们选择 "块方式跟踪", 就是第二个, 当然有的要选第三个, 然后点确定, 重载一下
然后 OD 自动跳到了 OEP
一般还是推荐自己手动查找 OEP