运行脱壳软件的步骤如下:
使用OD(OllyDbg)载入程序
打开OD,选择“File” -> “Open Crash Dump”或直接拖拽exe文件到OD中。
在“Debug”菜单中选择“Options” -> “Debugging Options” -> “Exception”,然后勾选“Ignore all”。
按下`CTRL+F2`重新加载程序。
单步跟踪
使用`F8`单步向下跟踪,实现向下的跳转(`F4`用于跳过向上的跳转)。
如果遇到程序回跳(包括循环),在回跳的下一句代码处设置断点(右健单击代码,选择“Run to cursor”)。
观察OD右上角的寄存器,特别是ESP寄存器,以确定程序的执行流程。
利用ESP定理
在命令行下,使用`dd`命令查看当前代码中的ESP地址(例如:`dd 0012FFA4`)。
在命令行下设置硬件访问断点(`bp esp`)。
按下`F9`运行程序,程序会停在跳转处,然后按下`F8`到达程序的OEP(Entry Point)。
使用内存跟踪
打开内存镜像(`ALT+M` -> `DA`)。
找到第一个`.rsrc`段,然后按`F2`打开内存镜象。
使用专门的脱壳工具
例如,使用Peid查壳软件,拖拽exe文件到Peid界面,插件中的通用脱壳器可以尝试脱壳。
如果脱壳后import表损坏,可以使用ImportREC修复。
手动脱壳
如果自动脱壳失败,可以尝试手动脱壳,例如修改dex文件、删除加固特征文件、替换入口等。
使用其他工具
例如,BlackDex是一个运行在Android手机上的脱壳工具,支持多种版本的Android系统。
请根据具体情况选择合适的脱壳方法,并确保在脱壳过程中仔细操作,避免对原始文件造成损害。