首页
社区
课程
招聘
[旧帖] [求助]菜鸟关于手脱PECompact 2.x及破校验的求助 0.00雪花
发表于: 2008-8-29 07:36 4095

[旧帖] [求助]菜鸟关于手脱PECompact 2.x及破校验的求助 0.00雪花

2008-8-29 07:36
4095
PEID查壳:PECompact 2.x -> Jeremy Collake
用Ollydbg载入,忽略所有的异常选项

00401000 > $  B8 540C6A00   mov     eax, 006A0C54 //OD载入停在这里
00401005   .  50            push    eax
00401006   .  64:FF35 00000>push    dword ptr fs:[0]
0040100D   .  64:8925 00000>mov     dword ptr fs:[0], esp
00401014   .  33C0          xor     eax, eax
00401016   .  8908          mov     dword ptr [eax], ecx
00401018   .  50            push    eax

下断:BP 006A0C54,然后F9运行,程序被断下

006A0C54    B8 D9F969F0     mov     eax, F069F9D9
006A0C59    8D88 9E120010   lea     ecx, dword ptr [eax+1000129E]
006A0C5F    8941 01         mov     dword ptr [ecx+1], eax
006A0C62    8B5424 04       mov     edx, dword ptr [esp+4]
006A0C66    8B52 0C         mov     edx, dword ptr [edx+C]
006A0C69    C602 E9         mov     byte ptr [edx], 0E9
006A0C6C    83C2 05         add     edx, 5
006A0C6F    2BCA            sub     ecx, edx
006A0C71    894A FC         mov     dword ptr [edx-4], ecx
006A0C74    33C0            xor     eax, eax
006A0C76    C3              retn
006A0C77    B8 78563412     mov     eax, 12345678//下断 F2

取消006A0C54断点,然后在006A0C77下断点,F9运行,F8往下

006A0C7C    64:8F05 0000000>pop     dword ptr fs:[0]
006A0C83    83C4 04         add     esp, 4
006A0C86    55              push    ebp
006A0C87    53              push    ebx
006A0C88    51              push    ecx
.........
006A0CEC    8B4B 0C         mov     ecx, dword ptr [ebx+C]
006A0CEF    894E 14         mov     dword ptr [esi+14], ecx
006A0CF2    FFD7            call    edi       //  程序到此跳转到别处。无法继续下走

006A0CF4    8985 3F130010   mov     dword ptr [ebp+1000133F], eax
006A0CFA    8BF0            mov     esi, eax
006A0CFC    8B4B 14         mov     ecx, dword ptr [ebx+14]
006A0CFF    5A              pop     edx
006A0D00    EB 0C           jmp     short 006A0D0E
006A0D02    03CA            add     ecx, edx
006A0D04    68 00800000     push    8000
006A0D09    6A 00           push    0
006A0D0B    57              push    edi
006A0D0C    FF11            call    dword ptr [ecx]
006A0D0E    8BC6            mov     eax, esi
006A0D10    5A              pop     edx
006A0D11    5E              pop     esi
006A0D12    5F              pop     edi
006A0D13    59              pop     ecx
006A0D14    5B              pop     ebx
006A0D15    5D              pop     ebp
006A0D16    FFE0            jmp     eax   //依照网上脱壳方法的判断这里应该是正确的OEP

眼看这就要到达目的地,却在中途被劫,实在郁闷。。只好请教各位大佬。。。。

手脱不成,曾尝试用脱壳机unpecomp2、PECompact Unpacker脱壳后均显示成功,
但脱壳后的程序无法运行,显示EIP错误。。无法进行后期的追码动作。。
据其他哥们的提示,该程序应该存在某种校验。
由于本人水平过菜,所以请个位老大能讲解一下手脱和破校验的过程。

原版下载地址:(无法挂附件,所以按论坛的提示放在其他空间)
http://www.live-share.com/files/345490/ss3.rar.html

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

收藏
免费 0
支持
分享
最新回复 (11)
雪    币: 107
活跃值: (13)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
手脱的方法是,下断点:BP VirtualFree。中断后,取消断点,Alt+F9,然后,ctrl+F ,查找 push 8000(特征码),在其段尾ret处下断,f9运行,取消断点,单步f8,来到jmp eax //跳到oep。我试过了,可以到达oep,脱壳成功,但修复时有两个指针无效,剪切后程序无法运行,我找自校验,但没有找到,同样期待高手指路。
2008-8-29 11:40
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
指针的问题能解决,但是用peid插件检查校验,额。。。。被吓住了,有11个校验

