| 动画介绍:(注意:这是语音教程,请打开您的音响,并且使用1024*768的屏幕分辨率来观看本教程!)
教程名称:手动脱ASPack变形壳 主讲:低调小飞
基础知识:
1.PUSHAD (压栈) 代表程序的入口点, 2.POPAD (出栈) 代表程序的出口点,与PUSHAD想对应,一般找到这个OEP就在附近 3.OEP:程序的入口点,软件加壳就是隐藏了OEP,只要我们找到程序真正的OEP,就可以立刻脱壳。
ESP定律法 ESP定理脱壳(ESP在OD的寄存器中,我们只要在命令行下ESP的硬件访问断点,就会一下来到程序的OEP了!) 1.开始就点F8,注意观察OD右上角的寄存器中ESP有没突现(变成红色)。(这只是一般情况下,更确切的说我们选择的ESP值是关键句之后的第一个ESP值) 2.在命令行下:dd XXXXXXXX(指在当前代码中的ESP地址,或者是hr XXXXXXXX),按回车! 3.选中下断的地址,断点--->硬件访问--->WORD断点。 4.按一下F9运行程序,直接来到了跳转处,按下F8,到达程序OEP。
个人体会:
1.当走到popad 时说明很快要就程序OEP
2.当走到push xxxxxx, retn 时说明快要到OEP
3.当遇到一个大的跳转时说明很快要到OEP |