exe文件脱壳步骤 exe脱壳教程( 三 )
文章插图
然后如果这时使用LoadPE dump后修复,就和前两种一样了 。这里先是使用ImportREC获取函数输入表第一个位置的指针地址 。
文章插图
然后得到函数指针偏移地址在0x005512C,加上基地址后为0x045512C,这时在该位置下硬件访问双字断点 。再重新SHIFT+F9忽略异常执行后,由于下了断点,会触发tElock的CRC校验错误:
文章插图
所以这里要先绕过CRC校验,才能成功执行到硬件断点位置,所以首先暂停程序,然后使用Alt+F9返回用户代码 。点击确定按钮后,程序暂停在调用ExitProcess的位置:
文章插图
现在要向上找一找能跳过这个退出的跳转(CRC判断跳转),然后进行修改并跳过:
文章插图
找到了应该修改的位置,但是如果修改之后重新运行是会被恢复的,所以先记下来这个跳转的地址,0x00469622 。重新运行之后,在idata断设置内存断点,SHIFT+F9停下后,再Ctrl+G找到修改点再修改 。修改完之后再设置之前的硬件断点,这样不会触发CRC校验错误了 。
无数次的SHIFT+F9之后,在寄存器窗口可以看到指针以及能够正常显示:
文章插图
然后此时F8单步,找magic jump……看小生大大的视屏是通过分析疑似CRC跳转得到magic jump的位置:
文章插图
这里记下来magic jump的地址是0x0046973B,然后清空udd文件,删除硬件断点,再次重新运行程序,然后在idata下内存断点停住,然后Ctrl+G找到magic jump位置处,修改跳转:
文章插图
然后在code段下内存断点:
文章插图
然后SHIFT+F9执行,停下来就到了OEP的位置:
文章插图
这时候再dump程序,IAT表已经被修复,可以直接获得脱壳版程序:
文章插图
这里尝试使用了另外两种脱壳方法,并且通过预先找OEP的方式,修复了CRC校验后,直接dump到了IAT被修复了的程序 。
3.3 PEncrypt脱壳笔记
文章插图
先把程序扔到OllyIce里面,然后程序停在这里,看起来蛮怪的:
文章插图
好吧,重新加载程序,尝试使用最后一次异常法,不忽略所有异常,然后使用异常计数器插件,程序停在最后一次异常处:
文章插图
如果此时F8单步下去,程序会触发异常处理,然后又到不了OEP了 。这时需要看一下堆栈数据情况:
文章插图
这时需要在0040CCD7处F2下断点,然后SHIFT+F9执行,可以跳过这个坑:
文章插图
然后接下来就是F8+F4的操作,一路直到OEP:
文章插图
用LoadPE脱壳,然后用ImportREC修复后,虽然没有无效指针,但是还是不能运行:
文章插图
这时候用LoadPE的重建PE功能:
文章插图
文章插图
然后就可以正常运行了:
文章插图
这个壳使用了单步跟踪的脱壳方法,一路跳过程序“陷阱”,最后达到OEP 。并且使用了LoadPE的重建PE功能,对程序进行了重建,最终完成了这个加密壳的脱壳全过程 。
- 复印机是如何复印文件的呢 怎么复印文件
- 谷歌正为安卓系统打造安全文件夹,可用密码加密文件
- 我的手机越来越慢了,我看了看手机里文件管理,我128G的手机存储
- 万能zip怎么打开 gzip文件怎么打开
- 电脑关闭结束exe进程图文教程 电脑如何结束一个进程
- 电脑上的文件夹如何进行压缩? 电脑如何压缩文件
- 手机里面的英文储存文件可以删吗?dcim又是什么文件?
- pdf文件怎么打开? 怎样打开pdf文件
- 手机qq上传文件失败怎么办 qq无法传输文件
- 如何加密电脑文件夹 怎么样加密文件夹