首页
社区
课程
招聘
系统查看大师破解+WWPack32 1.x脱壳
2004-7-24 18:37 9932

系统查看大师破解+WWPack32 1.x脱壳

2004-7-24 18:37
9932
软件名称:系统查看大师1.0.0
软件大小:595KB
保护方式:WWPack32 1.x加壳+异常处理+注册码
难度等级:容易
破解作者:WXHing[BCG][FCG]
破解工具:OllyDbg1.10,ImprotREC1.6,DeDe
破解声明:初学破解,旨在学习,别无它意,如有不妥,还请指正!
软件简介:一个简单易用,可以方便查看系统所有进程的小软件,他可以查看Ctrl+Alt+Del看不到的进程,这一特色恐怕是其他同类软件无         
          法比拟的(最有用的是他可以查看病毒程序的进程,构COOL吧)!
    OD载入,停在入口点

0059D000 1>  53                  push ebx
0059D001     55                  push ebp
0059D002     8BE8                mov ebp,eax
0059D004     33DB                xor ebx,ebx
0059D006     EB 60               jmp short 10925_xp.0059D068
0059D008     0D 0A0D0A57         or eax,570A0D0A
0059D00D     57                  push edi
0059D00E     50                  push eax
0059D00F     61                  popad
.....................
.......................
0059D068     E8 00000000         call 10925_xp.0059D06D                  //F7跟进
0059D06D     58                  pop eax
0059D06E     2D 6D000000         sub eax,6D
0059D073     50                  push eax
0059D074     60                  pushad
0059D075     33C9                xor ecx,ecx
0059D077     50                  push eax
0059D078     58                  pop eax
0059D079     50                  push eax
..........................
.........................
0059D160     3C 04               cmp al,4
0059D162     74 27               je short 10925_xp.0059D18B                               //这里跳出循环
0059D164     04 07               add al,7
0059D166     3C 0D               cmp al,0D
0059D168     72 28               jb short 10925_xp.0059D192
0059D16A     74 0D               je short 10925_xp.0059D179
0059D16C     B1 0F               mov cl,0F
0059D16E     E8 42FFFFFF         call 10925_xp.0059D0B5
0059D173     66:05 E15F          add ax,5FE1
0059D177     EB 2E               jmp short 10925_xp.0059D1A7
0059D179     B1 0E               mov cl,0E
0059D17B     E8 35FFFFFF         call 10925_xp.0059D0B5
0059D180     66:05 E11F          add ax,1FE1
0059D184     EB 21               jmp short 10925_xp.0059D1A7
0059D186     E9 9E000000         jmp 10925_xp.0059D229
0059D18B     E8 4DFFFFFF         call 10925_xp.0059D0DD
....................................
0059D212     B1 0E               mov cl,0E
0059D214     E8 9CFEFFFF         call 10925_xp.0059D0B5
0059D219     66:5A               pop dx
0059D21B     66:8BC8             mov cx,ax
0059D21E     87F2                xchg edx,esi
0059D220     F3:A4               rep movs byte ptr es:[edi],byte ptr >
0059D222     8BF2                mov esi,edx
0059D224   ^ E9 C3FEFFFF         jmp 10925_xp.0059D0EC                                  //大循环
0059D229     58                  pop eax
0059D22A     83C0 04             add eax,4
0059D22D     2BC7                sub eax,edi

......................
0059D281     58                  pop eax
0059D282     61                  popad                                                  //平衡堆栈
0059D283     58                  pop eax
0059D284     8BE8                mov ebp,eax
0059D286     2E:0385 95020000    add eax,dword ptr cs:[ebp+295]
0059D28D     05 99020000         add eax,299
0059D292     5D                  pop ebp
0059D293     5B                  pop ebx
0059D294   ^ E9 6F61F4FF         jmp 10925_xp.004E3408                                      //跳到真正入口点处
0059D299     0000                add byte ptr ds:[eax],al
0059D29B     40                  inc eax
0059D29C     0000                add byte ptr ds:[eax],al
...........................
004E3408     55                  push ebp                                                 //OEP,插件脱壳
004E3409     8BEC                mov ebp,esp
004E340B     83C4 F4             add esp,-0C
004E340E     53                  push ebx
004E340F     B8 702F4E00         mov eax,10925_xp.004E2F70
004E3414     E8 0B32F2FF         call 10925_xp.00406624