ADLER32 :: 001022D3 :: 005030D3
BASE64 table :: 00104C4C :: 00505A4C
BASE64 table :: 001FB4EC :: 005FC2EC
BASE64 table :: 00203B2C :: 0060492C
BLOWFISH [sbox] :: 001FE864 :: 005FF664
CRC32 :: 00104E52 :: 00505C52
GOST [sbox 1] :: 00200AAC :: 006018AC
RIPEMD-320 [Init] :: 00105D84 :: 00506B84
SHA1 [Compress] :: 00108E79 :: 00509C79
TWOFISH [8x8] :: 001FF8AC :: 006006AC
ZLIB deflate [long] :: 001FC854 :: 005FD654
看了就没有欲望了
请高手解答吧。。。。
感觉这个软件的作者是不是心里有问题啊。。。加了11个自校验,adler32,crc32,BASE64 ,什么都有了
2008-8-29 22:31
0
雪    币: 204
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
这样的东西没必要去脱壳,劳民伤财。  直接破解就可以!

下BP  MessageBoxA 断点! 直接在堆栈就能找到明文注册码!

但是软件需要注册文件 如果只有注册码 每次都要输入一遍很不方便!

做了2个补丁一个DLL (内用放在目录下运行主程序就可以)

一个PATCH文件 (外用直接patch主程序)
上传的附件:
2008-8-29 23:37
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
高手啊,以前看网上人说对带壳的软件都是先脱壳再爆破,原来带壳调试也行,学习了~
2008-8-30 08:49
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
再问一下楼上的大大,本人也新手,用bp MessageBoxA 下断,怎么没在堆栈窗口看见注册码呢
带壳调试找到了关键call ,也在堆栈窗口找到自己输入的注册码,却没有看到明码啊
005CC73D  |.  E8 7EF7FFFF   call    005CBEC0                         ;  关键call
005CC742  |.  84C0          test    al, al
005CC744  |.  74 2A         je      short 005CC770                   ;  不是则跳
005CC746  |.  A1 F85A6000   mov     eax, [605AF8]
005CC74B  |.  8B16          mov     edx, [esi]
005CC74D  |.  8B52 08       mov     edx, [edx+8]
005CC750  |.  E8 2380E3FF   call    00404778
005CC755  |.  A1 68536000   mov     eax, [605368]
005CC75A  |.  8B16          mov     edx, [esi]
005CC75C  |.  8B52 10       mov     edx, [edx+10]
005CC75F  |.  E8 1480E3FF   call    00404778
005CC764  |.  C783 4C020000>mov     dword ptr [ebx+24C], 1
005CC76E  |.  EB 0A         jmp     short 005CC77A
005CC770  |>  B8 ACC75C00   mov     eax, 005CC7AC
005CC775  |.  E8 9AB3FAFF   call    00577B14                         ;  注册码失败对话框
005CC77A  |>  33C0          xor     eax, eax
2008-8-30 09:09
0
雪    币: 889
活跃值: (4027)
能力值: ( LV5,RANK:69 )
在线值:
发帖
回帖
粉丝
7
哦  看来还是脱壳修复难哦   
2008-8-30 10:48
0
雪    币: 230
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
兄弟,为什么我带壳调试程序根本就无法启动,无法输入注册码呢?
你是怎么做的?
2008-8-30 18:35
0
雪    币: 210
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
带壳调试,先运行到oep处断下,再下bp MessageBoxA,然后f9运行,就行啦
2008-8-30 20:39
0
雪    币: 114
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
直接hw esp
然后单步就ok了嘛
2008-8-31 13:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
我也试试的 也对这个壳迷糊
2008-8-31 14:06
0
雪    币: 206
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
这个好像 不完全是 PECompact 2.x 加的壳, 我用 PECompact 2.9 给 notepad 加壳脱的时候,和脱这个不太一样,不知道有没有人能给我们这些初学者讲解一下,这里我先谢过了
2008-8-31 16:46
0
游客
登录 | 注册 方可回帖
返回
//