风球 发表于 2006-2-22 16:50:44

再来个简单算法 -- SuperCHM 2006 V2.2

文章标题:SuperCHM 2006 V2.2 算法分析
破解作者:风球
破解日期:2006.2.2021:03
下载地址:http://www.skycn.com/soft/25640.html
加入时间:2006-02-20 10:10:01
软件介绍:SuperCHM是真正所见即所得的CHM制作工具,内置简单易用、功能齐全的网页编辑器,使您可以轻松地完成CHM制作,而不必在多个软件之间来回切换。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0050FBE4    55            push ebp                                       ; 下断往下分析
0050FBE5    68 F2FC5000   push SuperCHM.0050FCF2
0050FBEA    64:FF30         push dword ptr fs:
0050FBED    64:8920         mov dword ptr fs:,esp
0050FBF0    8D4D FC         lea ecx,dword ptr ss:
0050FBF3    8B93 1C030000   mov edx,dword ptr ds:                   ; 机器码(ASCII "325650565253")
0050FBF9    8BC3            mov eax,ebx
0050FBFB    E8 BCFEFFFF   call SuperCHM.0050FABC                           ; 算法CALL,跟进
0050FC00    8B45 FC         mov eax,dword ptr ss:                     ; 真码(ASCII "T0CB8-Y01BFE-14F3")
0050FC03    50            push eax
0050FC04    8D55 F8         lea edx,dword ptr ss:
0050FC07    8B83 04030000   mov eax,dword ptr ds:
0050FC0D    E8 D6CEF6FF   call SuperCHM.0047CAE8
0050FC12    8B45 F8         mov eax,dword ptr ss:                     ; 假码
0050FC15    5A            pop edx                                          ; 真码
0050FC16    E8 7192EFFF   call SuperCHM.00408E8C                           ; 比较CALL,EDX显真码
0050FC1B    84C0            test al,al
0050FC1D    0F84 A2000000   je SuperCHM.0050FCC5                           ; 跳则OVER

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
0050FABC    55            push ebp                                       ; 跟进算法CALL来到此处
0050FABD    8BEC            mov ebp,esp
0050FABF    6A 00         push 0
0050FAC1    6A 00         push 0
0050FAC3    6A 00         push 0
0050FAC5    6A 00         push 0
0050FAC7    6A 00         push 0
0050FAC9    53            push ebx
0050FACA    8BD9            mov ebx,ecx
0050FACC    8955 FC         mov dword ptr ss:,edx                     ; 我的机器码(ASCII "325650565253")
0050FACF    8B45 FC         mov eax,dword ptr ss:
0050FAD2    E8 A551EFFF   call SuperCHM.00404C7C
0050FAD7    33C0            xor eax,eax
0050FAD9    55            push ebp
0050FADA    68 A1FB5000   push SuperCHM.0050FBA1
0050FADF    64:FF30         push dword ptr fs:
0050FAE2    64:8920         mov dword ptr fs:,esp
0050FAE5    8D4D F8         lea ecx,dword ptr ss:
0050FAE8    BA 04000000   mov edx,4
0050FAED    8B45 FC         mov eax,dword ptr ss:                  
0050FAF0    E8 6BF9F2FF   call SuperCHM.0043F460                           ; 取机器码前四位
0050FAF5    8B45 F8         mov eax,dword ptr ss:                     ; (ASCII "3256")
0050FAF8    E8 CF98EFFF   call SuperCHM.004093CC
0050FAFD    8D4D F4         lea ecx,dword ptr ss:
0050FB00    BA 04000000   mov edx,4                                        ; 赋值4                                                                        
0050FB05    E8 9A98EFFF   call SuperCHM.004093A4                           ; 结果变为十六进制,不足四位前面补“0”                        
0050FB0A    8D45 F8         lea eax,dword ptr ss:
0050FB0D    50            push eax
0050FB0E    B9 04000000   mov ecx,4
0050FB13    BA 05000000   mov edx,5
0050FB18    8B45 FC         mov eax,dword ptr ss:
0050FB1B    E8 34FAF2FF   call SuperCHM.0043F554                           ; 取机器码接下来四位Mid(机器码,5,4)
0050FB20    8B45 F8         mov eax,dword ptr ss:                     ; (ASCII "5056")
0050FB23    E8 A498EFFF   call SuperCHM.004093CC
0050FB28    05 3E080000   add eax,83E                                    ; 相加+83E
0050FB2D    8D4D F0         lea ecx,dword ptr ss:
0050FB30    BA 05000000   mov edx,5                                        ; 赋值5
0050FB35    E8 6A98EFFF   call SuperCHM.004093A4                           ; 结果变为十六进制,不足五位前面补“0”
0050FB3A    8D4D F8         lea ecx,dword ptr ss:
0050FB3D    BA 04000000   mov edx,4
0050FB42    8B45 FC         mov eax,dword ptr ss:
0050FB45    E8 86F9F2FF   call SuperCHM.0043F4D0                           ; 再取接下来的四位
0050FB4A    8B45 F8         mov eax,dword ptr ss:                     ; (ASCII "5253")
0050FB4D    E8 7A98EFFF   call SuperCHM.004093CC
0050FB52    83C0 6E         add eax,6E                                       ; 相加+6E
0050FB55    8D4D EC         lea ecx,dword ptr ss:
0050FB58    BA 04000000   mov edx,4                                        ; 赋值4
0050FB5D    E8 4298EFFF   call SuperCHM.004093A4                           ; 结果变为十六进制,不足四位前面补“0”
0050FB62    68 B8FB5000   push SuperCHM.0050FBB8
0050FB67    FF75 F4         push dword ptr ss:                        ; 结果一(ASCII "0CB8")
0050FB6A    68 C4FB5000   push SuperCHM.0050FBC4                           ; 固定字符ASCII "-Y"
0050FB6F    FF75 F0         push dword ptr ss:                     ; 结果二(ASCII "01BFE")
0050FB72    68 D0FB5000   push SuperCHM.0050FBD0
0050FB77    FF75 EC         push dword ptr ss:                     ; 结果三(ASCII "14F3")
0050FB7A    8BC3            mov eax,ebx
0050FB7C    BA 06000000   mov edx,6
0050FB81    E8 C64FEFFF   call SuperCHM.00404B4C                           ; 再连接成注册码形式(ASCII "T0CB8-Y01BFE-14F3")

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

