一、
1、Peid识别到区段表符合upx壳的特征

2、尝试找OEP入口点,尾部跳转指令 jmp or return (一串无效字节前最后一条有效指令,脱壳存根指向OEP)。这里发现了尾部跳转指令(寻找过程不理会向上跳转的)

3、Ida无法识别尾部跳转,一般会标记错误

4、F2下断点 执行过来

5、F8单步步过 发现了oep(如果无法识别右键 分析—>分析代码)

6、右键dump debugged process,设置下入口点 然后dump

7、直接打开improt rec,选择对应进程,修改oep,单击iat自动搜索

8、获得输入信息->修复抓取文件

二、
1、peid识别到fsg1.0壳子

2.使用插件定位OEP

三、
1、Peid识别到pecompact1.68壳子

2、Pushfd pushad 用于保存所有寄存器和标志位信息。跳转到oep之前再恢复所有信息,可以在栈上下硬件断点尝试定位。

3、运行到call处,右键esp在数据窗口中跟随

4、选中前四个字节下硬件访问断点

5、执行且F8


附:
esp红色说明栈顶值有更改

本文介绍了针对不同类型的PE壳,如UPX、FSG1.0和PECompact1.68,进行静态分析和动态调试的步骤,包括使用Peid识别壳特征,通过ida寻找OEP,设置断点,分析ESP变化,以及利用dump和importrec工具修复入口点。
840

被折叠的 条评论
为什么被折叠?



