ugvnui 发表于 2017-4-7 13:40

xxx管理软件V2.51算法分析+吾爱破解注册机生成器编写 算法注册机

本帖最后由 H夜 于 2019-6-6 18:21 编辑

软件下载地址:http://www.crsky.com/soft/32113.html
使用工具:OD,吾爱破解注册机生成器V1.01D


首先OD载入程序搜索字符串,搜索“注册成功”字样
定位到:


006A81C9   .E8 466DDAFF   call    0044EF14
006A81CE   .8BC3          mov   eax,ebx
006A81D0   .E8 F7BAD5FF   call    00403CCC
006A81D5   .6A 40         push    0x40
006A81D7   .68 B0826A00   push    006A82B0                         ;软件注册
006A81DC   .68 BC826A00   push    006A82BC                         ;注册成功,本程序所有功能限制下次启动时将被自动解除,欢迎您成为我们正式版本用户!
006A81E1   .8B45 FC       mov   eax,dword ptr ss:



向上回朔 找到关键CALL (当然为什么选择这里作为关键呢,只要在这个CALL下段,往下跟就知道了,会出现真码的,也就是明码比较的判断)

006A812F   .64:8920       mov   dword ptr fs:,esp
006A8132   .8B45 FC       mov   eax,dword ptr ss:
006A8135   .E8 AE020000   call    006A83E8                         ;关键算法
006A813A   .84C0          test    al,al
006A813C   .0F84 DB000000 je      006A821D
006A8142   .33C0          xor   eax,eax
006A8144   .55            push    ebp



进入关键CALL


006A83E8/$55            push    ebp
006A83E9|.8BEC          mov   ebp,esp
006A83EB|.33C9          xor   ecx,ecx
006A83ED|.51            push    ecx
006A83EE|.51            push    ecx
006A83EF|.51            push    ecx
006A83F0|.51            push    ecx
006A83F1|.51            push    ecx
006A83F2|.53            push    ebx
006A83F3|.56            push    esi
006A83F4|.8BF0          mov   esi,eax
006A83F6|.33C0          xor   eax,eax
006A83F8|.55            push    ebp
006A83F9|.68 A3846A00   push    006A84A3
006A83FE|.64:FF30       push    dword ptr fs:
006A8401|.64:8920       mov   dword ptr fs:,esp
006A8404|.8D55 FC       lea   edx,
006A8407|.8B86 14030000 mov   eax,dword ptr ds:
006A840D|.E8 C66ADEFF   call    0048EED8                         ;取假码
006A8412|.8B45 FC       mov   eax,
006A8415|.50            push    eax
006A8416|.8D55 F4       lea   edx,
006A8419|.8B86 10030000 mov   eax,dword ptr ds:
006A841F|.E8 B46ADEFF   call    0048EED8                         ;取机器码
006A8424|.8B55 F4       mov   edx,
006A8427|.8D4D F8       lea   ecx,
006A842A|.8BC6          mov   eax,esi
006A842C|.E8 EFFAFFFF   call    006A7F20                         ;取真实注册码
006A8431|.8B55 F8       mov   edx,




006A842C|.E8 EFFAFFFF   call    006A7F20                         ;这里也就是关键算法CALL了。

这里将机器码转换为16进制ASCII码,保存在EAX中

006A7F5C|.E8 CBCED5FF   call    00404E2C
006A7F61|.8BF0          mov   esi,eax                        ;将长度付给ESI
006A7F63|.85F6          test    esi,esi
006A7F65|.7E 26         jle   short 006A7F8D
006A7F67|.BB 01000000   mov   ebx,0x1
006A7F6C|>8D4D EC       /lea   ecx,
006A7F6F|.8B45 FC       |mov   eax,
006A7F72|.0FB64418 FF   |movzx   eax,byte ptr ds:
006A7F77|.33D2          |xor   edx,edx
006A7F79|.E8 AA20D6FF   |call    0040A028                        ;取ascii码
006A7F7E|.8B55 EC       |mov   edx,                   ;将结果放到EDX中
006A7F81|.8D45 F8       |lea   eax,
006A7F84|.E8 ABCED5FF   |call    00404E34                        ;拼接转换后的ascii码
006A7F89|.43            |inc   ebx                           ;ebx加1
006A7F8A|.4E            |dec   esi                           ;esi减1
006A7F8B|.^ 75 DF         \jnz   short 006A7F6C
006A7F8D|>8B45 F8       mov   eax,                  ;将机器码转换结果放入eax中
006A7F90|.E8 97CED5FF   call    00404E2C
006A7F95|.8BF0          mov   esi,eax



这里将转换后的EAX中的ASCII码倒序


