首页
社区
课程
招聘
[旧帖] [推荐]非常简单的“佳宜客户管理软件 1.75 企业版”注册算法 0.00雪花
发表于: 2006-10-27 19:33 4230

[旧帖] [推荐]非常简单的“佳宜客户管理软件 1.75 企业版”注册算法 0.00雪花

2006-10-27 19:33
4230
【破文标题】非常简单的“佳宜客户管理软件 1.75 企业版”注册算法
【破文作者】XXNB
【作者邮箱】
【作者主页】
【破解工具】OD
【破解平台】xpsp2
【软件名称】佳宜客户管理软件 1.75 企业版
【软件大小】3191KB

【原版下载】http://www.newhua.com/soft/39534.htm
【保护方式】
【软件简介】佳宜客户管理软件参考了各类客户管理软件精华,溶入了各自的优点并采纳众多用户的宝贵意见,真正地从用户的需要出发,为客户需要而设计,实现如下功能:

1、轻松管理日益增多的客户资源;
2、提供科学的发展潜在客户的步骤,按步照班,渐入佳境;
....
【破解声明】向大侠们学习!!!
------------------------------------------------------------------------
【破解过程】
------------------------------------------------------------------------

1、字符串参考可以找到如下关键代码:
005E6E3C   .  55            push    ebp
005E6E3D   .  68 A2705E00   push    005E70A2
005E6E42   .  64:FF30       push    dword ptr fs:[eax]
005E6E45   .  64:8920       mov     fs:[eax], esp
005E6E48   .  8D55 F0       lea     edx, [ebp-10]
005E6E4B   .  8B45 FC       mov     eax, [ebp-4]
005E6E4E   .  8B80 04030000 mov     eax, [eax+304]
005E6E54   .  E8 3B82E6FF   call    0044F094
005E6E59   .  8B45 F0       mov     eax, [ebp-10]                    ;  用户名
005E6E5C   .  8D55 F4       lea     edx, [ebp-C]
005E6E5F   .  E8 7429E2FF   call    004097D8
005E6E64   .  837D F4 00    cmp     dword ptr [ebp-C], 0
005E6E68   .  75 22         jnz     short 005E6E8C                   ;  看看有没有输入用户名
005E6E6A   .  6A 00         push    0
005E6E6C   .  68 B0705E00   push    005E70B0                         ;  请填写用户名称!
005E6E71   .  E8 4207FFFF   call    <jmp.&PunUnitLib.ShowMess>
005E6E76   .  8B45 FC       mov     eax, [ebp-4]
005E6E79   .  8B80 04030000 mov     eax, [eax+304]
005E6E7F   .  8B10          mov     edx, [eax]
005E6E81   .  FF92 C0000000 call    [edx+C0]
005E6E87   .  E9 B1010000   jmp     005E703D
005E6E8C   >  8D55 E8       lea     edx, [ebp-18]
005E6E8F   .  8B45 FC       mov     eax, [ebp-4]
005E6E92   .  8B80 FC020000 mov     eax, [eax+2FC]
005E6E98   .  E8 F781E6FF   call    0044F094
005E6E9D   .  8B45 E8       mov     eax, [ebp-18]                    ;  假码
005E6EA0   .  8D55 EC       lea     edx, [ebp-14]
005E6EA3   .  E8 3029E2FF   call    004097D8
005E6EA8   .  837D EC 00    cmp     dword ptr [ebp-14], 0
005E6EAC   .  75 22         jnz     short 005E6ED0                   ;  看看有没有输入假码
005E6EAE   .  6A 00         push    0
005E6EB0   .  68 C4705E00   push    005E70C4                         ;  授权号不能为空,请填写授权号!
005E6EB5   .  E8 FE06FFFF   call    <jmp.&PunUnitLib.ShowMess>
005E6EBA   .  8B45 FC       mov     eax, [ebp-4]
005E6EBD   .  8B80 FC020000 mov     eax, [eax+2FC]
005E6EC3   .  8B10          mov     edx, [eax]
005E6EC5   .  FF92 C0000000 call    [edx+C0]
005E6ECB   .  E9 6D010000   jmp     005E703D
005E6ED0   >  A1 34156300   mov     eax, [631534]
005E6ED5   .  8B00          mov     eax, [eax]                       ;  出现这个固定字符串“6J9Y-K3H7”
005E6ED7   .  E8 A4E1E1FF   call    00405080
005E6EDC   .  50            push    eax                              ;  固定字符串入栈
005E6EDD   .  8D55 E4       lea     edx, [ebp-1C]
005E6EE0   .  8B45 FC       mov     eax, [ebp-4]
005E6EE3   .  8B80 F4020000 mov     eax, [eax+2F4]
005E6EE9   .  E8 A681E6FF   call    0044F094
005E6EEE   .  8B45 E4       mov     eax, [ebp-1C]                    ;  机器码出现(硬盘序列号)
005E6EF1   .  E8 8AE1E1FF   call    00405080
005E6EF6   .  50            push    eax                              ;  机器码入栈
005E6EF7   .  E8 EC06FFFF   call    <jmp.&PunUnitLib.GetRegPass>     ;  算法Call
005E6EFC   .  8BD0          mov     edx, eax                         ;  这个不会就是注册码吧“6J9Y-6395-K3H7-9583”
005E6EFE   .  8D45 F8       lea     eax, [ebp-8]
005E6F01   .  E8 BADEE1FF   call    00404DC0
005E6F06   .  8D55 DC       lea     edx, [ebp-24]
005E6F09   .  8B45 FC       mov     eax, [ebp-4]
005E6F0C   .  8B80 FC020000 mov     eax, [eax+2FC]
005E6F12   .  E8 7D81E6FF   call    0044F094
005E6F17   .  8B45 DC       mov     eax, [ebp-24]                    ;  假码
005E6F1A   .  8D55 E0       lea     edx, [ebp-20]
005E6F1D   .  E8 B628E2FF   call    004097D8
005E6F22   .  8B45 E0       mov     eax, [ebp-20]                    ;  假码
005E6F25   .  8B55 F8       mov     edx, [ebp-8]                     ;  真码
005E6F28   .  E8 9FE0E1FF   call    00404FCC                         ;  比较函数
005E6F2D   .  0F85 FE000000 jnz     005E7031                         ;  关键跳~~
005E6F33   .  33C0          xor     eax, eax
005E6F35   .  55            push    ebp
005E6F36   .  68 1D705E00   push    005E701D
005E6F3B   .  64:FF30       push    dword ptr fs:[eax]
005E6F3E   .  64:8920       mov     fs:[eax], esp
005E6F41   .  B2 01         mov     dl, 1
005E6F43   .  A1 30304700   mov     eax, [473030]
005E6F48   .  E8 4FC2E8FF   call    0047319C
005E6F4D   .  8BD8          mov     ebx, eax
005E6F4F   .  BA 02000080   mov     edx, 80000002
005E6F54   .  8BC3          mov     eax, ebx
005E6F56   .  E8 1DC3E8FF   call    00473278
005E6F5B   .  B1 01         mov     cl, 1
005E6F5D   .  8B15 74096300 mov     edx, [630974]                    ;  JyCrm.005E6D84
005E6F63   .  8BC3          mov     eax, ebx
005E6F65   .  E8 52C4E8FF   call    004733BC
005E6F6A   .  8D55 D8       lea     edx, [ebp-28]
005E6F6D   .  8B45 FC       mov     eax, [ebp-4]
005E6F70   .  8B80 04030000 mov     eax, [eax+304]
005E6F76   .  E8 1981E6FF   call    0044F094
005E6F7B   .  8B4D D8       mov     ecx, [ebp-28]
005E6F7E   .  BA EC705E00   mov     edx, 005E70EC                    ;  username
005E6F83   .  8BC3          mov     eax, ebx
005E6F85   .  E8 CEC5E8FF   call    00473558
005E6F8A   .  8D55 D0       lea     edx, [ebp-30]
005E6F8D   .  8B45 FC       mov     eax, [ebp-4]
005E6F90   .  8B80 F4020000 mov     eax, [eax+2F4]
005E6F96   .  E8 F980E6FF   call    0044F094
005E6F9B   .  8B45 D0       mov     eax, [ebp-30]
005E6F9E   .  E8 DDE0E1FF   call    00405080
005E6FA3   .  50            push    eax
005E6FA4   .  E8 3706FFFF   call    <jmp.&PunUnitLib.SavePass>
005E6FA9   .  8BD0          mov     edx, eax
005E6FAB   .  8D45 D4       lea     eax, [ebp-2C]
005E6FAE   .  E8 0DDEE1FF   call    00404DC0
005E6FB3   .  8B4D D4       mov     ecx, [ebp-2C]
005E6FB6   .  BA 00715E00   mov     edx, 005E7100                    ;  signcode
005E6FBB   .  8BC3          mov     eax, ebx
005E6FBD   .  E8 96C5E8FF   call    00473558
005E6FC2   .  8B45 F8       mov     eax, [ebp-8]
005E6FC5   .  E8 B6E0E1FF   call    00405080
005E6FCA   .  50            push    eax
005E6FCB   .  E8 1006FFFF   call    <jmp.&PunUnitLib.SavePass>
005E6FD0   .  8BD0          mov     edx, eax
005E6FD2   .  8D45 CC       lea     eax, [ebp-34]
005E6FD5   .  E8 E6DDE1FF   call    00404DC0
005E6FDA   .  8B4D CC       mov     ecx, [ebp-34]
005E6FDD   .  BA 14715E00   mov     edx, 005E7114                    ;  regcode
005E6FE2   .  8BC3          mov     eax, ebx
005E6FE4   .  E8 6FC5E8FF   call    00473558
005E6FE9   .  8BC3          mov     eax, ebx
005E6FEB   .  E8 ECCCE1FF   call    00403CDC
005E6FF0   .  6A 00         push    0
005E6FF2   .  68 1C715E00   push    005E711C                         ;  系统注册成功,欢迎你使用本软件!

