逆向分析实验4 手动脱壳
本文最后更新于:2025年3月19日 下午
手动脱壳
查找尾部跳转指令
使用OllyDbg分析Lab18-01.exe程序,通过查找尾部跳转指令JMP找到程序的入口点OEP,完成手动脱壳
在下面发现尾部跳转指令
F4运行到此处后,F8步入跳转,找到入口点0040154f
脱壳
运行生成的exe文件
打开ImportREC
选择刚运行的进程,依次点击 自动搜索 获取输入表 修复转存文件即可
用PEID检查,脱壳成功
堆栈平衡原理
使用OllyDbg分析Lab18-03.exe程序,通过堆栈平衡原理使用pushad、popad和硬件断点,找到程序的入口点OEP,完成手动脱壳
发现pushfd和pushad
F8运行到pushfd和pushad下面的call指令处,右键右边的ESP寄存器,点击数据窗口跟随
选择四个字节,打上硬件访问断点
F9运行即来到断点位置
F8步过一直到retn处跳转后来到入口点,按ctrl+a分析代码
脱壳,注意OllyDump时不要勾选下面的“重建输入表”,否则会直接重建成功,使exe文件快速运行完毕导致ImportREC无法捕捉进程
ESP定律
使用OllyDbg分析Lab18-04.exe程序,通过ESP定律找到程序的入口点OEP,完成手动脱壳
先F8直到通用寄存器只有ESP为红色时
右键ESP,选择HW break [ESP]
然后F9运行
F8单步,发现retn返回到入口点,ctrl+a分析
脱壳
逆向分析实验4 手动脱壳
http://example.com/2025/03/19/逆向分析实验4 手动脱壳/