用improtREC1.6修复输入表,全部指针有效,fix,运行正常,PEID查是Delphi程序,看DeDe的了,Unit Name:reg一定是他了,选TeThemeButton1Click 4D8BBC,bp 4D8BBC

004D8BBC   55                     push    ebp                             //断在这里
004D8BBD   8BEC                   mov     ebp, esp
004D8BBF   33C9                   xor     ecx, ecx
004D8BC1   51                     push    ecx                              //这么多push ecx,不知是什么意思
004D8BC2   51                     push    ecx
004D8BC3   51                     push    ecx
004D8BC4   51                     push    ecx
004D8BC5   51                     push    ecx
004D8BC6   51                     push    ecx
004D8BC7   51                     push    ecx
004D8BC8   53                     push    ebx
004D8BC9   56                     push    esi
004D8BCA   8BD8                   mov     ebx, eax
004D8BCC   33C0                   xor     eax, eax
004D8BCE   55                     push    ebp

* Possible String Reference to: '槌??无[?]?
|
004D8BCF   68908D4D00             push    $004D8D90

***** TRY
|
004D8BD4   64FF30                 push    dword ptr fs:[eax]
004D8BD7   648920                 mov     fs:[eax], esp
004D8BDA   8D55F4                 lea     edx, [ebp-$0C]

* Reference to control TeThemeEdit1 : TTeThemeEdit
|
004D8BDD   8B83E8020000           mov     eax, [ebx+$02E8]

|
004D8BE3   E8841AF5FF             call    0042A66C
004D8BE8   8B55F4                 mov     edx, [ebp-$0C]                              //获取用户名
004D8BEB   8BC3                   mov     eax, ebx                                    //我在这里试图在数据窗口改名

* Reference to : TForm5._PROC_004D89EC()
|
004D8BED   E8FAFDFFFF             call    004D89EC
004D8BF2   84C0                   test    al, al
004D8BF4   0F845E010000           jz      004D8D58                                    //改名后,这里会产生跳转,然后程序
004D8BFA   8D55FC                 lea     edx, [ebp-$04]                                什么也不作,不明白,改吧,不让它跳

* Reference to control TeThemeEdit1 : TTeThemeEdit
|
004D8BFD   8B83E8020000           mov     eax, [ebx+$02E8]

|
004D8C03   E8641AF5FF             call    0042A66C                                    //这里会产生异常,跟进
004D8C08   8B45FC                 mov     eax, [ebp-$04]                              //返回出来后,程序便会根据用户名计算
                                                                                        注册码,反正前面是爆破出来的,计算
|                                                                                       出注册码也不会正确,干脆爆破到底
004D8C0B   E84CFEF2FF             call    00408A5C
........................................
........................................

|
004D8C44   E8F7B2F2FF             call    00403F40
004D8C49   7439                   jz      004D8C84                                  //这里便是关键的一跳,改为jmp
004D8C4B   6A01                   push    $01

* Possible String Reference to: '注册失败'
|
004D8C4D   B9A08D4D00             mov     ecx, $004D8DA0

* Possible String Reference to: '注册失败,请核对注册码或联系作者'
|
004D8C52   BAAC8D4D00             mov     edx, $004D8DAC
004D8C57   A1045E4E00             mov     eax, dword ptr [$004E5E04]
004D8C5C   8B00                   mov     eax, [eax]
.......................
...........................
|
004D8C7A   E835C0FAFF             call    00484CB4
004D8C7F   E9D4000000             jmp     004D8D58
004D8C84   6A00                   push    $00

