binbinbin 发表于 2006-11-27 21:53:46

阳光个人助理 1.30注册算法

【破文标题】阳光个人助理 1.30注册算法
【破文作者】XXNB
【作者邮箱】
【作者主页】http://free.ys168.com/?binbinbin7456
【破解工具】OD
【破解平台】xpsp2
【软件名称】阳光个人助理 1.30
【软件大小】2098KB
【原版下载】http://www.newhua.com/soft/47429.htm
【保护方式】名+码
【软件简介】阳光个人助理是一款实用性极强的个人电脑超级助理软件,集同类软件之所长,具有丰富而强大的功能:有工作辅助、日常查询、文件处理、网络管理、系统优化等,它采用数据库加密方式保存,可以多个用户使用,安全便捷,大大提高信息管理的效率。无论是查询功能还是信息的处理,阳光个人助理都将成为您最得力的助手。

软件共分五个部分:
工作辅助:定时提醒、工作日志、密码保管箱、通讯录;
日常查询:万年历、身份证查询、邮政编码查询、长途区号查询、手机归属地查询;
文件辅助:文件加密助手、文件分割助手、文件彻底删除助手;
网络辅助:常用网址管理、IE恢复助手、网络信使;
系统辅助:系统信息、内存整理、上机纪录清理、热键管理;

本软件具有以下特色:
功能强:集成了日常工作生活中最常用的信息管理功能;
人性化:各项功能精心打造,让您感觉周到体贴、用着舒心;
自动化:软件中的处理、计算自动化程度高,省心省力;
安全性:所有数据加密保存,个人资料使用安全、放心;
空间小:程序精干、硬盘占据空间小,适合下载使用;
扩充性:系统整体设计考虑全面,功能扩充的余地广阔;
易操作:流程简洁、操作简便、好学易用、驾驭自如;

【破解声明】向大侠们学习!!!只为学习!请尊重作者的劳动成功!
------------------------------------------------------------------------
【破解过程】

1、下断的办法很多,我使用的是bp RegQueryValueExA 读取注册表的函数下断,因为我的OD在字符串搜索的时候会死机,郁闷~。然后可以得到下面代码:

