软件脱壳技术:Dump文件原理与应用.pptx

软件脱壳技术:Dump文件原理与应用.pptx

第二章脱壳3.dump文件

什么是dump文件dump文件将加载到内存中的模块的完整数据保存在文件中。相当于模块内存的一个拷贝。查看dump文件需要16进制编辑器,如winhex

为什么用到dump文件因为加了壳的程序,原代码和数据是以压缩或者加密的形式保存在文件中。只有程序运行到OEP时,内存中才会有完整的原代码和原数据。所以我们需要在OEP处dump模块。思考一个问题:是不是OEP以后的位置都可以dump?答案:不是的,需要在处理数据之前,我们还要保证数据段是初始的状态。

在EP处的代码段数据当EIP在EP时,原代码段是没有数据的,所以这里dump它,是没有意义的。

在OEP处的代码段数据当EIP在OEP时,其实OEP就在text段,说明代码段已经有了数据。

使用的例子和工具例子vs2017编译的2-2-vs2017.exe调试器x32dbgdump工具scylla

操作演示-入口处dump上一节课程,我们已经找到了OEP的位置,我们直接到这里,通过比较框架代码,OEP的指令是“call,jmp”,我们通过栈回溯到OEP

操作演示-OEP地址我们回溯到这里,发现了真正的OPE地址,0040152B

操作演示-修复API调用在dump之前,需要先修复vmp保护的api调用,我们把具体的修复过程放在第五节“修复iat”中。修复完成后我们进行dump

文档评论(0)

1亿VIP精品文档

相关文档