学习ximo脱壳视频:1、手脱UPX壳

所用工具:Ollydbg(吾爱版)   PEID v0.95

运行环境:windows xp
学习ximo脱壳视频:1、手脱UPX壳

使用PEID v0.95查询到,此程序壳为UPX壳

学习ximo脱壳视频:1、手脱UPX壳

使用Ollydbg载入程序

学习ximo脱壳视频:1、手脱UPX壳

对于UPX壳的程序,有四种寻找OEP方法:1.单步跟踪,2.ESP定律,3.一步直达法,4.二次内存镜像法
1.使用单步跟踪法找到OEP。使用单步步过(F8)一步一步向下执行,遇到向上跳转的语句,将程序运行到下一句继续执行,再继续单步跟踪,直到找到OEP为止

学习ximo脱壳视频:1、手脱UPX壳
这里找到了OEP可以开始脱壳了。

2.ESP定律法:先将程序打开,并运行到入口的下一行
学习ximo脱壳视频:1、手脱UPX壳

找到所在寄存器的ESP地址,右键选择数据窗口中跟随
学习ximo脱壳视频:1、手脱UPX壳
再选择右键第一个地址的数值,并在此下硬件访问断点

学习ximo脱壳视频:1、手脱UPX壳
按F4执行到所在位置,按F8单步跟踪一下,便到达了OEP

学习ximo脱壳视频:1、手脱UPX壳

3.一步直达法:通过入口信息得知,有一个与之相对应的popad,所以在入口处查询命令popad,找到与至匹配的popad

4.二次内存镜像法:先找到程序段的第一个资源段.rsrc学习ximo脱壳视频:1、手脱UPX壳


在此设置访问中断,并运行。接着再次通过内存查找学习ximo脱壳视频:1、手脱UPX壳
找到这里,重复上述操作,并单步到OEP。


遇到的问题:在使用二次内存镜像法的时候,发生了错误,现在还不知道是什么问题。

学习ximo脱壳视频:1、手脱UPX壳