004F72D4/$55            push    ebp
004F72D5|.8BEC          mov   ebp, esp
004F72D7|.6A 00         push    0
004F72D9|.6A 00         push    0
004F72DB|.6A 00         push    0
004F72DD|.6A 00         push    0
004F72DF|.53            push    ebx
004F72E0|.56            push    esi
004F72E1|.57            push    edi
004F72E2|.8BF9          mov   edi, ecx
004F72E4|.8BDA          mov   ebx, edx
004F72E6|.8BF0          mov   esi, eax
004F72E8|.33C0          xor   eax, eax
004F72EA|.55            push    ebp
004F72EB|.68 8E734F00   push    004F738E
004F72F0|.64:FF30       push    dword ptr fs:
004F72F3|.64:8920       mov   dword ptr fs:, esp
004F72F6|.8D45 FC       lea   eax, dword ptr
004F72F9|.E8 62D1F0FF   call    00404460
004F72FE|.8D45 F8       lea   eax, dword ptr
004F7301|.E8 5AD1F0FF   call    00404460
004F7306|.C607 00       mov   byte ptr , 0
004F7309|.8D55 F8       lea   edx, dword ptr
004F730C|.8D45 FC       lea   eax, dword ptr
004F730F|.E8 8C88FAFF   call    0049FBA0                         ;读取假码
004F7314|.837D FC 00    cmp   dword ptr , 0             ;判断是否输入假码
004F7318|.74 59         je      short 004F7373
004F731A|.837D F8 00    cmp   dword ptr , 0             ;判断是否输入用户名
004F731E|.74 53         je      short 004F7373
004F7320|.8D55 F4       lea   edx, dword ptr
004F7323|.B8 A4734F00   mov   eax, 004F73A4                  ;固定字符串"SOFTAA"
004F7328|.E8 C364FAFF   call    0049D7F0
004F732D|.8B55 F4       mov   edx, dword ptr          ;取计算机硬盘序列号
004F7330|.8BC3          mov   eax, ebx
004F7332|.E8 7DD1F0FF   call    004044B4
004F7337|.8D45 F0       lea   eax, dword ptr
004F733A|.50            push    eax
004F733B|.8B03          mov   eax, dword ptr              ;硬盘序列号到eax
004F733D|.B1 61         mov   cl, 61                           ;常数
004F733F|.66:BA A508    mov   dx, 8A5                        ;常数
004F7343|.E8 346EFAFF   call    0049E17C
004F7348|.8B55 F0       mov   edx, dword ptr           ;机器码到edx
004F734B|.8BC3          mov   eax, ebx
004F734D|.E8 62D1F0FF   call    004044B4
004F7352|.8B45 FC       mov   eax, dword ptr          ;假码出现了。
004F7355|.50            push    eax                              ;假码入栈
004F7356|.57            push    edi
004F7357|.8BD3          mov   edx, ebx
004F7359|.8B4D F8       mov   ecx, dword ptr          ;用户名到ecx
004F735C|.8BC6          mov   eax, esi
004F735E|.E8 5D000000   call    004F73C0                         ;算法call,跟进《《《《《《《《《《《《《--------
004F7363|.84C0          test    al, al                           ;标志位
004F7365|.74 0C         je      short 004F7373                   ;关键跳
004F7367|.8BC3          mov   eax, ebx
004F7369|.BA B4734F00   mov   edx, 004F73B4                  ;ASCII "YesIKnow"
004F736E|.E8 41D1F0FF   call    004044B4
004F7373|>33C0          xor   eax, eax
004F7375|.5A            pop   edx
004F7376|.59            pop   ecx
004F7377|.59            pop   ecx
004F7378|.64:8910       mov   dword ptr fs:, edx
004F737B|.68 95734F00   push    004F7395
004F7380|>8D45 F0       lea   eax, dword ptr
004F7383|.BA 04000000   mov   edx, 4
004F7388|.E8 F7D0F0FF   call    00404484
004F738D\.C3            retn



+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

2、跟进004F735E|.E8 5D000000   call    004F73C0 这个算法call得到:


