逆向分析实验4 手动脱壳

本文最后更新于:2025年3月19日 下午

手动脱壳

查找尾部跳转指令

使用OllyDbg分析Lab18-01.exe程序,通过查找尾部跳转指令JMP找到程序的入口点OEP,完成手动脱壳

在下面发现尾部跳转指令

image-20250319161636809

F4运行到此处后,F8步入跳转,找到入口点0040154f

image-20250319161940992

脱壳

image-20250319162120613

image-20250319162242391

运行生成的exe文件

image-20250319162407812

打开ImportREC 选择刚运行的进程,依次点击 自动搜索 获取输入表 修复转存文件即可

image-20250319162800690

用PEID检查,脱壳成功

image-20250319162923099

堆栈平衡原理

使用OllyDbg分析Lab18-03.exe程序,通过堆栈平衡原理使用pushad、popad和硬件断点,找到程序的入口点OEP,完成手动脱壳

发现pushfd和pushad

image-20250319163213154

F8运行到pushfd和pushad下面的call指令处,右键右边的ESP寄存器,点击数据窗口跟随

image-20250319163714561

选择四个字节,打上硬件访问断点

image-20250319163852939

F9运行即来到断点位置

image-20250319164222175

F8步过一直到retn处跳转后来到入口点,按ctrl+a分析代码

image-20250319164426942

脱壳,注意OllyDump时不要勾选下面的“重建输入表”,否则会直接重建成功,使exe文件快速运行完毕导致ImportREC无法捕捉进程

image-20250319165225722

image-20250319165510220

image-20250319165825700

ESP定律

使用OllyDbg分析Lab18-04.exe程序,通过ESP定律找到程序的入口点OEP,完成手动脱壳

先F8直到通用寄存器只有ESP为红色时

image-20250319170508743

右键ESP,选择HW break [ESP]

image-20250319170607251

然后F9运行

image-20250319170806782

F8单步,发现retn返回到入口点,ctrl+a分析

image-20250319170956853

脱壳

image-20250319171045883

image-20250319171150987

image-20250319171243236


逆向分析实验4 手动脱壳
http://example.com/2025/03/19/逆向分析实验4 手动脱壳/
作者
sawtooth384
发布于
2025年3月19日
许可协议