sdnyzjzx 发表于 2014-10-5 12:24:40

Eusing Free Registry Cleaner 算法分析

软件下载: http://www.eusing.com/Download.htm

注册部分代码分析
004F482C/$55            PUSH    EBP                              ;验证注册码
004F482D|.8BEC          MOV   EBP, ESP
004F482F|.6A 00         PUSH    0
004F4831|.53            PUSH    EBX
004F4832|.56            PUSH    ESI
004F4833|.8BF0          MOV   ESI, EAX
004F4835|.33C0          XOR   EAX, EAX
004F4837|.55            PUSH    EBP
004F4838|.68 C8484F00   PUSH    SCleaner.004F48C8
004F483D|.64:FF30       PUSH    DWORD PTR FS:
004F4840|.64:8920       MOV   DWORD PTR FS:, ESP
004F4843|.33DB          XOR   EBX, EBX
004F4845|.8D45 FC       LEA   EAX, DWORD PTR SS:
004F4848|.8BD6          MOV   EDX, ESI
004F484A|.E8 F901F1FF   CALL    SCleaner.00404A48
004F484F|.8B45 FC       MOV   EAX, DWORD PTR SS:
004F4852|.E8 1904F1FF   CALL    SCleaner.00404C70
004F4857|.83F8 0A       CMP   EAX, 0A                        ;判断注册码长度是否为 0xA
004F485A|.75 56         JNZ   SHORT SCleaner.004F48B2
004F485C|.8B45 FC       MOV   EAX, DWORD PTR SS:
004F485F|.33C9          XOR   ECX, ECX
004F4861|.8A08          MOV   CL, BYTE PTR DS:
004F4863|.8BC1          MOV   EAX, ECX
004F4865|.8B55 FC       MOV   EDX, DWORD PTR SS:
004F4868|.0FB672 02   MOVZX   ESI, BYTE PTR DS:
004F486C|.03C6          ADD   EAX, ESI                         ;第1位+第2位
004F486E|.83E8 60       SUB   EAX, 60
004F4871|.83F8 08       CMP   EAX, 8                           ;(第1位+第2位-0x60)要大于8
004F4874|.7E 3C         JLE   SHORT SCleaner.004F48B2
004F4876|.8BC1          MOV   EAX, ECX
004F4878|.8B55 FC       MOV   EDX, DWORD PTR SS:
004F487B|.0FB652 01   MOVZX   EDX, BYTE PTR DS:
004F487F|.03C2          ADD   EAX, EDX                         ;第1位+第2位
004F4881|.03C6          ADD   EAX, ESI                         ;第1位+第2位+第3位
004F4883|.2D 90000000   SUB   EAX, 90                        ;前3位 ascII 和 - 90
004F4888|.B9 0A000000   MOV   ECX, 0A
004F488D|.99            CDQ
004F488E|.F7F9          IDIV    ECX
004F4890|.8B45 FC       MOV   EAX, DWORD PTR SS:
004F4893|.0FB640 07   MOVZX   EAX, BYTE PTR DS:         ;第8位
004F4897|.83E8 30       SUB   EAX, 30
004F489A|.3BD0          CMP   EDX, EAX                         ;(前3位 ascII 和 - 90 )%0xA =第8位
004F489C|.75 14         JNZ   SHORT SCleaner.004F48B2
004F489E|.8B45 FC       MOV   EAX, DWORD PTR SS:
004F48A1|.8078 04 35    CMP   BYTE PTR DS:, 35          ;第5位要大于 0x35
004F48A5|.76 0B         JBE   SHORT SCleaner.004F48B2
004F48A7|.8B45 FC       MOV   EAX, DWORD PTR SS:
004F48AA|.8078 05 32    CMP   BYTE PTR DS:, 32          ;第6位要不大于2
004F48AE|.77 02         JA      SHORT SCleaner.004F48B2
004F48B0|.B3 01         MOV   BL, 1
004F48B2|>33C0          XOR   EAX, EAX
004F48B4|.5A            POP   EDX
004F48B5|.59            POP   ECX
004F48B6|.59            POP   ECX
004F48B7|.64:8910       MOV   DWORD PTR FS:, EDX
004F48BA|.68 CF484F00   PUSH    SCleaner.004F48CF
004F48BF|>8D45 FC       LEA   EAX, DWORD PTR SS:
004F48C2|.E8 E900F1FF   CALL    SCleaner.004049B0
004F48C7\.C3            RETN
004F48C8   .^ E9 43FAF0FF   JMP   SCleaner.00404310
004F48CD   .^ EB F0         JMP   SHORT SCleaner.004F48BF
004F48CF   .8BC3          MOV   EAX, EBX
004F48D1   .5E            POP   ESI
004F48D2   .5B            POP   EBX
004F48D3   .59            POP   ECX
004F48D4   .5D            POP   EBP
004F48D5   .C3            RETN
算法小结:
1.(前2位 ascii 和-0x60) 大于8
2.(前3位 ascII 和 - 0x90 )除以0xA的余数与第8位相等
3.第5位要大于 0x35
4.第6位要小于等于 0x32

一组测试注册码: 7938612945

pentium450 发表于 2014-10-5 12:44:27

给力!支持兄弟!

wkxq 发表于 2014-10-5 12:50:26

用E怎么写注册机?

阳光宅男 发表于 2014-10-5 18:19:41

赞一个了,感谢分享了

awow 发表于 2014-10-7 00:06:04

这个是外国软件来的???

开心啦 发表于 2014-10-11 12:09:06

赞一个了,必须支持啦

a2213572 发表于 2014-10-12 07:13:48

謝謝您的教學以及註冊碼!
页: [1]
查看完整版本: Eusing Free Registry Cleaner 算法分析