004F73C0/$55            push    ebp
004F73C1|.8BEC          mov   ebp, esp
004F73C3|.51            push    ecx
004F73C4|.B9 05000000   mov   ecx, 5
004F73C9|>6A 00         /push    0
004F73CB|.6A 00         |push    0
004F73CD|.49            |dec   ecx
004F73CE|.^ 75 F9         \jnz   short 004F73C9
004F73D0|.51            push    ecx
004F73D1|.874D FC       xchg    dword ptr , ecx
004F73D4|.53            push    ebx
004F73D5|.56            push    esi
004F73D6|.894D F8       mov   dword ptr , ecx
004F73D9|.8BF2          mov   esi, edx
004F73DB|.8945 FC       mov   dword ptr , eax
004F73DE|.8B45 F8       mov   eax, dword ptr
004F73E1|.E8 2AD5F0FF   call    00404910
004F73E6|.8B45 0C       mov   eax, dword ptr
004F73E9|.E8 22D5F0FF   call    00404910
004F73EE|.33C0          xor   eax, eax
004F73F0|.55            push    ebp
004F73F1|.68 A0764F00   push    004F76A0
004F73F6|.64:FF30       push    dword ptr fs:
004F73F9|.64:8920       mov   dword ptr fs:, esp
004F73FC|.33DB          xor   ebx, ebx
004F73FE|.8D55 F4       lea   edx, dword ptr
004F7401|.B8 BC764F00   mov   eax, 004F76BC                  ;(ASCII "SOFTAA")固定字符串。(好像没有用的)
004F7406|.E8 E563FAFF   call    0049D7F0
004F740B|.8D45 E0       lea   eax, dword ptr
004F740E|.50            push    eax
004F740F|.8B06          mov   eax, dword ptr              ;机器码
004F7411|.B1 78         mov   cl, 78                           ;常数
004F7413|.66:BA A508    mov   dx, 8A5                        ;常数
004F7417|.E8 606DFAFF   call    0049E17C
004F741C|.8B55 E0       mov   edx, dword ptr
004F741F|.8B45 F4       mov   eax, dword ptr
004F7422|.E8 45D4F0FF   call    0040486C
004F7427|.0F85 50020000 jnz   004F767D
004F742D|.8B45 0C       mov   eax, dword ptr          ;假码
004F7430|.E8 EBD2F0FF   call    00404720                         ;计算位数
004F7435|.8BF0          mov   esi, eax
004F7437|.8D45 EC       lea   eax, dword ptr
004F743A|.50            push    eax
004F743B|.8D45 DC       lea   eax, dword ptr
004F743E|.8B4D F8       mov   ecx, dword ptr
004F7441|.8B55 F4       mov   edx, dword ptr
004F7444|.E8 23D3F0FF   call    0040476C
004F7449|.8B4D DC       mov   ecx, dword ptr           ;硬盘序列号和用户名连接成一个字符串
004F744C|.8B45 FC       mov   eax, dword ptr
004F744F|.8B40 60       mov   eax, dword ptr
004F7452|.BA C8010000   mov   edx, 1C8                         ;常数。这个常数厉害了,贯穿整个算法
004F7457|.E8 FC88FDFF   call    004CFD58                         ;算法call,跟进《《《《《《《《《《《《《
004F745C|.8B45 EC       mov   eax, dword ptr           ;这个难道是真码了!!
004F745F|.8B55 0C       mov   edx, dword ptr          ;假码。看到气势都知道是真假比较了。收工
004F7462|.E8 05D4F0FF   call    0040486C                         ;经典比较函数
004F7467|.75 07         jnz   short 004F7470                   ;关键跳
004F7469|.B3 01         mov   bl, 1                            ;标志位
004F746B|.E9 0D020000   jmp   004F767D                         ;跳向光明....
004F7470|>8D45 E8       lea   eax, dword ptr
004F7473|.50            push    eax
004F7474|.8D45 D8       lea   eax, dword ptr
004F7477|.8B4D F8       mov   ecx, dword ptr
004F747A|.8B55 F4       mov   edx, dword ptr
004F747D|.E8 EAD2F0FF   call    0040476C
004F7482|.8B4D D8       mov   ecx, dword ptr           ;又是连接硬盘序列号和用户名字符串
004F7485|.8B45 FC       mov   eax, dword ptr
004F7488|.8B40 60       mov   eax, dword ptr
004F748B|.BA 2E000000   mov   edx, 2E                        ;常数2E。又是贯穿整个算法的常数,
004F7490|.E8 C388FDFF   call    004CFD58                         ;作者难道给两次机会我们。所以应该有两组注册码
004F7495|.8B45 E8       mov   eax, dword ptr           ;第二组真码出现了
004F7498|.8B55 0C       mov   edx, dword ptr          ;假码
004F749B|.E8 CCD3F0FF   call    0040486C                         ;比较
004F74A0|.75 07         jnz   short 004F74A9                   ;关键跳
004F74A2|.B3 01         mov   bl, 1                            ;注册标志位
004F74A4|.E9 D4010000   jmp   004F767D
004F74A9|>8B45 E8       mov   eax, dword ptr
004F74AC|.E8 6FD2F0FF   call    00404720
004F74B1|.3BF0          cmp   esi, eax
004F74B3|.7E 0A         jle   short 004F74BF
004F74B5|.8B45 E8       mov   eax, dword ptr
004F74B8|.E8 63D2F0FF   call    00404720
004F74BD|.8BF0          mov   esi, eax
004F74BF|>8BC6          mov   eax, esi
004F74C1|.83F8 01       cmp   eax, 1
004F74C4|.7C 21         jl      short 004F74E7
004F74C6|>84DB          /test    bl, bl
004F74C8|.74 10         |je      short 004F74DA
004F74CA|.8B55 0C       |mov   edx, dword ptr
004F74CD|.8A5402 FF   |mov   dl, byte ptr
004F74D1|.8B4D E8       |mov   ecx, dword ptr
004F74D4|.3A5401 FF   |cmp   dl, byte ptr
004F74D8|.74 04         |je      short 004F74DE
004F74DA|>33D2          |xor   edx, edx
004F74DC|.EB 02         |jmp   short 004F74E0
004F74DE|>B2 01         |mov   dl, 1
004F74E0|>8BDA          |mov   ebx, edx
004F74E2|.48            |dec   eax
004F74E3|.85C0          |test    eax, eax
004F74E5|.^ 75 DF         \jnz   short 004F74C6
004F74E7|>8D45 E4       lea   eax, dword ptr
004F74EA|.50            push    eax
004F74EB|.8D45 D4       lea   eax, dword ptr
004F74EE|.8B4D F8       mov   ecx, dword ptr
004F74F1|.8B55 F4       mov   edx, dword ptr
004F74F4|.E8 73D2F0FF   call    0040476C                         ;不会吧。给三次机会??
004F74F9|.8B4D D4       mov   ecx, dword ptr           ;又是硬盘序列号和用户名连接后的字符串
004F74FC|.8B45 FC       mov   eax, dword ptr
004F74FF|.8B40 60       mov   eax, dword ptr
004F7502|.BA 38000000   mov   edx, 38                        ;贯穿算法的常数:38H
004F7507|.E8 4C88FDFF   call    004CFD58                         ;计算第三组注册码
004F750C|.8B45 0C       mov   eax, dword ptr          ;假码
004F750F|.E8 0CD2F0FF   call    00404720                         ;计算位数
004F7514|.8BF0          mov   esi, eax
004F7516|.8B45 E4       mov   eax, dword ptr           ;第三组注册码
004F7519|.E8 02D2F0FF   call    00404720                         ;计算位数
004F751E|.3BF0          cmp   esi, eax                         ;假码和第三组注册码的比较
004F7520|.7E 0A         jle   short 004F752C
004F7522|.8B45 E4       mov   eax, dword ptr
004F7525|.E8 F6D1F0FF   call    00404720
004F752A|.8BF0          mov   esi, eax
004F752C|>8B45 E4       mov   eax, dword ptr
004F752F|.8B55 0C       mov   edx, dword ptr          ;假码和第三组注册码比较
004F7532|.E8 35D3F0FF   call    0040486C                         ;比较函数
004F7537|.75 07         jnz   short 004F7540
004F7539|.B3 01         mov   bl, 1                            ;注册标志位
004F753B|.E9 3D010000   jmp   004F767D
004F7540|>8BC6          mov   eax, esi
004F7542|.83F8 01       cmp   eax, 1
004F7545|.7C 21         jl      short 004F7568
004F7547|>84DB          /test    bl, bl
004F7549|.74 10         |je      short 004F755B
004F754B|.8B55 0C       |mov   edx, dword ptr
004F754E|.8A5402 FF   |mov   dl, byte ptr
004F7552|.8B4D E4       |mov   ecx, dword ptr
004F7555|.3A5401 FF   |cmp   dl, byte ptr
004F7559|.74 04         |je      short 004F755F
004F755B|>33D2          |xor   edx, edx
004F755D|.EB 02         |jmp   short 004F7561
004F755F|>B2 01         |mov   dl, 1
004F7561|>8BDA          |mov   ebx, edx
004F7563|.48            |dec   eax
004F7564|.85C0          |test    eax, eax
004F7566|.^ 75 DF         \jnz   short 004F7547
004F7568|>B3 01         mov   bl, 1
004F756A|.8D45 F0       lea   eax, dword ptr
004F756D|.50            push    eax
004F756E|.8D45 D0       lea   eax, dword ptr
004F7571|.8B4D F8       mov   ecx, dword ptr
004F7574|.8B55 F4       mov   edx, dword ptr
004F7577|.E8 F0D1F0FF   call    0040476C                         ;第四次运算。
004F757C|.8B4D D0       mov   ecx, dword ptr           ;用户名和硬盘序列号的连接字符串
004F757F|.8B45 FC       mov   eax, dword ptr
004F7582|.8B40 60       mov   eax, dword ptr
004F7585|.BA 59010000   mov   edx, 159                         ;常数
004F758A|.E8 C987FDFF   call    004CFD58                         ;堆栈里面看第四组注册码
004F758F|.8D45 EC       lea   eax, dword ptr
004F7592|.BA CC764F00   mov   edx, 004F76CC                  ;(ASCII "tH4gI8fsU0")固定字符串
004F7597|.E8 5CCFF0FF   call    004044F8
004F759C|.8B45 0C       mov   eax, dword ptr          ;假码
004F759F|.E8 7CD1F0FF   call    00404720                         ;计算位数
004F75A4|.8BF0          mov   esi, eax
004F75A6|.8B45 F0       mov   eax, dword ptr           ;第四组
004F75A9|.E8 72D1F0FF   call    00404720                         ;计算位数
004F75AE|.3BF0          cmp   esi, eax                         ;位数比较
004F75B0|.74 07         je      short 004F75B9
004F75B2|.33DB          xor   ebx, ebx
004F75B4|.E9 C4000000   jmp   004F767D                         ;终于在这里跳走了
004F75B9|>8BC6          mov   eax, esi
004F75BB|.83E8 04       sub   eax, 4
004F75BE|.83F8 08       cmp   eax, 8




