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
给力!支持兄弟! 用E怎么写注册机? 赞一个了,感谢分享了 这个是外国软件来的??? 赞一个了,必须支持啦 謝謝您的教學以及註冊碼!
页:
[1]