-
-
[原创]AsPack2.12 手工脱壳
-
发表于:
2020-1-2 13:51
8425
-
简介
AsPack是高效的Win32可执行程序压缩工具,能对程序员开发的32位Windows可执行程序进行压缩,使最终文件减小达70%(来源百度百科)。最近重新复习PE文件结构时遇到了该压缩壳的脱壳,这里记录下个人的笔记。
环境
WinXp_Pro_Sp3
ollydbg1.10
DIE2.05
手工脱壳
从上面的简介可以得知,该壳为压缩壳,于是采用通用的压缩壳的脱壳技巧进行脱壳。
方法一:单步跟踪
载入调试器后,选择继续分析,当F8调试跑飞的情况下时就使用F7单步调试,一步步慢慢找,直到找到跳转的地址与当前地址存在较大距离时,该处地址就有可能是OEP。
这是当前带壳程序的入口点,如下图。
经过慢慢寻找后,最后发现OPE的特征如下图。push一个地址入栈,最后retn返回就会跳转到该地址。(从004673BA跳转至00452CC0)
来到OEP后,此时被ollydbg分析成了数据,如下图。
我们右键删除模块分析,让其分析为指令,如下图。
方法二:特征搜索
该压缩壳,会采用pushad与popad搭配恢复环境,所以直接在ollydbg中Ctrl + f搜索popad命令,然后查找下一个命令(Ctrl + L),直到遇到如下特征,如下图。
在该处下断点,F9运行到该处即可,如图。
之后就会进入OEP,然后脱壳即可,右键OllyDump脱壳。
默认选择后,点击脱壳之后可成功运行脱壳后的程序。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!