3、跟进总共调用了4次的算法call,就是生成注册码的:004F7457|.E8 FC88FDFF   call    004CFD58可以得到下面代码:

004CFD58/$55            push    ebp
004CFD59|.8BEC          mov   ebp, esp
004CFD5B|.6A 00         push    0
004CFD5D|.6A 00         push    0
004CFD5F|.6A 00         push    0
004CFD61|.6A 00         push    0
004CFD63|.6A 00         push    0
004CFD65|.6A 00         push    0
004CFD67|.6A 00         push    0
004CFD69|.53            push    ebx
004CFD6A|.56            push    esi
004CFD6B|.894D F8       mov   dword ptr , ecx         ;连接后的字符串
004CFD6E|.8955 FC       mov   dword ptr , edx
004CFD71|.8B45 F8       mov   eax, dword ptr
004CFD74|.E8 974BF3FF   call    00404910
004CFD79|.33C0          xor   eax, eax
004CFD7B|.55            push    ebp
004CFD7C|.68 86FE4C00   push    004CFE86
004CFD81|.64:FF30       push    dword ptr fs:
004CFD84|.64:8920       mov   dword ptr fs:, esp
004CFD87|.8D45 F4       lea   eax, dword ptr
004CFD8A|.BA A0FE4C00   mov   edx, 004CFEA0                  ;ASCII "Error"
004CFD8F|.E8 6447F3FF   call    004044F8
004CFD94|.33DB          xor   ebx, ebx
004CFD96|.837D FC 00    cmp   dword ptr , 0             ;常数1C8
004CFD9A|.0F84 B3000000 je      004CFE53
004CFDA0|.837D F8 00    cmp   dword ptr , 0
004CFDA4|.0F84 A9000000 je      004CFE53
004CFDAA|.8B45 F8       mov   eax, dword ptr          ;连接后的字符串到eax
004CFDAD|.E8 6E49F3FF   call    00404720                         ;计算位数
004CFDB2|.8945 F0       mov   dword ptr , eax
004CFDB5|.8B45 F0       mov   eax, dword ptr
004CFDB8|.85C0          test    eax, eax
004CFDBA|.7E 13         jle   short 004CFDCF                   ;一看都知道要循环了
004CFDBC|.BA 01000000   mov   edx, 1                           ;计数器
004CFDC1|>8B4D F8       /mov   ecx, dword ptr
004CFDC4|.0FB64C11 FF   |movzx   ecx, byte ptr        ;逐个取那连接后的字符串
004CFDC9|.03D9          |add   ebx, ecx                        ;累加
004CFDCB|.42            |inc   edx
004CFDCC|.48            |dec   eax
004CFDCD|.^ 75 F2         \jnz   short 004CFDC1                  ;这个循环目的是Ascii码值累加
004CFDCF|>81FB 204E0000 cmp   ebx, 4E20                        ;累加后的结果和常数4E20比较
004CFDD5|.7E 0C         jle   short 004CFDE3                   ;小于等于就跳。相信很多人的都是小于的
004CFDD7|.8BC3          mov   eax, ebx
004CFDD9|.B9 204E0000   mov   ecx, 4E20
004CFDDE|.99            cdq
004CFDDF|.F7F9          idiv    ecx
004CFDE1|.8BDA          mov   ebx, edx
004CFDE3|>8B75 FC       mov   esi, dword ptr          ;常数1C8
004CFDE6|.0FAF75 F0   imul    esi, dword ptr           ;1C8乘以那长字符串的位数
004CFDEA|.6BC3 49       imul    eax, ebx, 49                     ;累加的结果*49H。结果放在eax
004CFDED|.03F0          add   esi, eax                         ;相加
004CFDEF|.8D55 EC       lea   edx, dword ptr
004CFDF2|.8BC6          mov   eax, esi                         ;上面那堆运算的结果放到eax
004CFDF4|.E8 4B98F3FF   call    00409644                         ;转成10进制字符串函数。
004CFDF9|.8B55 EC       mov   edx, dword ptr           ;到这里位置算得的10进制字符串,就是真码的第一部分
004CFDFC|.8D45 F4       lea   eax, dword ptr
004CFDFF|.B9 B0FE4C00   mov   ecx, 004CFEB0
004CFE04|.E8 6349F3FF   call    0040476C
004CFE09|.8B45 FC       mov   eax, dword ptr          ;又是常数1C8
004CFE0C|.F7EB          imul    ebx                              ;1C8乘以累加结果
004CFE0E|.6BF0 15       imul    esi, eax, 15                     ;再乘以15H。结果放到esi
004CFE11|.FF75 F4       push    dword ptr                 ;第一部分入栈
004CFE14|.8D55 E8       lea   edx, dword ptr
004CFE17|.8BC6          mov   eax, esi
004CFE19|.E8 2698F3FF   call    00409644                         ;转成10进制字符串函数。
004CFE1E|.FF75 E8       push    dword ptr                ;真码的第二部分出现了,记为BB
004CFE21|.68 B0FE4C00   push    004CFEB0
004CFE26|.8D45 F4       lea   eax, dword ptr
004CFE29|.BA 03000000   mov   edx, 3                           ;
004CFE2E|.E8 AD49F3FF   call    004047E0
004CFE33|.8B45 F0       mov   eax, dword ptr
004CFE36|.F7EB          imul    ebx                              ;长字符串位数乘以累加结果
004CFE38|.6BF0 73       imul    esi, eax, 73                     ;再乘以73H
004CFE3B|.0375 FC       add   esi, dword ptr          ;结果又加上常数1C8(“456”)
004CFE3E|.8D55 E4       lea   edx, dword ptr
004CFE41|.8BC6          mov   eax, esi
004CFE43|.E8 FC97F3FF   call    00409644                         ;转成10进制字符串函数。
004CFE48|.8B55 E4       mov   edx, dword ptr           ;真码的第三部分出现了
004CFE4B|.8D45 F4       lea   eax, dword ptr
004CFE4E|.E8 D548F3FF   call    00404728                         ;连接字符串
004CFE53|>8B45 08       mov   eax, dword ptr
004CFE56|.8B55 F4       mov   edx, dword ptr          ;前面的三个部分连接后。真码出现了。《《《《
004CFE59|.E8 5646F3FF   call    004044B4
004CFE5E|.33C0          xor   eax, eax
004CFE60|.5A            pop   edx
004CFE61|.59            pop   ecx
004CFE62|.59            pop   ecx
004CFE63|.64:8910       mov   dword ptr fs:, edx
004CFE66|.68 8DFE4C00   push    004CFE8D
004CFE6B|>8D45 E4       lea   eax, dword ptr
004CFE6E|.BA 03000000   mov   edx, 3
004CFE73|.E8 0C46F3FF   call    00404484
004CFE78|.8D45 F4       lea   eax, dword ptr
004CFE7B|.BA 02000000   mov   edx, 2
004CFE80|.E8 FF45F3FF   call    00404484
004CFE85\.C3            retn







