首页
社区
课程
招聘
[求助]PECompact 2.x -> Jeremy Collake [Overlay]脱壳后无法运行
发表于: 2013-11-1 19:05 10192

[求助]PECompact 2.x -> Jeremy Collake [Overlay]脱壳后无法运行

2013-11-1 19:05
10192
源文件在附件中。

脱壳方法如下:

1、OD加载exe文件

00401000 >  B8 B0459200     mov eax,GPU-Z.009245B0
00401005    50              push eax
00401006    64:FF35 0000000>push dword ptr fs:[0]
0040100D    64:8925 0000000>mov dword ptr fs:[0],esp  ;F8到这里,准备硬件断点
00401014    33C0            xor eax,eax
00401016    8908            mov dword ptr ds:[eax],ecx
00401018    50              push eax
00401019    45              inc ebp
0040101A    43              inc ebx
0040101B    6F              outs dx,dword ptr es:[edi]
0040101C    6D              ins dword ptr es:[edi],dx
0040101D    70 61           jo short GPU-Z.00401080
0040101F    637432 00       arpl word ptr ds:[edx+esi],si
00401023    B5 E5           mov ch,0E5
00401025    A0 5FB88F07     mov al,byte ptr ds:[78FB85F]
0040102A    388E DB53113B   cmp byte ptr ds:[esi+3B1153DB],cl
00401030    91              xchg eax,ecx
00401031    8F              ???                                      ; 未知命令
00401032    D094EB 0A505A2E rcl byte ptr ds:[ebx+ebp*8+2E5A500A],1
00401039    4B              dec ebx

2、下完毕硬件断点后,F9一次

009245DF    83C4 04         add esp,4
009245E2    55              push ebp
009245E3    53              push ebx
009245E4    51              push ecx
009245E5    57              push edi
009245E6    56              push esi
009245E7    52              push edx
009245E8    8D98 57120010   lea ebx,dword ptr ds:[eax+10001257]
009245EE    8B53 18         mov edx,dword ptr ds:[ebx+18]
009245F1    52              push edx
009245F2    8BE8            mov ebp,eax
009245F4    6A 40           push 40
009245F6    68 00100000     push 1000
009245FB    FF73 04         push dword ptr ds:[ebx+4]
009245FE    6A 00           push 0
00924600    8B4B 10         mov ecx,dword ptr ds:[ebx+10]
00924603    03CA            add ecx,edx
00924605    8B01            mov eax,dword ptr ds:[ecx]
00924607    FFD0            call eax

3、再次F9次

00924671    5D              pop ebp                                  ; 0013FFF0
00924672    FFE0            jmp eax          ;地址差别很大,EAX 005A9641 GPU-Z.005A9641
00924674    41              inc ecx
00924675    96              xchg eax,esi
00924676    5A              pop edx
00924677    0000            add byte ptr ds:[eax],al
00924679    0000            add byte ptr ds:[eax],al
0092467B    0092 FF315200   add byte ptr ds:[edx+5231FF],dl
00924681    0000            add byte ptr ds:[eax],al
00924683    0002            add byte ptr ds:[edx],al
00924685    0000            add byte ptr ds:[eax],al
00924687    0022            add byte ptr ds:[edx],ah
00924689    0000            add byte ptr ds:[eax],al
0092468B    00B0 465200B0   add byte ptr ds:[eax+B0005246],dh
00924691    76 14           jbe short GPU-Z.009246A7
00924693    0000            add byte ptr ds:[eax],al
00924695    0000            add byte ptr ds:[eax],al
00924697    0000            add byte ptr ds:[eax],al
00924699    0000            add byte ptr ds:[eax],al

4、然后F7进去

005A9641   .  E8 02A30000   call GPU-Z.005B3948
005A9646   .^ E9 89FEFFFF   jmp GPU-Z.005A94D4
005A964B   $  3B0D F01D7100 cmp ecx,dword ptr ds:[711DF0]
005A9651   .  75 02         jnz short GPU-Z.005A9655
005A9653   .  F3:           prefix rep:
005A9654   .  C3            retn
005A9655   >  E9 89A30000   jmp GPU-Z.005B39E3
005A965A   $  8BFF          mov edi,edi
005A965C  /.  55            push ebp
005A965D  |.  8BEC          mov ebp,esp
005A965F  |.  33C0          xor eax,eax
005A9661  |.  3945 0C       cmp [arg.2],eax
005A9664  |.  76 12         jbe short GPU-Z.005A9678
005A9666  |.  8B4D 08       mov ecx,[arg.1]
005A9669  |>  66:8339 00    /cmp word ptr ds:[ecx],0
005A966D  |.  74 09         |je short GPU-Z.005A9678

5、用LoadPEDumpe文件

6、ImportREC v1.6F Fix版 ,用这个版本,输入地址001A9641,获取输入函数表。查看函数,导出修复文件

http://bbs.pediy.com/attachment.php?attachmentid=84158&stc=1&d=1383303946

7,尝试修复数据段。用PEID查看原始文件,得到地址 147800,然后复制这个位置到结尾的数据到修复后的文件。

8、文件无法运行,提示

[attpic=2]

哪位帮忙看看?谢谢。

[课程]Linux pwn 探索篇!

上传的附件:
收藏
免费 0
支持
分享
最新回复 (7)
雪    币: 3202
活跃值: (1917)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
要么自效验,要么没修复。

自效验,下退出断点,F8 慢慢回溯。看是哪里跳过来的。
2013-11-2 10:02
0
雪    币: 181
活跃值: (56)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
修复的时候全部函数已经OK,请问自校验如何去掉?
2013-11-4 09:17
0
雪    币: 181
活跃值: (56)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
自己顶一下,使用CCDebuger的那个脚本一样没有解决。
2013-11-7 11:07
0
雪    币: 215
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
关注一下,我也尝试了一下,确实不能运行,脱壳修复附加数据后运行跟楼主一样.
2013-11-19 16:58
0
雪    币: 215
活跃值: (11)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
http://bbs.pediy.com/showthread.php?t=174122&highlight=PECompact

试试这个脱壳机,测试了没问题
2013-11-19 17:16
0
雪    币: 308
活跃值: (38)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
7
这位兄台,你的GPU-Z脱壳的搞定了吗
2014-7-15 10:45
0
雪    币: 16159
活跃值: (1340)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
Unpacker_PECompact.exe
确实不再出一楼提示了。
2014-7-15 11:01
0
游客
登录 | 注册 方可回帖
返回
//