2、跟进call    <jmp.&PunUnitLib.GetRegPass> 这个算法call,就是一个跳转,然后可以找到如下关键代码:

003E904B    8D45 F0         lea     eax, [ebp-10]
003E904E    8B55 08         mov     edx, [ebp+8]                     ; 机器码
003E9051    E8 4AB7F8FF     call    003747A0
003E9056    8B45 F0         mov     eax, [ebp-10]
003E9059    E8 0AB8F8FF     call    00374868
003E905E    8BF0            mov     esi, eax
003E9060    85F6            test    esi, esi
003E9062    7E 26           jle     short 003E908A
003E9064    BB 01000000     mov     ebx, 1
003E9069    8D4D E8         lea     ecx, [ebp-18]                    ; 循环开始
003E906C    8B45 F0         mov     eax, [ebp-10]
003E906F    0FB64418 FF     movzx   eax, byte ptr [eax+ebx-1]        ; 逐个取机器码的ASCII码值,(16进制)
003E9074    33D2            xor     edx, edx
003E9076    E8 F905F9FF     call    00379674
003E907B    8B55 E8         mov     edx, [ebp-18]
003E907E    8D45 FC         lea     eax, [ebp-4]
003E9081    E8 EAB7F8FF     call    00374870
003E9086    43              inc     ebx
003E9087    4E              dec     esi
003E9088  ^ 75 DF           jnz     short 003E9069                   ; 循环回去。这个循环得到的结果是机器码的ASCII值的16进制字符串
003E908A    8B45 FC         mov     eax, [ebp-4]                     ; 这里就是了
003E908D    E8 D6B7F8FF     call    00374868
003E9092    8BF0            mov     esi, eax
003E9094    85F6            test    esi, esi
003E9096    7E 2C           jle     short 003E90C4
003E9098    BB 01000000     mov     ebx, 1
003E909D    8B45 FC         mov     eax, [ebp-4]                     ; 另一个循环开始了
003E90A0    E8 C3B7F8FF     call    00374868
003E90A5    2BC3            sub     eax, ebx
003E90A7    8B55 FC         mov     edx, [ebp-4]
003E90AA    8A1402          mov     dl, [edx+eax]                    ; 从上次计算得到的字符串的最后开始取
003E90AD    8D45 E4         lea     eax, [ebp-1C]
003E90B0    E8 DBB6F8FF     call    00374790
003E90B5    8B55 E4         mov     edx, [ebp-1C]
003E90B8    8D45 F8         lea     eax, [ebp-8]
003E90BB    E8 B0B7F8FF     call    00374870
003E90C0    43              inc     ebx
003E90C1    4E              dec     esi
003E90C2  ^ 75 D9           jnz     short 003E909D                   ; 循环回去。这个循环的结果是得到机器码ASCII值的,倒过来的字符串
003E90C4    8D45 FC         lea     eax, [ebp-4]
003E90C7    50              push    eax
003E90C8    B9 04000000     mov     ecx, 4
003E90CD    BA 01000000     mov     edx, 1
003E90D2    8B45 F8         mov     eax, [ebp-8]                     ; 这里就是了。和上面003E908A刚刚是到过来的。
003E90D5    E8 E6B9F8FF     call    00374AC0
003E90DA    8D45 F8         lea     eax, [ebp-8]
003E90DD    50              push    eax
003E90DE    B9 04000000     mov     ecx, 4
003E90E3    BA 05000000     mov     edx, 5
003E90E8    8B45 F8         mov     eax, [ebp-8]
003E90EB    E8 D0B9F8FF     call    00374AC0
003E90F0    8B45 FC         mov     eax, [ebp-4]                     ; 取前面4位
003E90F3    E8 70B7F8FF     call    00374868
003E90F8    83F8 04         cmp     eax, 4
003E90FB    7D 2F           jge     short 003E912C
003E90FD    8B45 FC         mov     eax, [ebp-4]
003E9100    E8 63B7F8FF     call    00374868
003E9105    8BD8            mov     ebx, eax
003E9107    83FB 03         cmp     ebx, 3
003E910A    7F 20           jg      short 003E912C
003E910C    8D4D E0         lea     ecx, [ebp-20]
003E910F    8BC3            mov     eax, ebx
003E9111    C1E0 02         shl     eax, 2
003E9114    33D2            xor     edx, edx
003E9116    E8 5905F9FF     call    00379674
003E911B    8B55 E0         mov     edx, [ebp-20]
003E911E    8D45 FC         lea     eax, [ebp-4]
003E9121    E8 4AB7F8FF     call    00374870
003E9126    43              inc     ebx
003E9127    83FB 04         cmp     ebx, 4
003E912A  ^ 75 E0           jnz     short 003E910C
003E912C    8B45 F8         mov     eax, [ebp-8]                     ; 取5~8位
003E912F    E8 34B7F8FF     call    00374868
003E9134    83F8 04         cmp     eax, 4
003E9137    7D 2F           jge     short 003E9168
003E9139    8B45 F8         mov     eax, [ebp-8]
003E913C    E8 27B7F8FF     call    00374868
003E9141    8BD8            mov     ebx, eax
003E9143    83FB 03         cmp     ebx, 3
003E9146    7F 20           jg      short 003E9168
003E9148    8D4D DC         lea     ecx, [ebp-24]
003E914B    8BC3            mov     eax, ebx
003E914D    C1E0 02         shl     eax, 2
003E9150    33D2            xor     edx, edx
003E9152    E8 1D05F9FF     call    00379674
003E9157    8B55 DC         mov     edx, [ebp-24]
003E915A    8D45 F8         lea     eax, [ebp-8]
003E915D    E8 0EB7F8FF     call    00374870
003E9162    43              inc     ebx
003E9163    83FB 04         cmp     ebx, 4
003E9166  ^ 75 E0           jnz     short 003E9148
003E9168    8D45 D8         lea     eax, [ebp-28]
003E916B    8B55 0C         mov     edx, [ebp+C]                     ; 固定字符串出现
003E916E    E8 2DB6F8FF     call    003747A0
003E9173    8B45 D8         mov     eax, [ebp-28]
003E9176    8D55 F4         lea     edx, [ebp-C]
003E9179    E8 DE03F9FF     call    0037955C
003E917E    8D45 D4         lea     eax, [ebp-2C]
003E9181    50              push    eax
003E9182    B9 04000000     mov     ecx, 4
003E9187    BA 01000000     mov     edx, 1
003E918C    8B45 F4         mov     eax, [ebp-C]
003E918F    E8 2CB9F8FF     call    00374AC0
003E9194    FF75 D4         push    dword ptr [ebp-2C]               ; 分开固定字符串,这里是前面
003E9197    68 0C923E00     push    003E920C
003E919C    FF75 FC         push    dword ptr [ebp-4]                ; 插入
003E919F    8D45 D0         lea     eax, [ebp-30]
003E91A2    50              push    eax
003E91A3    B9 05000000     mov     ecx, 5
003E91A8    BA 05000000     mov     edx, 5
003E91AD    8B45 F4         mov     eax, [ebp-C]
003E91B0    E8 0BB9F8FF     call    00374AC0
003E91B5    FF75 D0         push    dword ptr [ebp-30]               ; 分开固定字符串,这里是后面
003E91B8    68 0C923E00     push    003E920C
003E91BD    FF75 F8         push    dword ptr [ebp-8]                ; 插入
003E91C0    8D45 EC         lea     eax, [ebp-14]
003E91C3    BA 06000000     mov     edx, 6
003E91C8    E8 5BB7F8FF     call    00374928
003E91CD    8B45 EC         mov     eax, [ebp-14]                    ; 注册码出现了。“6J9Y-6395-K3H7-9583”
003E91D0    E8 8BB8F8FF     call    00374A60