.版本 2

.程序集 窗口程序集1

.子程序 _按钮1_被单击
.局部变量 name, 文本型
.局部变量 jiqima, 文本型
.局部变量 len, 整数型
.局部变量 eax, 整数型
.局部变量 i, 整数型
.局部变量 stringchang, 文本型
.局部变量 sum, 整数型
.局部变量 code1, 整数型
.局部变量 a, 整数型
.局部变量 sn1, 文本型
.局部变量 code2, 整数型
.局部变量 sn2, 文本型
.局部变量 code3, 整数型
.局部变量 sn3, 文本型

name = 编辑框1.内容
jiqima = 编辑框2.内容
stringchang = name + jiqima
len = 取文本长度 (stringchang)
.计次循环首 (len, i)
    eax = 取代码 (stringchang, i)
    sum = sum + eax
.计次循环尾 ()

code1 = len × 345
a = sum × 73
code1 = code1 + a
sn1 = 到文本 (code1)

code2 = sum × 345
code2 = code2 × 21
sn2 = 到文本 (code2)

code3 = len × sum
code3 = code3 × 115 + 345
sn3 = 到文本 (code3)

编辑框3.内容 = sn1 + “-” + sn2 + “-” + sn3




------------------------------------------------------------------------
【破解总结】


1、作者在这个软件总共计算了4组类似注册码的字符串,但是只有最后一组是能注册成功的。不知道为什么。难道有暗桩。而且。和机器码完全没有关系的。

