0%

OverLay-UnShell

当我们在查壳的时候碰到覆盖(OverLay)的时候,我们就需要如下操作:
查壳

OverLay数据处理

今天刚学习了这种数据处理的方法,具体原因之后深入分析,其实也就是区段数据的一个补充,首先需要找到我们的多余数据,分为两种简单方法:

数据查找法

这种方法比较简单也比较直接,我们从最底部自下往上寻找一大片00,用快捷键就可以了,记住是搜索没有脱壳的数据:
查找方法
结果数据
我们从00后面的数据复制,最好用shift范围性复制,复制到结尾。
复制数据

区段查找法

这个通过LoadPE查找最后的一个区段的范围,然后通过真实的RVA+Size计算出来我们要找的数据:
PE计算
8800+400=8C00,我们这里Ctrl+G进行转到,然后看到和我们刚才一样的地方,同样复制。
地址转到

修复数据

复制完毕之后我们打开我们脱壳完毕的程序,然后拖到底部,然后将我们刚才的数据复制上去。
粘贴数据
粘贴上去会询问我们,我们点击确定就好了:
确定
之后我们就会看到数据变成这个样子的:
修改的数据
我们Ctrl+S保存,然后用PEid进行查壳:
查壳
我们发现我们的程序脱壳完毕,并且后面还有一个“[覆盖]”,运行也正常这个样子就算是可以了的。