* Possible String Reference to: '注册成功'
|
004D8C86   B9D08D4D00             mov     ecx, $004D8DD0

* Possible String Reference to: '注册成功,欢迎使用系统查看大师'
|
004D8C8B   BADC8D4D00             mov     edx, $004D8DDC
004D8C90   A1045E4E00             mov     eax, dword ptr [$004E5E04]
004D8C95   8B00                   mov     eax, [eax]

..............................
进入4D8C03的call后来到这里
|
0042A682   E81196FDFF             call    00403C98              
0042A687   85DB                   test    ebx, ebx                                
0042A689   740C                   jz      0042A697                                         //这里必须跳,否则就会有异常
0042A68B   8D4B01                 lea     ecx, [ebx+$01]
0042A68E   8B17                   mov     edx, [edi]
0042A690   8BC6                   mov     eax, esi

|
0042A692   E859FFFFFF             call    0042A5F0                                          //这里将产生异常
0042A697   5F                     pop     edi
0042A698   5E                     pop     esi
0042A699   5B                     pop     ebx
0042A69A   C3                     ret
-------------------------------------------------------------
破解小结:这个小软件的破解并不难,有意思的是他的反破解处理,它使没有真正注册文件的人无法输入用户名,采用系统异常手段使得没有用户名的注册无效,会弹出一个错误说明注册名无效,但保护不够不够,很容易对付。爆破完也不会在自检了。
--------------------------------------------------------------------------------------------------------------------------
                                                                                                CRACK by WXHing[BCG][FCG]
                                                                                                     2004.7.23

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞7
打赏
分享
最新回复 (15)
雪    币: 896
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
fly 85 2004-7-24 20:08
2
0
不错

BTW:这个WWPack壳使用ESP定律1分钟就走到OEP了
雪    币: 263
活跃值: (340)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
WXHing 5 2004-7-24 20:50
3
0
请教ESP定律,fly兄不要保留呀!:D :D
雪    币: 2970
活跃值: (3517)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
china 5 2004-7-24 20:55
4
0
F7过那个CALL后,Ctrl+F找POPAD,然后在上面F2断点,F9运行到此,F2取消断点,然后就到了。

我修改注册如下:
============================================================
:004D8BED E8FAFDFFFF              call 004D89EC
:004D8BF2 84C0                    test al, al //B001 mov al, 01
:004D8BF4 0F845E010000            je 004D8D58 //NOP
:004D8BFA 8D55FC                  lea edx, dword ptr [ebp-04]
:004D8BFD 8B83E8020000            mov eax, dword ptr [ebx+000002E8]
:004D8C03 E8641AF5FF              call 0042A66C
:004D8C08 8B45FC                  mov eax, dword ptr [ebp-04]
:004D8C0B E84CFEF2FF              call 00408A5C
:004D8C10 8BF0                    mov esi, eax
:004D8C12 81F6B2AA310A            xor esi, 0A31AAB2
:004D8C18 81CE235B0CD1            or esi, D10C5B23
:004D8C1E 81F663551807            xor esi, 07185563
:004D8C24 8D55F0                  lea edx, dword ptr [ebp-10]
:004D8C27 8B83F0020000            mov eax, dword ptr [ebx+000002F0]
:004D8C2D E83A1AF5FF              call 0042A66C
:004D8C32 8B45F0                  mov eax, dword ptr [ebp-10]
:004D8C35 50                      push eax
:004D8C36 8D55EC                  lea edx, dword ptr [ebp-14]
:004D8C39 8BC6                    mov eax, esi
:004D8C3B E800FDF2FF              call 00408940
:004D8C40 8B55EC                  mov edx, dword ptr [ebp-14]
:004D8C43 58                      pop eax
:004D8C44 E8F7B2F2FF              call 00403F40
:004D8C49 7439                    je 004D8C84  //eb39 jmp 004D8C84
:004D8C4B 6A01                    push 00000001