006A7F97|.85F6          test    esi,esi
006A7F99|.7E 2C         jle   short 006A7FC7
006A7F9B|.BB 01000000   mov   ebx,0x1
006A7FA0|>8B45 F8       /mov   eax,
006A7FA3|.E8 84CED5FF   |call    00404E2C
006A7FA8|.2BC3          |sub   eax,ebx
006A7FAA|.8B55 F8       |mov   edx,
006A7FAD|.8A1402      |mov   dl,byte ptr ds:
006A7FB0|.8D45 E8       |lea   eax,
006A7FB3|.E8 8CCDD5FF   |call    00404D44
006A7FB8|.8B55 E8       |mov   edx,
006A7FBB|.8D45 F4       |lea   eax,
006A7FBE|.E8 71CED5FF   |call    00404E34
006A7FC3|.43            |inc   ebx
006A7FC4|.4E            |dec   esi
006A7FC5|.^ 75 D9         \jnz   short 006A7FA0
006A7FC7|>8D45 F8       lea   eax,                  ;将机器码转换后的ascii码倒序
006A7FCA|.50            push    eax
006A7FCB|.B9 04000000   mov   ecx,0x4


006A7FEB|.8B45 F4       mov   eax,
006A7FEE|.E8 99D0D5FF   call    0040508C                         ;取注册码前四位
006A7FF3|.8B45 F8       mov   eax,


006A802F|> \8B45 F4       mov   eax,                  ;取注册码前五-八位
006A8032|.E8 F5CDD5FF   call    00404E2C
006A8037|.83F8 04       cmp   eax,0x4


将固定字符Salemem45erpe放入EDX中,并取出前四位与第五位至第九位


006A806B|> \8D45 F0       lea   eax,
006A806E|.BA F8806A00   mov   edx,006A80F8                     ;Salemem45erpe
006A8073|.E8 7CCBD5FF   call    00404BF4
006A8078|.8D45 DC       lea   eax,
006A807B|.50            push    eax
006A807C|.B9 04000000   mov   ecx,0x4
006A8081|.BA 01000000   mov   edx,0x1
006A8086|.8B45 F0       mov   eax,
006A8089|.E8 FECFD5FF   call    0040508C
006A808E|.FF75 DC       push                            ;取出字符串的前四位
006A8091|.68 10816A00   push    006A8110                         ;-
006A8096|.FF75 F8       push   
006A8099|.8D45 D8       lea   eax,
006A809C|.50            push    eax
006A809D|.B9 05000000   mov   ecx,0x5
006A80A2|.BA 05000000   mov   edx,0x5
006A80A7|.8B45 F0       mov   eax,
006A80AA|.E8 DDCFD5FF   call    0040508C
006A80AF|.FF75 D8       push                         ;取出字符串的4-9位
006A80B2|.68 10816A00   push    006A8110                         ;-
006A80B7|.FF75 F4       push   


最后将字符串拼接

总结:
取出机器码:12345678901234567891
将机器码转换为16进制ASCII码:3132333435363738393031323334353637383931
将转换后的结果倒序:1393837363534333231303938373635343332313
取出前四位:1393
取出前五至八位:8373
取出固定字符串前四位:Sale
取出固定字符串前五至九位:mem45
拼接结果:Sale-1393mem45-8373


至此注册码算法结束。


附上吾爱破解专用注册机编写代码:


Function GetMC(X)
MC=X
End Function

Function GetSN()
      dim a,b,c,d,e,f,g,i
                c = "Salemem45erpe"
                for i=1 to len(mc)
                   b=mid(mc,i,1)
                   a=a&cstr(hex(asc(b)))
                next
                a=strreverse(a)
                d=mid(a,1,4)
                e=mid(a,5,4)
                f=mid(c,1,4)
                g=mid(c,5,5)
      GetSN = f&"-"&d&g&"-"&e
End Function

上张图:


如果帮到你了,请加点热心值哦。。谢谢啦
该注册机仅对部分算法进行分析,实际上还是不建议使用的有暗装。



Hmily 发表于 2017-4-12 10:23

虽然不是很复杂,但分析很完整,还给出注册机的编写方式,加精鼓励,期待更多分享。

akinet 发表于 2017-4-7 13:55

沙发。。谢谢分享!~~

坏小子 发表于 2017-4-7 13:55

谢谢分享学习了

蓝蓝深海 发表于 2017-4-7 14:33

感谢分享,像这样的注册机 不知道咋用呀

a476376832 发表于 2017-4-7 14:52

{:1_918:}好东西,谢谢楼主发布。

seing520 发表于 2017-4-7 14:59

精彩的分析,学习了。

hycc12 发表于 2017-4-7 15:21

分析很精彩。

创始人123 发表于 2017-4-7 15:23

谢谢表哥分享,学习收藏!!

13145313438 发表于 2017-4-7 16:29


谢谢提供这么好的工具

m0216 发表于 2017-4-7 16:32

谢谢楼主分享
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: xxx管理软件V2.51算法分析+吾爱破解注册机生成器编写 算法注册机