好友
阅读权限40
听众
最后登录1970-1-1
|
本帖最后由 zjh16529 于 2019-6-6 21:49 编辑
感谢www.52pojie.cn,本文主要目的是学习使用吾爱算法注册机生成器,让菜鸟也可以写注册机,{:1_902:}
工具及使用视频在此:
吾爱破解注册机生成器V1.01 www.52pojie.cn/thread-159470-1-1.html
目标程序:PC AutoShutdown 5.9.0.0
注册文件保存位置:
C:\Documents and Settings\All Users\Application Data\PC Auto Shutdown\AutoShutdown.ini
Username=1
code=LdfPAS&23FC82
注册码分段验证
OD载入目标程序,找到注册按钮事件处,下断,输入用户名和假码,断在下面的位置
[Asm] 纯文本查看 复制代码 004AC298 . 55 PUSH EBP ; 注册
004AC299 . 8BEC MOV EBP, ESP
004AC29B . B9 10000000 MOV ECX, 0x10
004AC2A0 > 6A 00 PUSH 0x0
004AC2A2 . 6A 00 PUSH 0x0
下面是MD5了一个注册码,与一个内置的MD5比较(不知知道是不是通用注册码)
[Asm] 纯文本查看 复制代码 004AC358 . E8 BF7DFFFF CALL 004A411C ; AutoShut.004A411C
004AC35D . 8B45 C4 MOV EAX, DWORD PTR SS:[EBP-0x3C] ; 假码md5--->eax
004AC360 . BA A0C84A00 MOV EDX, 0x4AC8A0 ; FAB282623843E2327403D39E252AE27B
004AC365 . E8 AA86F5FF CALL 00404A14 ; AutoShut.00404A14
004AC36A . 0F85 BE010000 JNZ 004AC52E ; AutoShut.004AC52E
如果CALL往里面走就会看到MD5的计算过程
[Asm] 纯文本查看 复制代码 004A3600 . 65 73 74 20 2>ASCII "est (c) 97-98 F."
004A3610 . 20 50 69 65 7>ASCII " Piette V1.02 ",0
004A361F 00 DB 00
004A3620 /$ 53 PUSH EBX
004A3621 |. 8BD8 MOV EBX, EAX
004A3623 |. 8BC3 MOV EAX, EBX
004A3625 |. 33C9 XOR ECX, ECX
004A3627 |. BA 58000000 MOV EDX, 0x58
004A362C |. E8 87FAF5FF CALL 004030B8 ; AutoShut.004030B8
004A3631 |. C703 01234567 MOV DWORD PTR DS:[EBX], 0x67452301 //MD5标志性数字
004A3637 |. C743 04 89ABC>MOV DWORD PTR DS:[EBX+0x4], 0xEFCDAB89
004A363E |. C743 08 FEDCB>MOV DWORD PTR DS:[EBX+0x8], 0x98BADCFE
004A3645 |. C743 0C 76543>MOV DWORD PTR DS:[EBX+0xC], 0x10325476
004A364C |. 5B POP E
004A35F0 . 20 4D 44 35 2>ASCII " MD5 Message-Dig"
BX
004A4070 /$ 55 PUSH EBP //这是计算过程
注册码是分段验证的
第一段为固定字符LdfPAS&
[Asm] 纯文本查看 复制代码 004AC531 . 50 PUSH EAX ; 取字符串的中指定字符的函数
004AC532 . B9 07000000 MOV ECX, 0x7 ; 取的长度
004AC537 . BA 01000000 MOV EDX, 0x1 ; 第一位开始
004AC53C . 8B45 F4 MOV EAX, DWORD PTR SS:[EBP-0xC]
004AC53F . E8 E485F5FF CALL 00404B28 ; AutoShut.00404B28
[Asm] 纯文本查看 复制代码
004AC54F . 8B45 AC MOV EAX, DWORD PTR SS:[EBP-0x54] ; 前7位的验证
004AC552 . BA E0C94A00 MOV EDX, 0x4AC9E0 ; MD5(LdfPAS&)=749FE87A625A53C7EA205BD929931D57
004AC557 . E8 B884F5FF CALL 00404A14 ; AutoShut.00404A14
004AC55C . 0F85 D7020000 JNZ 004AC839 ; AutoShut.004AC839
第8、9位的验证
[Asm] 纯文本查看 复制代码 004AC571 . B9 02000000 MOV ECX, 0x2 ; 取字符的长度
004AC576 . BA 08000000 MOV EDX, 0x8 ; 第8位开始
004AC57B . 8B45 F4 MOV EAX, DWORD PTR SS:[EBP-0xC]
004AC57E . E8 A585F5FF CALL 00404B28 ; AutoShut.00404B28
004AC583 . 8B45 A8 MOV EAX, DWORD PTR SS:[EBP-0x58]
004AC586 . 50 PUSH EAX
004AC587 . 8D45 A4 LEA EAX, DWORD PTR SS:[EBP-0x5C]
004AC58A . 50 PUSH EAX
004AC58B . B9 02000000 MOV ECX, 0x2 ; 取用户名MD5后的字符串中第D位开始的两个字符
004AC590 . BA 0D000000 MOV EDX, 0xD
004AC595 . 8B45 F0 MOV EAX, DWORD PTR SS:[EBP-0x10]
004AC598 . E8 8B85F5FF CALL 00404B28 ; AutoShut.00404B28
004AC59D . 8B55 A4 MOV EDX, DWORD PTR SS:[EBP-0x5C]
004AC5A0 . 58 POP EAX
004AC5A1 . E8 6E84F5FF CALL 00404A14 ; 验证
004AC5A6 . 0F85 8D020000 JNZ 004AC839 ; AutoShut.004AC839
第10、11、12位的验证
[Asm] 纯文本查看 复制代码 004AC571 . B9 02000000 MOV ECX, 0x2 ; 取字符的长度
004AC576 . BA 08000000 MOV EDX, 0x8 ; 第8位开始
004AC57B . 8B45 F4 MOV EAX, DWORD PTR SS:[EBP-0xC]
004AC57E . E8 A585F5FF CALL 00404B28 ; AutoShut.00404B28
004AC583 . 8B45 A8 MOV EAX, DWORD PTR SS:[EBP-0x58]
004AC586 . 50 PUSH EAX
004AC587 . 8D45 A4 LEA EAX, DWORD PTR SS:[EBP-0x5C]
004AC58A . 50 PUSH EAX
004AC58B . B9 02000000 MOV ECX, 0x2 ; 取用户名MD5后的字符串中第D位开始的两个字符
004AC590 . BA 0D000000 MOV EDX, 0xD
004AC595 . 8B45 F0 MOV EAX, DWORD PTR SS:[EBP-0x10]
004AC598 . E8 8B85F5FF CALL 00404B28 ; AutoShut.00404B28
004AC59D . 8B55 A4 MOV EDX, DWORD PTR SS:[EBP-0x5C]
004AC5A0 . 58 POP EAX
004AC5A1 . E8 6E84F5FF CALL 00404A14 ; 验证
004AC5A6 . 0F85 8D020000 JNZ 004AC839 ; AutoShut.004AC839
第10、11、12位的验证
004AC5B0 . B9 0B000000 MOV ECX, 0xB ; 取字符长度
004AC5B5 . BA 11000000 MOV EDX, 0x11 ; 开始位置
004AC5BA . 8B45 F0 MOV EAX, DWORD PTR SS:[EBP-0x10]
004AC5BD . E8 6685F5FF CALL 00404B28 ; AutoShut.00404B28
004AC5C2 . 8B45 9C MOV EAX, DWORD PTR SS:[EBP-0x64]
004AC5C5 . 8D55 A0 LEA EDX, DWORD PTR SS:[EBP-0x60]
004AC5C8 . E8 4F7BFFFF CALL 004A411C ; 对取得的字符MD5一下
004AC5CD . 8B55 A0 MOV EDX, DWORD PTR SS:[EBP-0x60]
004AC5D0 . 8D45 F0 LEA EAX, DWORD PTR SS:[EBP-0x10]
004AC5D3 . E8 C880F5FF CALL 004046A0 ; AutoShut.004046A0
004AC5D8 . 8D45 98 LEA EAX, DWORD PTR SS:[EBP-0x68]
004AC5DB . 50 PUSH EAX
004AC5DC . B9 03000000 MOV ECX, 0x3 ; 长度
004AC5E1 . BA 0A000000 MOV EDX, 0xA ; 假码中开始位置
004AC5E6 . 8B45 F4 MOV EAX, DWORD PTR SS:[EBP-0xC]
004AC5E9 . E8 3A85F5FF CALL 00404B28 ; AutoShut.00404B28
004AC5EE . 8B45 98 MOV EAX, DWORD PTR SS:[EBP-0x68]
004AC5F1 . 50 PUSH EAX
004AC5F2 . 8D45 94 LEA EAX, DWORD PTR SS:[EBP-0x6C]
004AC5F5 . 50 PUSH EAX
004AC5F6 . B9 03000000 MOV ECX, 0x3
004AC5FB . BA 14000000 MOV EDX, 0x14
004AC600 . 8B45 F0 MOV EAX, DWORD PTR SS:[EBP-0x10]
004AC603 . E8 2085F5FF CALL 00404B28 ; AutoShut.00404B28
004AC608 . 8B55 94 MOV EDX, DWORD PTR SS:[EBP-0x6C]
004AC60B . 58 POP EAX
004AC60C . E8 0384F5FF CALL 00404A14 ; 验证
004AC611 . 0F85 22020000 JNZ 004AC839
算法总结如下:
假定函数strA(B,C)---->从字符串strA中取字符 开始位置B 大小为C
(涉及到的字母全为大写)
1.用户名的MD5=strA
2.strA(0x11,0xB)=strB
3.MD5(strB)=strC
注册码="LdfPAS&"+strA(0xD,2)+strC(0x14,3)
|
-
-
52Keygen.rar
306.9 KB, 阅读权限: 10, 下载次数: 59, 下载积分: 吾爱币 -1 CB
出售的目的是让大家自己动手玩,远离伸手党
免费评分
-
查看全部评分
|