首页
社区
课程
招聘
[求助]软件已经被破解,但是被破解者加了一个根据机器码算注册码的限制,如何查找关键?
发表于: 2011-6-21 08:51 7568

[求助]软件已经被破解,但是被破解者加了一个根据机器码算注册码的限制,如何查找关键?

2011-6-21 08:51
7568
软件已经被开发公司放弃,目前新软件已经开发出来了,所有的功能全放在服务器端了,破解已经没什么意义。
原来被放弃的软件已经被别破解了,破解人又加了一个填写注册码的限制。对这个限制,看看能不能看懂。
我是才学的菜菜鸟,很多问题不懂,特在此向大大们请教。
我是这么做的:
先运行软件,弹出如下图中①的窗口,需要根据机器码算出来一个注册码,填在方框中。
点击注册后,如注册码不正确,会出现图中②的错误窗口。


1、查找字符串,什么也没找到。
2、查找API 函数 GetDlgItemText 及 GetWindowText,没发现。如图

3、消息断点,按照CCDebuger大大的步骤,F9,查看→窗口,如图在“注册”上下了202 WM_LBUTTON_UP断点。



点“注册”后,来到了这里,下面是部分代码。这是不是关键啊?

77D3B036 >  8BFF            mov     edi, edi
77D3B038    55              push    ebp
77D3B039    8BEC            mov     ebp, esp
77D3B03B    8B4D 08         mov     ecx, dword ptr [ebp+8]
77D3B03E    56              push    esi
77D3B03F    E8 9CD4FDFF     call    77D184E0
77D3B044    8BF0            mov     esi, eax
77D3B046    85F6            test    esi, esi
77D3B048    74 38           je      short 77D3B082
77D3B04A    8B55 0C         mov     edx, dword ptr [ebp+C]
77D3B04D    3B15 E810D777   cmp     edx, dword ptr [77D710E8]
77D3B053    77 45           ja      short 77D3B09A
77D3B055    33C0            xor     eax, eax
77D3B057    8BCA            mov     ecx, edx
77D3B059    83E1 07         and     ecx, 7
77D3B05C    40              inc     eax
77D3B05D    D3E0            shl     eax, cl
77D3B05F    57              push    edi
77D3B060    8B3D EC10D777   mov     edi, dword ptr [77D710EC]
77D3B066    8BCA            mov     ecx, edx
77D3B068    C1E9 03         shr     ecx, 3
77D3B06B    8A0C39          mov     cl, byte ptr [ecx+edi]
77D3B06E    84C1            test    cl, al
77D3B070    5F              pop     edi
77D3B071    74 27           je      short 77D3B09A
77D3B073    6A 01           push    1
77D3B075    FF75 14         push    dword ptr [ebp+14]
77D3B078    FF75 10         push    dword ptr [ebp+10]
77D3B07B    52              push    edx
77D3B07C    56              push    esi
77D3B07D    E8 B6A1FEFF     call    77D25238
77D3B082    5E              pop     esi
77D3B083    5D              pop     ebp
77D3B084    C2 1000         retn    10
77D3B087    83E8 07         sub     eax, 7
77D3B08A    0F85 13040000   jnz     77D3B4A3
77D3B090    B8 00010000     mov     eax, 100
77D3B095  ^ E9 68A2FEFF     jmp     77D25302
77D3B09A    6A 01           push    1
77D3B09C    FF75 14         push    dword ptr [ebp+14]
77D3B09F    FF75 10         push    dword ptr [ebp+10]
77D3B0A2    52              push    edx
77D3B0A3    56              push    esi
77D3B0A4    E8 31ECFEFF     call    77D29CDA
77D3B0A9  ^ EB D7           jmp     short 77D3B082
77D3B0AB    E8 03E1FEFF     call    77D291B3
77D3B0B0  ^ E9 0E71FFFF     jmp     77D321C3
77D3B0B5    33C0            xor     eax, eax
77D3B0B7  ^ E9 0B71FFFF     jmp     77D321C7
77D3B0BC    33C0            xor     eax, eax
77D3B0BE  ^ E9 BA4FFFFF     jmp     77D3007D
77D3B0C3    6A 01           push    1
77D3B0C5    6A 01           push    1
77D3B0C7    68 F4000000     push    0F4
77D3B0CC    FF75 10         push    dword ptr [ebp+10]
77D3B0CF  ^ E9 D39CFEFF     jmp     77D24DA7
77D3B0D4    897D FC         mov     dword ptr [ebp-4], edi
77D3B0D7  ^ E9 D89AFEFF     jmp     77D24BB4
77D3B0DC    33C0            xor     eax, eax
77D3B0DE    40              inc     eax
77D3B0DF  ^ E9 839CFEFF     jmp     77D24D67
77D3B0E4    83E9 69         sub     ecx, 69
77D3B0E7    0F84 F3040000   je      77D3B5E0
77D3B0ED    49              dec     ecx
77D3B0EE  ^ 0F85 5DA2FEFF   jnz     77D25351
77D3B0F4    3955 B0         cmp     dword ptr [ebp-50], edx
77D3B0F7  ^ 0F82 43A2FEFF   jb      77D25340
77D3B0FD    395D B0         cmp     dword ptr [ebp-50], ebx
77D3B100    0F87 A2110000   ja      77D3C2A8
77D3B106    837D B8 00      cmp     dword ptr [ebp-48], 0
77D3B10A    74 07           je      short 77D3B113
77D3B10C    C745 B8 0100000>mov     dword ptr [ebp-48], 1
77D3B113    8B46 04         mov     eax, dword ptr [esi+4]
77D3B116    8BC8            mov     ecx, eax
77D3B118    23CB            and     ecx, ebx
77D3B11A    3B4D B8         cmp     ecx, dword ptr [ebp-48]
77D3B11D  ^ 0F84 1DA2FEFF   je      77D25340
77D3B123    83E0 FC         and     eax, FFFFFFFC
77D3B126    0B45 B8         or      eax, dword ptr [ebp-48]
77D3B129    57              push    edi
77D3B12A    8946 04         mov     dword ptr [esi+4], eax
77D3B12D    E8 0C9EFEFF     call    77D24F3E
77D3B132    85C0            test    eax, eax
77D3B134  ^ 0F84 06A2FEFF   je      77D25340
77D3B13A  ^ E9 AAABFEFF     jmp     77D25CE9
77D3B13F    90              nop
77D3B140    90              nop
77D3B141    90              nop
77D3B142    90              nop
77D3B143    90              nop
77D3B144 >  8BFF            mov     edi, edi
77D3B146    55              push    ebp
77D3B147    8BEC            mov     ebp, esp
77D3B149    53              push    ebx
77D3B14A    56              push    esi
77D3B14B    8B75 08         mov     esi, dword ptr [ebp+8]
77D3B14E    6A 00           push    0
77D3B150    FF75 0C         push    dword ptr [ebp+C]
77D3B153    83CB FF         or      ebx, FFFFFFFF
                        ……

分析代码就头晕,请教大大们,这样做对不对?这个代码是不是就是要分析的注册算法?

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

上传的附件:
收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 1632
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
这个是二次加密zprotect。
先查是什么版本的zp,各版本有不同的无key解码方法。
2011-6-21 09:29
0
雪    币: 102
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
谢谢达文西的回复,

查壳看是:ZProtect 1.4.9.0 Preview 2

正在搜索论坛相关资料,看起来不太多。
2011-6-21 16:05
0
游客
登录 | 注册 方可回帖
返回
//