算法总结:sn1 = (Mid(机器码, 1, 4))结果变为十六进制,不足四位前面补“0”
          sn2 = Hex(Val(Mid(机器码, 5, 4)) + 0x83E)结果变为十六进制,不足五位前面补“0”
          sn3 = Hex(Val(Mid(机器码, 9, 4)) + 0x6E)结果变为十六进制,不足四位前面补“0”
       注册码 = "T" & sn1 & "-Y" & sn2 & "-" & sn3

不知有没有错误,如有错误请楼下帮忙指出。下面是算法注册机

noTme 发表于 2006-2-23 21:47:19

兄弟如此高产,PFPF!

风球 发表于 2006-2-24 20:35:54

原帖由 noTme 于 2006-2-23 13:47 发表
兄弟如此高产,PFPF!

很久没见过兄弟了```哈```

我也只是前段时间有些少时间找几个简单的软件来练下手而已,见笑了
以后可能都没什么时间玩破解了

P.Y.G 发表于 2006-3-3 11:38:49

very good,

wan 发表于 2006-3-14 12:06:08

学习了```

木易草 发表于 2006-3-15 13:15:56

学习受用了

lhl8730 发表于 2006-3-20 23:33:11

分析得不错,谢谢。

[ 本帖最后由 lhl8730 于 2006-3-20 15:34 编辑 ]
页: [1]
查看完整版本: 再来个简单算法 -- SuperCHM 2006 V2.2