【算法总结】
------------------------------------------------------------------------
1、注册码的得到只与机器码(硬盘序列号)有关。其他的不参与计算。

2、固定字符串"6J9Y-K3H7"将成为最后真注册码的第一和第三部分。格式为“6J9Y-SN1-K3H7-SN2”

3、先运算得到机器码的Ascii字符串(16进制),然后整个字符串倒过来。

4、取倒过来后的前4位为SN1。取倒过来的5~8为SN2。

【易语言注册机】
------------------------------------------------------------------------

.版本 2

.子程序 _按钮1_被单击
.局部变量 jiqima, 文本型
.局部变量 len1, 整数型
.局部变量 ascjiqima, 文本型
.局部变量 daojiqima, 文本型
.局部变量 a, 整数型
.局部变量 j, 整数型
.局部变量 i, 整数型
.局部变量 sn1, 文本型
.局部变量 sn2, 文本型
.局部变量 sn, 文本型

jiqima = 编辑框1.内容
len1 = 取文本长度 (jiqima)
.计次循环首 (len1, i)
    a = 取代码 (jiqima, i)
    ascjiqima = ascjiqima + 取十六进制文本 (a)
.计次循环尾 ()
daojiqima = 倒转字符串 (ascjiqima)
sn = 取文本左边 (daojiqima, 8)
sn1 = 取文本左边 (sn, 4)
sn2 = 取文本右边 (sn, 4)

编辑框2.内容 = “6J9Y” + “-” + sn1 + “-” + “K3H7” + “-” + sn2
编辑框3.内容 = daojiqima

.子程序 倒转字符串, 文本型
.参数 string, 文本型
.局部变量 k, 整数型
.局部变量 RChar, 文本型
.局部变量 LChar, 文本型
.局部变量 WChar, 文本型

.判断循环首 (k < 取文本长度 (string))

    LChar = 取文本左边 (string, 取文本长度 (string) - k)
    RChar = 取文本右边 (LChar, 1)
    k = k + 1
    WChar = WChar + RChar
.判断循环尾 ()
返回 (WChar)

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 405
活跃值: (10)
能力值: ( LV9,RANK:1130 )
在线值:
发帖
回帖
粉丝
2
虽然知道以前人家分析过了,但是我的目标是易语言注册机。所以还是放出来了。
2006-10-27 20:14
0
雪    币: 191
活跃值: (205)
能力值: ( LV9,RANK:250 )
在线值:
发帖
回帖
粉丝
3
1.建议以后分析外国的软件
2.有时间就学学C语言、汇编语言之类的吧。尝试做个汇编注册机,我看好你哟
2006-10-30 21:37
0
游客
登录 | 注册 方可回帖
返回
//