* Possible StringData Ref from Code Obj ->"注册失败"
                                  |
:004D8C4D B9A08D4D00              mov ecx, 004D8DA0

* Possible StringData Ref from Code Obj ->"注册失败,请核对注册码或联系作者"
                                  |
:004D8C52 BAAC8D4D00              mov edx, 004D8DAC
:004D8C57 A1045E4E00              mov eax, dword ptr [004E5E04]
:004D8C5C 8B00                    mov eax, dword ptr [eax]
:004D8C5E E84D01F7FF              call 00448DB0
:004D8C63 48                      dec eax
:004D8C64 740C                    je 004D8C72
:004D8C66 8BC3                    mov eax, ebx
:004D8C68 E89FCBF6FF              call 0044580C
:004D8C6D E9E6000000              jmp 004D8D58

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004D8C64(C)
|
:004D8C72 8B83F0020000            mov eax, dword ptr [ebx+000002F0]
:004D8C78 33D2                    xor edx, edx
:004D8C7A E835C0FAFF              call 00484CB4
:004D8C7F E9D4000000              jmp 004D8D58

* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004D8C49(C)
|
:004D8C84 6A00                    push 00000000

* Possible StringData Ref from Code Obj ->"注册成功"
                                  |
:004D8C86 B9D08D4D00              mov ecx, 004D8DD0

* Possible StringData Ref from Code Obj ->"注册成功,欢迎使用系统查看大师"
====================================================================  
雪    币: 896
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
fly 85 2004-7-24 20:58
5
0
最初由 WXHing 发布
请教ESP定律,fly兄不要保留呀!:D :D


参看这个:
http://bbs.pediy.com/showthread.php?s=&threadid=1008&highlight=ESP%B6%A8%C2%C9
雪    币: 263
活跃值: (340)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
WXHing 5 2004-7-24 21:00
6
0
ABC老大果然高明,感激!
雪    币: 2970
活跃值: (3517)
能力值: (RANK:215 )
在线值:
发帖
回帖
粉丝
china 5 2004-7-24 21:06
7
0
最初由 WXHing 发布
ABC老大果然高明,感激!


一直跟着fly领导的路上走呢,明天开学了,开始有空静心研究几ASP等壳,偶太笨,只能比着教程摸,感谢fly老兄才对呢。偶的偶像+老师,嘿嘿。
雪    币: 263
活跃值: (340)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
WXHing 5 2004-7-24 21:07
8
0
感谢Fly!
雪    币: 896
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
fly 85 2004-7-24 21:08
9
0
最初由 china 发布


一直跟着fly领导的路上走呢,明天开学了,开始有空静心研究几ASP等壳,偶太笨,只能比着教程摸,感谢fly老兄才对呢。偶的偶像+老师,嘿嘿。


晕倒  
雪    币: 263
活跃值: (340)
能力值: ( LV9,RANK:210 )
在线值:
发帖
回帖
粉丝
WXHing 5 2004-7-24 21:16
10
0
ABC老大加我QQ吧,249403775
雪    币: 16
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
great1234 2004-10-13 10:06
11
0
问题是软件在哪里下载阿???
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dlk0222 2005-1-16 15:28
12
0
好晕
我是XP SP2
脱壳后修复
然后程序硬是不运行
郁闷
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dlk0222 2005-1-16 15:31
13
0
不过也算搞定了
用LoadPE脱壳
然后再用IREC修复
居然就可以了
谁可以解释一下不
为什么直接从OD里面dump出来
然后IREC修复却不可以运行呀
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dlk0222 2005-1-16 15:41
14
0

不好意思
被我取巧了
直接用WinHex就OK了
哈哈………………
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
dlk0222 2005-1-16 16:09
15
0
这个软件是自己产生机器码
不要用户名
只要直接填入注册码就是了
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
zcam 2005-1-16 16:21
16
0
学习中~~~~
游客
登录 | 注册 方可回帖
返回