本人新手,刚学脱壳差不多一个月,还差2,3天。每天看一点三人行的破解教程,也算是入门了。今天在学习反病毒的时候找到了IceSword这个软件,无聊之中就用PEID查了一下壳,发现是ASPack 2.12 -> Alexey Solodovnikov。之前学习也脱过ASPack的壳,不过都是脱得教程里的壳,今天我就自己来脱这个壳练练手。
首先用OD载入:
0063F001 > 60 pushad 单步F8向下走
0063F002 E8 03000000 call IceSword.0063F00A F7进CALL
0063F00A 5D pop ebp ; IceSword.0063F007 跳到这里了,接着F8向下单步走
0063F00B 45 inc ebp F8
0063F00C 55 push ebp F8
0063F00D C3 retn F8
0063F00E E8 01000000 call IceSword.0063F014 F8
0063F008 /EB 04 jmp short IceSword.0063F00E F8向下跳
0063F00E \E8 01000000 call IceSword.0063F014 跳到这里接着用F7进CALL
0063F014 5D pop ebp ; IceSword.0063F013 跳到这里,接着用F8单步走,之后碰到的CALL也用F8
0063F015 BB EDFFFFFF mov ebx,-13
0063F01A 03DD add ebx,ebp
0063F01C 81EB 00F02300 sub ebx,23F000
0063F022 83BD 22040000 0>cmp dword ptr ss:[ebp+422],0
0063F029 899D 22040000 mov dword ptr ss:[ebp+422],ebx
0063F02F 0F85 65030000 jnz IceSword.0063F39A 看见向下跳转的箭头时候接着用F8
接着一大串的代码我就不一一复制了。
来到这里,第一个往回跳的地方:
0063F140 ^\EB EB jmp short IceSword.0063F12D F8运行到这里的时候停住,为防止往回跳,点到下一行,F4
0063F142 8B06 mov eax,dword ptr ds:[esi] 点中这一行F4
0063F144 EB 00 jmp short IceSword.0063F146 接着F8
0063F146 803E 27 cmp byte ptr ds:[esi],27 F8
0063F149 ^ 75 F3 jnz short IceSword.0063F13E F8
0063F14B 24 00 and al,0 点中F4
0063F14D C1C0 18 rol eax,18 F8
0063F150 2BC3 sub eax,ebx F8
0063F152 8906 mov dword ptr ds:[esi],eax F8
0063F154 83C3 05 add ebx,5 F8
0063F157 83C6 04 add esi,4 F8
0063F15A 83E9 05 sub ecx,5 F8
0063F15D ^ EB CE jmp short IceSword.0063F12D F8
0063F15F 5B pop ebx F4
…………
就照着这个一直运行
来到这里:
0063F3B0 /75 08 jnz short IceSword.0063F3BA F8向下跳
0063F3B2 |B8 01000000 mov eax,1
0063F3B7 |C2 0C00 retn 0C
0063F3BA \68 5B854200 push IceSword.0042855B 跳到这里,看这里有一个大跳转,说明马上就可以找到OEP了,F8
0063F3BF C3 retn F7进入程序入口点
来到OEP了:
0042855B 55 push ebp 这里就是OEP了,可以开始脱壳了
0042855C 8BEC mov ebp,esp
0042855E 6A FF push -1
00428560 68 F0484E00 push IceSword.004E48F0
00428565 68 D07E4200 push IceSword.00427ED0
…………
我用的是LordPE和ImportREC_fix。
先用LordPE载入程序,第一步纠正文件大小,然后完全脱壳。这样程序还是打不开的。
接着用ImportREC_fix载入程序,在左下角OEP输入2855B,点自动查找,再点获取输入表,看一下有没有无效的指针,没有就点修复转储文件来修复刚脱完壳的程序。
这样就大功告成了,再来用PEID查下壳,显示Microsoft Visual C++ 6.0。
由于我是WIN7系统,这个程序我开不了。
在下新人,第一次发帖,学了也没多久,写的不好求各位大神别喷。
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课