这小节介绍了查壳(peid) 查软件编写语言(die)以及用esp定律脱aspack壳,最后是破解bc++的自校验部分
目标:
首先查看软件
peid查壳
有壳 ,但是不知道是什么语言写的,这里使用DIE查看
esp脱壳
od打开可看到,pushad等特征,标准的esp定律
F8执行后 esp变化
F9 来到这里
F8执行到这里 到达oep 这里通过oep特征的对比确定这里就是入口点
对比
这里记下入偏移
lordpe
REC修复函数
然后我们用REC来修复函数,自动搜索IAT
获取导入表---》修正转储
这里就算脱完了 但是打不开 因为有自校验
破解bc++自校验
-
在OD中,找到OEP,向下翻到第一个call,双击一下这行代码
会来到一块内存区域
随后,向上翻到段首,在下图中是547E28处
-
在547E28处,右键,选择”数据窗口中更随”,在OD的数据窗口中会显示如下:
计算出偏移量 56E114 - 400000 = 16E114
-
打开ImpREC,把上一步中算出来的16E114复制到如图:
然后再重新“转储到文件”
- 这个时候,生成的文件就可以正常运行了。
总结一下,从这集中学到的:
- BC++假自校验的处理方法
- LordPE和ImpREC如何用于把脱壳后的程序给转储出来