- UID
- 65892
注册时间2010-3-1
阅读权限50
最后登录1970-1-1
感悟天道
TA的每日心情 | 慵懒 2024-12-4 10:07 |
---|
签到天数: 444 天 [LV.9]以坛为家II
|
软件下载: 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:[EAX]
- 004F4840 |. 64:8920 MOV DWORD PTR FS:[EAX], ESP
- 004F4843 |. 33DB XOR EBX, EBX
- 004F4845 |. 8D45 FC LEA EAX, DWORD PTR SS:[EBP-4]
- 004F4848 |. 8BD6 MOV EDX, ESI
- 004F484A |. E8 F901F1FF CALL SCleaner.00404A48
- 004F484F |. 8B45 FC MOV EAX, DWORD PTR SS:[EBP-4]
- 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:[EBP-4]
- 004F485F |. 33C9 XOR ECX, ECX
- 004F4861 |. 8A08 MOV CL, BYTE PTR DS:[EAX]
- 004F4863 |. 8BC1 MOV EAX, ECX
- 004F4865 |. 8B55 FC MOV EDX, DWORD PTR SS:[EBP-4]
- 004F4868 |. 0FB672 02 MOVZX ESI, BYTE PTR DS:[EDX+2]
- 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:[EBP-4]
- 004F487B |. 0FB652 01 MOVZX EDX, BYTE PTR DS:[EDX+1]
- 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:[EBP-4]
- 004F4893 |. 0FB640 07 MOVZX EAX, BYTE PTR DS:[EAX+7] ; 第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:[EBP-4]
- 004F48A1 |. 8078 04 35 CMP BYTE PTR DS:[EAX+4], 35 ; 第5位要大于 0x35
- 004F48A5 |. 76 0B JBE SHORT SCleaner.004F48B2
- 004F48A7 |. 8B45 FC MOV EAX, DWORD PTR SS:[EBP-4]
- 004F48AA |. 8078 05 32 CMP BYTE PTR DS:[EAX+5], 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:[EAX], EDX
- 004F48BA |. 68 CF484F00 PUSH SCleaner.004F48CF
- 004F48BF |> 8D45 FC LEA EAX, DWORD PTR SS:[EBP-4]
- 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
|
评分
-
查看全部评分
|