【文章标题】: ASPACK加壳的IceSword 1.18脱壳
【文章作者】: flong
【作者邮箱】: flong99@ 163.com
【软件名称】: IceSword 1.18英文版
【下载地址】: 自己搜索下载
【加壳方式】: ASPack 2.12 -> Alexey Solodovnikov
【使用工具】: OllyICE v1.10 修改版
【软件介绍】: 不用介绍了,大家都知道
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
用OllyICE载入IceSword,提示有压缩,不理会。
来到入口处
00647001 > 60 pushad
00647002 E8 03000000 call 0064700A
00647007 - E9 EB045D45 jmp 45C174F7
0064700C 55 push ebp
0064700D C3 retn
0064700E E8 01000000 call 00647014
00647013 EB 5D jmp short 00647072
00647015 BB EDFFFFFF mov ebx, -13
0064701A 03DD add ebx, ebp
0064701C 81EB 00702400 sub ebx, 247000
00647022 83BD 22040000 0>cmp dword ptr [ebp+422], 0
00647029 899D 22040000 mov [ebp+422], ebx
0064702F 0F85 65030000 jnz 0064739A
按几次F7,来到0064702F 0F85 65030000 jnz 0064739A,在该语句上点右键-跟随,来到0064739A
00647395 ^\E9 EBFEFFFF jmp 00647285
0064739A B8 6BA30200 mov eax, 2A36B
0064739F 50 push eax
006473A0 0385 22040000 add eax, [ebp+422]
可以看到附近的 00647395 ^\E9 EBFEFFFF jmp 00647285跳转回去了,是一个循环。选中0064739A,按F4执行到该语句。然后按F7几次,来到:
006473A7 0BC9 or ecx, ecx
006473A9 8985 A8030000 mov [ebp+3A8], eax
006473AF 61 popad
006473B0 75 08 jnz short 006473BA
006473B2 B8 01000000 mov eax, 1
006473B7 C2 0C00 retn 0C
006473BA 68 00000000 push 0
006473BF C3 retn
看到了吧,popad出现了,哈哈,继续按F7到 006473BF C3 retn,再按一次F7,出现了一个大跳转:
0042A36B . 55 push ebp
0042A36C ? 8BEC mov ebp, esp
0042A36E . 6A FF push -1
0042A370 ? 68 10584E00 push 004E5810
哈哈,这个就是脱壳之后的程序了,确定无疑了。在 0042A36B 55 push ebp上面点右键-dump debugged process,跳出对话框DllyDump,看到入口点已经修改为2A36B。记住fix raw size &offset of dump image一定要选中,这是修复功能。
然后按Dump按钮,保存下来,关闭OllyICE。运行一下试试,完全没有问题,功能全部正常!注意一定要关闭OllyICE才能运行IceSword,因为IceSword不能运行2个实例。
好了,收工,谢谢观看。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2006年09月23日 上午 03:56:27
[课程]FART 脱壳王!加量不加价!FART作者讲授!