首页
社区
课程
招聘
[原创]SoftAny WinCHM 5.496 注册码笔记 by ZeNiX
2022-9-27 15:07 5951

[原创]SoftAny WinCHM 5.496 注册码笔记 by ZeNiX

2022-9-27 15:07
5951

先说结论:

这软件其实存在 3 种注册码。

一种是 Standard 标准版本

一种是 Pro 专业版

另一种是 Upgrade 升级版本。


专业版注册码长度必须是 24,29,31,34。 其中 24 

不知道是官方写错代码,或是刻意作废的。

底下是刚刚临时做的笔记。


完整笔记的代码太长论坛发不上来,所以贴片段。


0058CA4F    8B00                    mov eax,dword ptr ds:[eax]               ; 获取注册码长度,保存到 ebx
0058CA51    8BD8            mov ebx,eax
0058CA53    A1 B02F6000     mov eax,dword ptr ds:[<版本类别标志位>]
0058CA58    C700 FFFFFFFF   mov dword ptr ds:[eax],-0x1              ; 这里是注册标记,先给它填值为 -1
0058CA5E    8B45 F4         mov eax,dword ptr ss:[ebp-0xC]           ; eax 指向注册码
0058CA61    E8 12F6FFFF     call <授权的第一套算法>                          ; 授权第一套算法
0058CA66    8945 D8         mov dword ptr ss:[ebp-0x28],eax          ; edx:eax 是计算结果
0058CA69    8955 DC         mov dword ptr ss:[ebp-0x24],edx
0058CA6C    837D DC 00      cmp dword ptr ss:[ebp-0x24],0x0
0058CA70    75 13           jnz short 0058CA85
0058CA72    817D D8 EE35000>cmp dword ptr ss:[ebp-0x28],0x35EE
0058CA79    75 0A           jnz short 0058CA85
0058CA7B    BB 01000000     mov ebx,0x1                              ; 单用户授权
0058CA80    E9 10080000     jmp 0058D295
0058CA85    837D DC 00      cmp dword ptr ss:[ebp-0x24],0x0
0058CA89    75 13           jnz short 0058CA9E
0058CA8B    817D D8 CD39000>cmp dword ptr ss:[ebp-0x28],0x39CD
0058CA92    75 0A           jnz short 0058CA9E
0058CA94    BB 02000000     mov ebx,0x2                              ; 2 用户授权
0058CA99    E9 F7070000     jmp 0058D295
0058CA9E    837D DC 00      cmp dword ptr ss:[ebp-0x24],0x0
0058CAA2    75 13           jnz short 0058CAB7
0058CAA4    817D D8 6F2E000>cmp dword ptr ss:[ebp-0x28],0x2E6F
0058CAAB    75 0A           jnz short 0058CAB7
0058CAAD    BB 03000000     mov ebx,0x3                              ; 3 用户授权
0058CAB2    E9 DE070000     jmp 0058D295
0058CAB7    837D DC 00      cmp dword ptr ss:[ebp-0x24],0x0
0058CABB    75 13           jnz short 0058CAD0
0058CABD    817D D8 832F000>cmp dword ptr ss:[ebp-0x28],0x2F83
0058CAC4    75 0A           jnz short 0058CAD0
0058CAC6    BB 05000000     mov ebx,0x5                              ; 5 用户授权
0058CACB    E9 C5070000     jmp 0058D295
0058CAD0    837D DC 00      cmp dword ptr ss:[ebp-0x24],0x0
0058CAD4    75 13           jnz short 0058CAE9
0058CAD6    817D D8 922E000>cmp dword ptr ss:[ebp-0x28],0x2E92
0058CADD    75 0A           jnz short 0058CAE9
0058CADF    BB 0A000000     mov ebx,0xA                              ; 10 用户授权
0058CAE4    E9 AC070000     jmp 0058D295
0058CAE9    837D DC 00      cmp dword ptr ss:[ebp-0x24],0x0
0058CAED    75 13           jnz short 0058CB02
0058CAEF    817D D8 5524000>cmp dword ptr ss:[ebp-0x28],0x2455
0058CAF6    75 0A           jnz short 0058CB02
0058CAF8    BB 14000000     mov ebx,0x14                             ; 20 用户授权
0058CAFD    E9 93070000     jmp 0058D295
0058CB02    837D DC 00      cmp dword ptr ss:[ebp-0x24],0x0
0058CB06    75 13           jnz short 0058CB1B
0058CB08    817D D8 502F000>cmp dword ptr ss:[ebp-0x28],0x2F50
0058CB0F    75 0A           jnz short 0058CB1B
0058CB11    BB 32000000     mov ebx,0x32                             ; 50 用户授权
0058CB16    E9 7A070000     jmp 0058D295
0058CB1B    837D DC 00      cmp dword ptr ss:[ebp-0x24],0x0
0058CB1F    75 13           jnz short 0058CB34
0058CB21    817D D8 A62F000>cmp dword ptr ss:[ebp-0x28],0x2FA6
0058CB28    75 0A           jnz short 0058CB34
0058CB2A    BB 0F270000     mov ebx,0x270F                           ; 9999 用户,也就是无限用户授权
0058CB2F    E9 61070000     jmp 0058D295
0058CB34    A1 B02F6000     mov eax,dword ptr ds:[<版本类别标志位>]
0058CB39    C700 FFFFFFFF   mov dword ptr ds:[eax],-0x1
0058CB3F    83FB 1A         cmp ebx,0x1A                             ; 注册码长度 26 的情况
0058CB42    0F85 09010000   jnz 0058CC51
0058CB48    A1 B02F6000     mov eax,dword ptr ds:[<版本类别标志位>]
0058CB4D    33D2            xor edx,edx
0058CB4F    8910            mov dword ptr ds:[eax],edx
0058CB51    8B45 F4         mov eax,dword ptr ss:[ebp-0xC]
0058CB54    E8 9FFDFFFF     call <授权的第二套算法函数>                        ; 授权第二套算法
0058CB59    8945 D8         mov dword ptr ss:[ebp-0x28],eax
0058CB5C    8955 DC         mov dword ptr ss:[ebp-0x24],edx
0058CB5F    817D DC 3428340>cmp dword ptr ss:[ebp-0x24],0x1342834
0058CB66    75 13           jnz short 0058CB7B
0058CB68    817D D8 74B4843>cmp dword ptr ss:[ebp-0x28],0x3784B474
0058CB6F    75 0A           jnz short 0058CB7B
0058CB71    BB 01000000     mov ebx,0x1                              ; 单用户授权
0058CB76    E9 1A070000     jmp 0058D295
0058CB7B    817D DC 35DEA00>cmp dword ptr ss:[ebp-0x24],0x1A0DE35
0058CB82    75 13           jnz short 0058CB97
0058CB84    817D D8 45796B3>cmp dword ptr ss:[ebp-0x28],0x386B7945
0058CB8B    75 0A           jnz short 0058CB97
0058CB8D    BB 02000000     mov ebx,0x2                              ; 2 用户授权
0058CB92    E9 FE060000     jmp 0058D295
0058CB97    817D DC ED48560>cmp dword ptr ss:[ebp-0x24],0x15648ED
0058CB9E    75 13           jnz short 0058CBB3
0058CBA0    817D D8 3988BF7>cmp dword ptr ss:[ebp-0x28],0x78BF8839
0058CBA7    75 0A           jnz short 0058CBB3
0058CBA9    BB 03000000     mov ebx,0x3                              ; 3 用户授权
0058CBAE    E9 E2060000     jmp 0058D295
0058CBB3    817D DC 504C2C0>cmp dword ptr ss:[ebp-0x24],0x12C4C50
0058CBBA    75 13           jnz short 0058CBCF
0058CBBC    817D D8 EBBD027>cmp dword ptr ss:[ebp-0x28],0x7302BDEB
0058CBC3    75 0A           jnz short 0058CBCF
0058CBC5    BB 05000000     mov ebx,0x5                              ; 5 用户授权
0058CBCA    E9 C6060000     jmp 0058D295
0058CBCF    817D DC 1226180>cmp dword ptr ss:[ebp-0x24],0x1182612
0058CBD6    75 13           jnz short 0058CBEB
0058CBD8    817D D8 3D61B93>cmp dword ptr ss:[ebp-0x28],0x32B9613D
0058CBDF    75 0A           jnz short 0058CBEB
0058CBE1    BB 0A000000     mov ebx,0xA                              ; 10 用户授权
0058CBE6    E9 AA060000     jmp 0058D295
0058CBEB    817D DC EFCC690>cmp dword ptr ss:[ebp-0x24],0x169CCEF
0058CBF2    75 13           jnz short 0058CC07
0058CBF4    817D D8 964EC34>cmp dword ptr ss:[ebp-0x28],0x47C34E96
0058CBFB    75 0A           jnz short 0058CC07
0058CBFD    BB 14000000     mov ebx,0x14                             ; 20 用户授权
0058CC02    E9 8E060000     jmp 0058D295
0058CC07    817D DC 2F98520>cmp dword ptr ss:[ebp-0x24],0x152982F
0058CC0E    75 13           jnz short 0058CC23
0058CC10    817D D8 08391FD>cmp dword ptr ss:[ebp-0x28],0xD61F3908
0058CC17    75 0A           jnz short 0058CC23
0058CC19    BB 32000000     mov ebx,0x32                             ; 50 用户授权
0058CC1E    E9 72060000     jmp 0058D295
0058CC23    817D DC D211720>cmp dword ptr ss:[ebp-0x24],0x17211D2
0058CC2A    75 13           jnz short 0058CC3F
0058CC2C    817D D8 D4FC05B>cmp dword ptr ss:[ebp-0x28],0xB605FCD4
0058CC33    75 0A           jnz short 0058CC3F
0058CC35    BB 0F270000     mov ebx,0x270F                           ; 9999 用户,也就是无限用户授权
0058CC3A    E9 56060000     jmp 0058D295
0058CC3F    33DB            xor ebx,ebx
0058CC41    A1 B02F6000     mov eax,dword ptr ds:[<版本类别标志位>]
0058CC46    C700 FFFFFFFF   mov dword ptr ds:[eax],-0x1
0058CC4C    E9 44060000     jmp 0058D295
0058CC51    83FB 1F         cmp ebx,0x1F                             ; *** 注册码长度 31位的情况 ***
0058CC54    0F85 56010000   jnz 0058CDB0
0058CC5A    8D45 F0         lea eax,dword ptr ss:[ebp-0x10]
0058CC5D    50              push eax
0058CC5E    B9 1A000000     mov ecx,0x1A                             ; 从注册码第一位开始取 0x1A 位,其实就是最开始的26位。
0058CC63    BA 01000000     mov edx,0x1
0058CC68    8B45 F4         mov eax,dword ptr ss:[ebp-0xC]
0058CC6B    E8 601DE8FF     call 0040E9D0
0058CC70    8D45 EC         lea eax,dword ptr ss:[ebp-0x14]
0058CC73    50              push eax
0058CC74    B9 04000000     mov ecx,0x4                              ; 从注册码 0x1C 位开始取四位,其实就是最后4位。
0058CC79    BA 1C000000     mov edx,0x1C
0058CC7E    8B45 F4         mov eax,dword ptr ss:[ebp-0xC]
0058CC81    E8 4A1DE8FF     call 0040E9D0
0058CC86    8B45 EC         mov eax,dword ptr ss:[ebp-0x14]          ; 先取最后四位做计算
0058CC89    E8 6AFCFFFF     call <授权的第二套算法函数>                        ; 授权的第二套算法函数
0058CC8E    83FA 00         cmp edx,0x0
0058CC91    75 14           jnz short 0058CCA7
0058CC93    3D 903F0000     cmp eax,0x3F90                           ; *** 正确的计算结果是 0x3F90 , 这是专业版的关键 ***
0058CC98    75 0D           jnz short 0058CCA7
0058CC9A    A1 B02F6000     mov eax,dword ptr ds:[<版本类别标志位>]
0058CC9F    C700 01000000   mov dword ptr ds:[eax],0x1               ; 这里设置了专业版的注册标记
0058CCA5    EB 09           jmp short 0058CCB0
0058CCA7    A1 B02F6000     mov eax,dword ptr ds:[<版本类别标志位>]
0058CCAC    33D2            xor edx,edx
0058CCAE    8910            mov dword ptr ds:[eax],edx               ; 不是 0x3F90 的话,就设定为标准版
0058CCB0    8B45 F0         mov eax,dword ptr ss:[ebp-0x10]
0058CCB3    E8 40FCFFFF     call <授权的第二套算法函数>                        ; 授权的第二套算法函数
0058CCB8    8945 D8         mov dword ptr ss:[ebp-0x28],eax
0058CCBB    8955 DC         mov dword ptr ss:[ebp-0x24],edx
0058CCBE    817D DC 3428340>cmp dword ptr ss:[ebp-0x24],0x1342834
0058CCC5    75 13           jnz short 0058CCDA
0058CCC7    817D D8 74B4843>cmp dword ptr ss:[ebp-0x28],0x3784B474
0058CCCE    75 0A           jnz short 0058CCDA
0058CCD0    BB 01000000     mov ebx,0x1                              ; 单用户授权
0058CCD5    E9 BB050000     jmp 0058D295
0058CCDA    817D DC 35DEA00>cmp dword ptr ss:[ebp-0x24],0x1A0DE35
0058CCE1    75 13           jnz short 0058CCF6
0058CCE3    817D D8 45796B3>cmp dword ptr ss:[ebp-0x28],0x386B7945
0058CCEA    75 0A           jnz short 0058CCF6
0058CCEC    BB 02000000     mov ebx,0x2                              ; 2 用户授权
0058CCF1    E9 9F050000     jmp 0058D295
0058CCF6    817D DC ED48560>cmp dword ptr ss:[ebp-0x24],0x15648ED
0058CCFD    75 13           jnz short 0058CD12
0058CCFF    817D D8 3988BF7>cmp dword ptr ss:[ebp-0x28],0x78BF8839
0058CD06    75 0A           jnz short 0058CD12
0058CD08    BB 03000000     mov ebx,0x3                              ; 3 用户授权
0058CD0D    E9 83050000     jmp 0058D295
0058CD12    817D DC 504C2C0>cmp dword ptr ss:[ebp-0x24],0x12C4C50
0058CD19    75 13           jnz short 0058CD2E
0058CD1B    817D D8 EBBD027>cmp dword ptr ss:[ebp-0x28],0x7302BDEB
0058CD22    75 0A           jnz short 0058CD2E
0058CD24    BB 05000000     mov ebx,0x5                              ; 5 用户授权
0058CD29    E9 67050000     jmp 0058D295
0058CD2E    817D DC 1226180>cmp dword ptr ss:[ebp-0x24],0x1182612
0058CD35    75 13           jnz short 0058CD4A
0058CD37    817D D8 3D61B93>cmp dword ptr ss:[ebp-0x28],0x32B9613D
0058CD3E    75 0A           jnz short 0058CD4A
0058CD40    BB 0A000000     mov ebx,0xA                              ; 10 用户授权
0058CD45    E9 4B050000     jmp 0058D295
0058CD4A    817D DC EFCC690>cmp dword ptr ss:[ebp-0x24],0x169CCEF
0058CD51    75 13           jnz short 0058CD66
0058CD53    817D D8 964EC34>cmp dword ptr ss:[ebp-0x28],0x47C34E96
0058CD5A    75 0A           jnz short 0058CD66
0058CD5C    BB 14000000     mov ebx,0x14                             ; 20 用户授权
0058CD61    E9 2F050000     jmp 0058D295
0058CD66    817D DC 2F98520>cmp dword ptr ss:[ebp-0x24],0x152982F
0058CD6D    75 13           jnz short 0058CD82
0058CD6F    817D D8 08391FD>cmp dword ptr ss:[ebp-0x28],0xD61F3908
0058CD76    75 0A           jnz short 0058CD82
0058CD78    BB 32000000     mov ebx,0x32                             ; 50 用户授权
0058CD7D    E9 13050000     jmp 0058D295
0058CD82    817D DC D211720>cmp dword ptr ss:[ebp-0x24],0x17211D2
0058CD89    75 13           jnz short 0058CD9E
0058CD8B    817D D8 D4FC05B>cmp dword ptr ss:[ebp-0x28],0xB605FCD4
0058CD92    75 0A           jnz short 0058CD9E
0058CD94    BB 0F270000     mov ebx,0x270F                           ; 9999 用户,也就是无限用户授权
0058CD99    E9 F7040000     jmp 0058D295
0058CD9E    33DB            xor ebx,ebx
0058CDA0    A1 B02F6000     mov eax,dword ptr ds:[<版本类别标志位>]
0058CDA5    C700 FFFFFFFF   mov dword ptr ds:[eax],-0x1
0058CDAB    E9 E5040000     jmp 0058D295
0058CDB0    83FB 14         cmp ebx,0x14                             ; 注册码长度为 20 的情况
0058CDB3    0F85 0B010000   jnz 0058CEC4
0058CDB9    A1 B02F6000     mov eax,dword ptr ds:[<版本类别标志位>]
0058CDBE    C700 03000000   mov dword ptr ds:[eax],0x3               ; 这个授权可能是需要升级用的吧? 没深入研究
0058CDC4    8B45 F4         mov eax,dword ptr ss:[ebp-0xC]
0058CDC7    E8 40FAFFFF     call <授权的第三套算法>
0058CDCC    8945 D8         mov dword ptr ss:[ebp-0x28],eax
:
:
0058D1E9    83FB 18         cmp ebx,0x18                             ; 注册码长度为 24 的情况, 以下参考上面的注释
0058D1EC    0F85 A1000000   jnz 0058D293
0058D1F2    8D45 F0         lea eax,dword ptr ss:[ebp-0x10]
0058D1F5    50              push eax
0058D1F6    B9 13000000     mov ecx,0x13
0058D1FB    BA 01000000     mov edx,0x1
0058D200    8B45 F4         mov eax,dword ptr ss:[ebp-0xC]
0058D203    E8 C817E8FF     call 0040E9D0
0058D208    8D45 EC         lea eax,dword ptr ss:[ebp-0x14]
0058D20B    50              push eax
0058D20C    B9 04000000     mov ecx,0x4
0058D211    BA 15000000     mov edx,0x15
0058D216    8B45 F4         mov eax,dword ptr ss:[ebp-0xC]
0058D219    E8 B217E8FF     call 0040E9D0
0058D21E    8D45 E8         lea eax,dword ptr ss:[ebp-0x18]
0058D221    50              push eax
0058D222    B9 04000000     mov ecx,0x4
0058D227    BA 1A000000     mov edx,0x1A                             ; 明显这里超过长度的 24,可以说是官方写错代码了。
0058D22C    8B45 F4         mov eax,dword ptr ss:[ebp-0xC]
0058D22F    E8 9C17E8FF     call 0040E9D0
0058D234    8B45 E8         mov eax,dword ptr ss:[ebp-0x18]
0058D237    E8 BCF6FFFF     call <授权的第二套算法函数>
0058D23C    83FA 00         cmp edx,0x0
0058D23F    75 14           jnz short 0058D255
0058D241    3D 903F0000     cmp eax,0x3F90
0058D246    75 0D           jnz short 0058D255
0058D248    A1 B02F6000     mov eax,dword ptr ds:[<版本类别标志位>]
0058D24D    C700 01000000   mov dword ptr ds:[eax],0x1               ; 专业版授权
0058D253    EB 09           jmp short 0058D25E
0058D255    A1 B02F6000     mov eax,dword ptr ds:[<版本类别标志位>]
0058D25A    33D2            xor edx,edx
0058D25C    8910            mov dword ptr ds:[eax],edx               ; 标准版授权
0058D25E    8B45 F0         mov eax,dword ptr ss:[ebp-0x10]
0058D261    E8 92F6FFFF     call <授权的第二套算法函数>

太久没发帖了,不知道代码要怎么对齐。


至于想要直接获取成品的朋友,底下的两套注册码可以直接拿去享用。



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

最后于 2022-9-28 12:58 被zenix编辑 ,原因:
收藏
点赞4
打赏
分享
最新回复 (1)
雪    币: 6303
活跃值: (3372)
能力值: ( LV5,RANK:69 )
在线值:
发帖
回帖
粉丝
小菜鸟一 2022-9-27 16:00
2
0
来个代码对齐的
游客
登录 | 注册 方可回帖
返回