kissy 发表于 2008-3-24 16:11

一款带检测调试器功能的ASPACK变形壳脱壳笔记

一款带检测调试器功能的ASPACK变形壳脱壳笔记
【文章标题】: 一款带检测调试器功能的ASPACK变形壳脱壳笔记
【文章作者】: KiSs
【作者主页】: http://hi.baidu.com/hikissy
【下载地址】: 软件带有攻击性 故不提供下载
【作者声明】: 靠自己的努力 一点点进步
--------------------------------------------------------------------------------
【详细过程】
大概一个月前应朋友之邀,接触到这么一个ASPACK的变形壳,当时粗略看了看,没有搞定,发给一个朋友后,他应该是脱掉了,可是不却没知道为什么有发给我,今天翻硬盘无意翻出来,就静下心来,慢慢跟了一遍。以下是过程。
首先用PEID查壳,发现是ASPack 2.12 -> Alexey Solodovnikov,OD载入,停在0059F31E > 60       pushad处,如图

1.jpg (33.77 KB)
1

2007-11-2 23:05

粗略看了下入口附近代码,感觉就不是ASPACK的壳,尝试F9运行,这时弹出如下图的对话框。

2.jpg (14.23 KB)
2

2007-11-2 23:05

重新载入OD,F8一次停在0059F31FE8 03000000   call0059F327,此时用F8程序跑飞,所以F7步入,慢慢F8单步停在0059F32BE8 01000000   call0059F331处,F8跑飞,于是F7步入,F8到0059F350,F7步入后单步到0059F9538700      xchgdword ptr , eax 如图

3.jpg (20.51 KB)
3

2007-11-2 23:05

这个时候单步会跑飞,我们选择下面一行,F4运行到所选,单步到0059F960C3    retn返回,随后一直单步到0059F418E8 84110000   call005A05A1如图

4.jpg (24.72 KB)
4

2007-11-2 23:05

这个时候如果单步则会弹出刚开始我们尝试F9弹出的检测到调试器的框,于是我们F7跟入,一路F8,来到005A05F7FF95 36140000calldword ptr

5.jpg (67.21 KB)
5

2007-11-2 23:05

继续F8又会弹出检测框,如果依旧F7进入,我们发现来到了系统凌空,程序紧接着就会结束了,那么怎么办呢,我们记录下005A05F7处地址,往上翻看,发现在005A05B2处这里的JNZ会跳过出错的地址,而这个跳转是没有实现的,我们来到005A05B2,修改右边寄存处的值,如图

6.jpg (15.95 KB)
6

2007-11-2 23:05

把Z后面的1改成0后跳转就实现了。然后我们就接着F8单步,来到0059F53F - E9 C4CBEBFF   jmp   0045C108如图

7.jpg (13.23 KB)
7

2007-11-2 23:05

这里是一个大范围的跳转,感觉应该就是飞往OEP的,单步来到0045C10855       pushebp    ; Client.0059F330

8.jpg (41.36 KB)
8

2007-11-2 23:05

欣喜异常,直接就看出来是DELPHI程序的入口处了。用LOADPE选中进程,右键习惯性修正镜像大小,然后完全转存出来后,用IMPORTREC选择进程后,在OEP处填入5C108
点击IAT自动搜索,提示发现原始IAT地址,点击显示无效按钮没有反应,说明指针全部有效,抓取刚刚LOADPE转存出来的程序修复后,查壳发现是Microsoft Visual C++ 6.0写的,用ResScope发现无法查看资源。用resource binder2.6选择优化区段+清除旧区段或者只选择优化区段操作进行优化时,脱壳程序都无法运行。于是改用FixResDemo进行修复(此程序不会自行备份,以防万一还请优化前自行对脱壳文件进行备份)。操作完后文件大小增加了大概500K,资源可以看见了

9.jpg (8.46 KB)
9

2007-11-2 23:05

程序也可以正常运行。至此就可以收工了。初写脱文,水平有限,还谢谢各位耐心看完。







--------------------------------------------------------------------------------
【版权声明】: 我低着头 一步紧一步往前走

                            2007年11月02日 22:24:22

kissy 发表于 2008-3-24 16:14

以前写的一篇脱文 RLPACK1.17 FULL
当时孤陋寡闻 不知道是RLPACK ^_^

Fate 发表于 2008-3-24 21:34

很不错的文章。。内容很详细

Hmily 发表于 2008-3-25 12:58

RLPACK1.20 FULL的强度可不小哦~

一见如故 发表于 2008-3-25 13:35

内容很详细

kissy 发表于 2008-3-26 08:47

引用第3楼Hmily于2008-03-25 12:58发表的 :
RLPACK1.20 FULL的强度可不小哦~
那个黄金圣斗士可是用的RLPACK1.20FULL?

Squn 发表于 2008-3-26 15:04


/////. 最基本的单步法脱壳 很好 很强大~
/////. 如果是我 肯定没有耐心分析完。。。

gt2333588 发表于 2008-4-1 15:01

看后面的 感觉咋象在脱DarkShell?

wesley 发表于 2008-5-28 13:46

这个有点老了哦   直接用隐藏插件 ESP定律 好像没多久就能搞定

大大连连 发表于 2008-5-29 08:50

页: [1] 2
查看完整版本: 一款带检测调试器功能的ASPACK变形壳脱壳笔记