首页
社区
课程
招聘
[原创]手脱两层Aspack 2.12壳(含IAT修复)
发表于: 2006-9-1 11:42 5052

[原创]手脱两层Aspack 2.12壳(含IAT修复)

2006-9-1 11:42
5052
手脱两层Aspack 2.12壳(含IAT修复)

【破解作者】 iDiGGer
【使用工具】 PEID、OllyDBG_1.10_caocong_20060212、Import REConstructor v1.6 Final
【破解平台】 winXPSP2
【软件名称】 国内某软件
【软件简介】 略
【加壳方式】 ASPack 2.12
【破解声明】 兴趣所致,略有心得,与大家共享
--------------------------------------------------------------------------------
【破解内容】

用PEID检测为ASPack 2.12 -> Alexey Solodovnikov,
用工具脱壳后,程序可正常运行,再检测还为ASPack 2.12 -> Alexey Solodovnikov,
再用工具脱之后,检测为Borland C++ 1999, 但程序已无法运行。

下面使用OD手工脱之

设置OD忽略所有异常

OD载入,提示访问异常,按Shift+F9停在此处
00522001 >  60              PUSHAD
00522002    E8 03000000     CALL mgr.0052200A
00522007  - E9 EB045D45     JMP 45AF24F7
0052200C    55              PUSH EBP
0052200D    C3              RETN

按F8后,输入命令hr esp(esp定律)
按F9,断在此处
005223B0   /75 08           JNZ SHORT mgr.005223BA
005223B2   |B8 01000000     MOV EAX,1
005223B7   |C2 0C00         RETN 0C
005223BA   \68 01F05100     PUSH mgr.0051F001                                <--- 第一层脱壳后OEP
005223BF    C3              RETN

再按F9两次,断在此处
0051F3B0   /75 08           JNZ SHORT mgr.0051F3BA
0051F3B2   |B8 01000000     MOV EAX,1
0051F3B7   |C2 0C00         RETN 0C
0051F3BA   \68 24154000     PUSH mgr.00401524                                <--- 第二层脱壳后OEP
0051F3BF    C3              RETN

按F7三次,来到此处
00401524   /EB 10           JMP SHORT mgr.00401536                        <--- OEP
00401526   |66:623A         BOUND DI,DWORD PTR DS:[EDX]
00401529   |43              INC EBX
0040152A   |2B2B            SUB EBP,DWORD PTR DS:[EBX]
0040152C   |48              DEC EAX
0040152D   |4F              DEC EDI
0040152E   |4F              DEC EDI
0040152F   |4B              DEC EBX
00401530   |90              NOP
00401531  -|E9 98F04A00     JMP 008B05CE
00401536   \A1 8BF04A00     MOV EAX,DWORD PTR DS:[4AF08B]
0040153B    C1E0 02         SHL EAX,2
0040153E    A3 8FF04A00     MOV DWORD PTR DS:[4AF08F],EAX
00401543    52              PUSH EDX
00401544    6A 00           PUSH 0
00401546    E8 37BD0A00     CALL mgr.004AD282                    ; JMP 到 kernel32.GetModuleHandleA
0040154B    8BD0            MOV EDX,EAX
0040154D    E8 5EFF0900     CALL mgr.004A14B0
00401552    5A              POP EDX
00401553    E8 BCFE0900     CALL mgr.004A1414
00401558    E8 93FF0900     CALL mgr.004A14F0
0040155D    6A 00           PUSH 0
0040155F    E8 7C140A00     CALL mgr.004A29E0
00401564    59              POP ECX
00401565    68 34F04A00     PUSH mgr.004AF034
0040156A    6A 00           PUSH 0
0040156C    E8 11BD0A00     CALL mgr.004AD282                    ; JMP 到 kernel32.GetModuleHandleA
00401571    A3 93F04A00     MOV DWORD PTR DS:[4AF093],EAX
00401576    6A 00           PUSH 0
00401578    E9 C36A0A00     JMP mgr.004A8040
0040157D >  E9 AA140A00     JMP mgr.004A2A2C

此时用插件OllyDump,Dump出(取消重建输入表选项)
不要退出OD,还要用此进程修复IAT

IAT的修复

运行Import REConstructor v1.6 Final
选mgr进程(刚才OD载入之进程)
将OEP改为00001524,按IAT AutoSearch

提示如下
Found address which may be in the Original IAT. Try 'Get Import'.
(If it is not correct, try RVA: 000D9000 Size:00008000)

将RVA改为000D9000, Size改为00008000

按Get Imports, 再按Show Invalid

按右键,选Delete Trunks

最后按Fix Dump修复刚才Dump出的程序即可。

经测试程序运行正常。


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
我也有一个aspack加壳控件,可否帮忙解一下。可否提供邮箱地址。
2006-9-1 14:47
0
雪    币: 0
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
以前遇到过,未能解决!多谢!!
2006-9-1 18:02
0
雪    币: 203
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
最初由 idigger 发布
手脱两层Aspack 2.12壳(含IAT修复)

【破解作者】 iDiGGer
【使用工具】 PEID、OllyDBG_1.10_caocong_20060212、Import REConstructor v1.6 Final
【破解平台】 winXPSP2
........


不知道用什么工具脱的?
2006-9-1 21:45
0
游客
登录 | 注册 方可回帖
返回
//