ZProtect的脱壳与修复
首先查壳

讯享网
运行一下程序

有注册框,那么我们必须跳过这个对话框才能到达程序真正的入口点
od进入,F7进call,再F7见到熟悉的pushad

jmp处转到对话框API:DialogBoxIndirectParamA,下断
返回pushad处,FPU窗口中ESP 定律,后运行
返回到处跟随,跳转到弹出界面的指令

je处下硬件断点,标志位Z改1,运行,到如下call
F7跟进,到如下,右键分析,删除模块分析

到达阵真正的入口点
od中在push处右键od调试进程,DDA1C即为OEP地址

接下来用LordPE进行脱壳,输入OEP地址。自动查找IAT,获取输入表,可以看到都是无效函数,无法进行转储

接下来用ImportREC进行修复
对照LordPE进行填写,Process ID在LordPE的标题
Code Start和Code End要加上LordPE开头和结尾的函数序列号基址上加40000

Patch VA :OEP中第一个call,F7到下图,retn的地址即为Patch VA

Zero VA:跟进上图中的call,Zero VA为Resume Thread的下一行地址

填写完后,start出一个新地址,这是od为我们申请了一块新的内存

od转新地址,记得加0,右键,设此处为新的EIP并删除硬件断点
xor处下断点


运行

解码成功
此时我们再次获取输入表
都是有效函数,我们进行转储,最后查壳一下

脱壳成功
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/19702.html