2、每次(4次)算法由一个常数贯穿整个算法。它们分别是“456”“46”“56”“345”。就是“345”这个常数的计算成为最终真码

算法分三个部分,如:90459-8498385-1888875。比较简单。

注册信息放在
HKEY_LOCAL_MACHINE\SOFTWARE\lsjsoft\spa\SerialNo

wzwgp 发表于 2006-11-28 09:24:27

兄弟高产啊!
学习!

binbinbin 发表于 2006-11-28 16:44:01

原帖由 wzwgp 于 2006-11-28 09:24 发表
兄弟高产啊!
学习!


你也一起来啊。不然怎么能让论坛热起来。

luoyongru 发表于 2006-11-29 03:15:45

支持一下!

internetzwm 发表于 2006-11-30 13:22:52

看起来有点难度哦.

luoyongru 发表于 2006-11-30 14:00:47

强烈支持。。。。。。。。。。。

luoyongru 发表于 2006-11-30 14:02:30

算法注册机速成4

luoyongru 发表于 2006-11-30 14:04:21

学打字练打字

wan 发表于 2006-11-30 19:17:27

支持楼主!

dryzh 发表于 2006-12-10 16:22:50

真是一牛人!
这几天全是破文
学习!!学习!
页: [1] 2 3
查看完整版本: 阳光个人助理 1.30注册算法