一、
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红色说明栈顶值有更改