逆向入门之使用ESP定律脱壳

使用ESP定律脱壳实战

查壳

逆向入门之使用ESP定律脱壳

载入OD

  • 首先F8
    逆向入门之使用ESP定律脱壳

    在这么多寄存器中,只有ESP是红色的,则可以使用ESP定律来脱壳

  • 选择好ESP地址,然后右键,在数据窗口中跟随
    逆向入门之使用ESP定律脱壳
    这个时候就来到了ESP指定的地址
    逆向入门之使用ESP定律脱壳
    然后选择几个数据(多少无所谓)
    逆向入门之使用ESP定律脱壳
    最右边三个选项随便选,都无所谓

    然后点击运行,这个时候程序就会停在我们设置好的硬件断点上
    逆向入门之使用ESP定律脱壳

    然后删除硬件断点
    逆向入门之使用ESP定律脱壳

    然后一直F8 知道出现这个页面
    逆向入门之使用ESP定律脱壳
    然后右键->分析->从模块中删除分析
    逆向入门之使用ESP定律脱壳
    然后右键->用OllyDump脱壳调试进程
    逆向入门之使用ESP定律脱壳
    复制修正值
    逆向入门之使用ESP定律脱壳

LordPE

逆向入门之使用ESP定律脱壳
逆向入门之使用ESP定律脱壳

PE函数修复

逆向入门之使用ESP定律脱壳
逆向入门之使用ESP定律脱壳
这儿为刚才复制的修正值


逆向入门之使用ESP定律脱壳
点击自动查找和获取输入表,然后点击显示无效函数,如果有无效函数就删除无效函数,然后点击修复转存文件

逆向入门之使用ESP定律脱壳
这儿选择我们用LordPE导出的文件

绕过自校验

由于许多壳都有自校验,会自动检测文件大小,如果不同会自动退出,所以我们打不开文件,这儿我们就需要绕过自校验

设置断点

逆向入门之使用ESP定律脱壳
点击运行,程序停在文件大小检测函数
逆向入门之使用ESP定律脱壳

然后点击反汇编窗口跟随,就会自动跳转到这个函数

然后在第一行下断点,然后删除我们第一次设置的断点,即获取文件大小的那个断点
然后F9运行程序
这个时候就有一系列比较,我们只需要修改一些程序,比如说NOP不跳转之类的~~
逆向入门之使用ESP定律脱壳

这个时候再保存文件就可以了~~

这样就完成了所有工作