首页
社区
课程
招聘
[旧帖] [求助]ACprotect2.X的壳...如何脱?? 0.00雪花
发表于: 2008-4-29 07:51 3610

[旧帖] [求助]ACprotect2.X的壳...如何脱?? 0.00雪花

2008-4-29 07:51
3610
有没有可用的文章?很想学一下这个壳的脱法。。。。  用最后一次异常法不行啊?程序一运行就跑起来了。。。。。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
给个软件吧!让我试下
2008-4-29 07:54
0
雪    币: 186
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
。。。我下的就是 华军软件园下面的游戏  阿达连连看。

想自己独立搞一个。。没想到一开头就碰了!
2008-4-29 08:35
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
刚才取了个巧,用peid里的generic oep finder查了一下,再用od下断,然后ollydump,选1,居然成了,一会自己手动试试
2008-4-29 10:40
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
运行阿达连连看中的llk.exe

peid查壳显示:ACProtect V2.0 -> risco *

od载入,停在如下位置:

00401000 >/$  68 00A04800   PUSH llk.0048A000         <--此时的EIP
00401005  |.  68 0B104000   PUSH llk.0040100B
0040100A  |.  C3            RETN                                     ;  RET 用作跳转到 0040100B
0040100B  \>  C3            RETN

F8运行一步,停在

00401005  |.  68 0B104000   PUSH llk.0040100B          <--EIP

此时,寄存器窗口中显示

EAX 00000000
ECX 0012FFB0
EDX 7C92EB94 ntdll.KiFastSystemCallRet
EBX 7FFD4000
ESP 0012FFC4                                         <-主要看这里,用ESP定律
EBP 0012FFF0
ESI FFFFFFFF
EDI 7C930738 ntdll.7C930738
EIP 00401000 llk.<模块入口点>
C 0  ES 0023 32位 0(FFFFFFFF)
P 1  CS 001B 32位 0(FFFFFFFF)
A 0  SS 0023 32位 0(FFFFFFFF)
Z 1  DS 0023 32位 0(FFFFFFFF)
S 0  FS 003B 32位 7FFDF000(FFF)
T 0  GS 0000 NULL
D 0
O 0  LastErr ERROR_SUCCESS (00000000)
EFL 00000246 (NO,NB,E,BE,NS,PE,GE,LE)
ST0 empty -UNORM D1D8 01050104 00000000
ST1 empty 0.0
ST2 empty 0.0
ST3 empty 0.0
ST4 empty 0.0
ST5 empty 0.0
ST6 empty 0.0
ST7 empty 0.0
               3 2 1 0      E S P U O Z D I
FST 0000  Cond 0 0 0 0  Err 0 0 0 0 0 0 0 0  (GT)
FCW 027F  Prec NEAR,53  掩码    1 1 1 1 1 1

左键点击ESP中的数据,右键->数据窗口跟随,此时左下方的数据窗口中显示

0012FFC4  D7 6F 81 7C 38 07 93 7C FF FF FF FF 00 40 FD 7F  護亅8搢.@?
0012FFD4  38 B9 54 80 C8 FF 12 00 20 50 48 81 FF FF FF FF  8筎€?. PH?
0012FFE4  A8 9A 83 7C E0 6F 81 7C 00 00 00 00 00 00 00 00  億鄌亅........
0012FFF4  00 00 00 00 00 10 40 00 00 00 00 00              .....@.....

左键点0012FFC4处的数据D7,右键-->断点-->硬件访问-->双字

点F9运行,七次时,进入MSVBVM60的领空,ctrl+F2重新载入,点F9五次(因为第六次已经脱壳完成,进入了程序),显示如下:

004A1286   . /EB 01         JMP SHORT llk.004A1289                   <--EIP
004A1288   ? |E8 FF25CB12   CALL 1315388C
004A128D   .  4A            DEC EDX
004A128E   ?  0060 E8       ADD BYTE PTR DS:[EAX-18],AH
004A1291   ?  0000          ADD BYTE PTR DS:[EAX],AL
004A1293   .  0000          ADD BYTE PTR DS:[EAX],AL

这时就一路F8运行,盯住EIP,第一次跨段时(就是EIP从004AXXXX变成0040XXXX时),用Ollydump脱壳就行了。 

这里有个博客,我也是受这位大侠启发的
http://hi.baidu.com/bhcjll/blog/item/2afaa3d58ec23cc051da4bdb.html
2008-4-29 12:24
0
雪    币: 186
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
全部 Ctrl+C! 到家里慢慢消化..... 谢谢大家了!

“运行阿达连连看中的llk.exe” 为什么要运行这个exe呢?
2008-4-29 14:13
0
雪    币: 205
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
7
这个随便,反正只要检查出是ACProtect2.0的就行。可能是发布的人图方便,我查了下,那个连连看的文件夹下,好多exe都是acp的壳。不过,要是运行的不是llk.exe,最后点F9和F8的次数可能会有不同,但方法是一样的
2008-4-29 14:30
0
游客
登录 | 注册 方可回帖
返回
//