exe手动进行脱壳详细步骤方法 exe软件脱壳教程( 二 )


2.7 “SFX”法“SFX”法利用了Ollydbg自带的OEP寻找功能,可以选择直接让程序停在OD找到的OEP处,此时自解压已经完成,可以直接dump程序 。
3一些脱壳实践下面给出整理的使用以上方法,自己尝试手动脱这几种常用壳的脱壳笔记 。
3.1UPX脱壳笔记首先进行侦壳:

exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
首先把程序扔到OllyIce里面可以看到:
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
然后这里尝试使用ESP定理:即在ESP第一次改变时,对ESP的地址设置硬件字访问断点,这样可以在代码被UPX算法还原之后,跳转到程序的正常入口处 。
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
然后F5运行,并没有直接到跳转到程序入口处的大跳位置,但是可以看到UPX的大跳就在眼前:
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
所以被还原后的程序入口点就是0x00445151(通过单步往下走,F4略过往回走的循环语句,也可以看到这个大跳的位置 。)接下来走到大跳位置,跳到正常程序入口处:
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
然后去掉硬件断点,并使用LoadPE的dump功能dump目标程序:
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
先修正映像大小,然后再选择完整脱壳,这样可以得到第一步dump的程序,然后再使用ImportREC修复dump程序的OEP,OEP的信息通过OD自带的dump功能查询或者直接填45151:
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
将正确的入口地址填入ImportREC中,然后自动搜索IAT信息:
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
然后点击获取输入表得到修正IAT之后的程序函数输入表,然后再点击显示无效函数,愉快地发现没有无效函数,那么就可以直接修复转存文件了 。
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
选择刚刚第一步dump下来的转储文件进行修复,修复完成之后脱壳完成:
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
这里对于压缩壳UPX,直接使用了ESP定律,可以很方便找到OEP并dump程序 。
3.2 tElock脱壳笔记这里脱的是一个tElock的壳:
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
1、先使用最简单的最后一次异常法:首先把程序扔到OllyIce里面设置OD调试选项中的异常选项,
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
exe手动进行脱壳详细步骤方法 exe软件脱壳教程

文章插图
仅保留内存非法访问异常,然后使用异常计数器插件,在使用前要清空断点设置:

推荐阅读