【破解作者】 小子贼野
【作者主页】 hxxp://mayday.unpack.cn/
【使用工具】 OD
【破解平台】 Win9x/NT/2000/XP
【软件名称】 Windows 密码管理大师 V2.2 Build
【下载地址】 http://www.skycn.com/soft/22167.html
【软件简介】 你是否经常出入各大论坛,并且有各种不同的用户名和密码。你是否一个或多个QQ号码,当你登录论坛或QQ的时候是否将密码忘记,那么用《Windows密码管理大师》来管理你的密码吧,它可以帮你管理你在各论坛的注册资料,包括用户名,注册邮箱,注册ID,注册密码,注册网址等,当你选中一项资料时便可轻易访问该网站。本软件启动时用密码保护,可以防止非法用户查看你的注册资料,非常安全方便。
最新版本v2.1
新版本对工具栏图标做了调整,修正了加密项无反应的BUG.
最新版本v2.2
新版本增加了多项功能,修正了几个BUG,赶快试式吧。
【加壳方式】 UPX
【破解声明】 我是一只小菜鸟,偶得一点心得,愿与大家分享:)
--------------------------------------------------------------------------------
有MM说她的密码有好多个不一样,机器密码,QQ密码什么的,太乱,想找个管理的,说让我给她写一个这样的软件(当时我直接吓爬下了)
然后我就说我不会,我给你网上找一个,结果一找找到了它,居然要我注册,看了老半天,发现算法还满简单的,嘿嘿
--------------------------------------------------------------------------------
0053BC39 8BD8 MOV EBX,EAX
0053BC3B 8BC3 MOV EAX,EBX
0053BC3D E8 C2CDFFFF CALL UnPacK.00538A04 ; 算法call,F7跟进
0053BC42 84C0 TEST AL,AL
0053BC44 74 09 JE SHORT UnPacK.0053BC4F
0053BC46 8BC3 MOV EAX,EBX
0053BC48 E8 03CBFFFF CALL UnPacK.00538750
--------------------------------------------------------------------------------
00538A04 55 PUSH EBP ; 算法call跟进到这里,F8
00538A05 8BEC MOV EBP,ESP
00538A07 33C9 XOR ECX,ECX
00538A09 51 PUSH ECX
00538A0A 51 PUSH ECX
00538A0B 51 PUSH ECX
00538A0C 51 PUSH ECX
00538A0D 51 PUSH ECX
00538A0E 53 PUSH EBX
00538A0F 56 PUSH ESI
00538A10 8945 FC MOV DWORD PTR SS:[EBP-4],EAX
00538A13 33C0 XOR EAX,EAX
00538A15 55 PUSH EBP
00538A16 68 E08A5300 PUSH UnPacK.00538AE0
00538A1B 64:FF30 PUSH DWORD PTR FS:[EAX]
00538A1E 64:8920 MOV DWORD PTR FS:[EAX],ESP
00538A21 33C0 XOR EAX,EAX
00538A23 8945 F4 MOV DWORD PTR SS:[EBP-C],EAX
00538A26 8D55 F8 LEA EDX,DWORD PTR SS:[EBP-8]
00538A29 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00538A2C 8B80 E4030000 MOV EAX,DWORD PTR DS:[EAX+3E4]
00538A32 E8 6DDBEFFF CALL UnPacK.004365A4
00538A37 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
00538A3A E8 19B7ECFF CALL UnPacK.00404158
00538A3F 8BD8 MOV EBX,EAX
00538A41 85DB TEST EBX,EBX
00538A43 7E 2E JLE SHORT UnPacK.00538A73
00538A45 BE 01000000 MOV ESI,1
00538A4A 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
00538A4D 50 PUSH EAX
00538A4E B9 01000000 MOV ECX,1
00538A53 8BD6 MOV EDX,ESI
00538A55 8B45 F8 MOV EAX,DWORD PTR SS:[EBP-8]
00538A58 E8 03B9ECFF CALL UnPacK.00404360
00538A5D 8B45 F0 MOV EAX,DWORD PTR SS:[EBP-10]
00538A60 E8 B7B8ECFF CALL UnPacK.0040431C
00538A65 8A00 MOV AL,BYTE PTR DS:[EAX]
00538A67 25 FF000000 AND EAX,0FF
00538A6C 0145 F4 ADD DWORD PTR SS:[EBP-C],EAX
00538A6F 46 INC ESI ; 计数器加一
00538A70 4B DEC EBX ; 用户名长度减一
00538A71 ^ 75 D7 JNZ SHORT UnPacK.00538A4A ; 以上循环逐位取用户名ascii取用户名ascii
00538A73 8D55 EC LEA EDX,DWORD PTR SS:[EBP-14]
00538A76 8B45 FC MOV EAX,DWORD PTR SS:[EBP-4]
00538A79 8B80 E8030000 MOV EAX,DWORD PTR DS:[EAX+3E8]
00538A7F E8 20DBEFFF CALL UnPacK.004365A4
00538A84 8B45 EC MOV EAX,DWORD PTR SS:[EBP-14] ; EAX=假码位数
00538A87 E8 FC14EDFF CALL UnPacK.00409F88
00538A8C 8B55 F4 MOV EDX,DWORD PTR SS:[EBP-C]
00538A8F 81C2 FC7E1200 ADD EDX,127EFC ; 用户名ascii+127EFC=a
00538A95 81C2 9FE46400 ADD EDX,UnPacK.0064E49F ; a=a+64E49F
00538A9B 3BC2 CMP EAX,EDX ; 真假码比较,可做内存注册机
00538A9D 75 19 JNZ SHORT UnPacK.00538AB8 ; 不一样就挂了
00538A9F B3 01 MOV BL,1
00538AA1 B8 18D75400 MOV EAX,UnPacK.0054D718
00538AA6 8B55 F8 MOV EDX,DWORD PTR SS:[EBP-8]
00538AA9 E8 7EB4ECFF CALL UnPacK.00403F2C
00538AAE 8B45 F4 MOV EAX,DWORD PTR SS:[EBP-C]
00538AB1 A3 1CD75400 MOV DWORD PTR DS:[54D71C],EAX
00538AB6 EB 02 JMP SHORT UnPacK.00538ABA
00538AB8 33DB XOR EBX,EBX
00538ABA 33C0 XOR EAX,EAX
00538ABC 5A POP EDX
00538ABD 59 POP ECX
00538ABE 59 POP ECX
00538ABF 64:8910 MOV DWORD PTR FS:[EAX],EDX
00538AC2 68 E78A5300 PUSH UnPacK.00538AE7
00538AC7 8D45 EC LEA EAX,DWORD PTR SS:[EBP-14]
00538ACA E8 09B4ECFF CALL UnPacK.00403ED8
00538ACF 8D45 F0 LEA EAX,DWORD PTR SS:[EBP-10]
00538AD2 E8 01B4ECFF CALL UnPacK.00403ED8
00538AD7 8D45 F8 LEA EAX,DWORD PTR SS:[EBP-8]
00538ADA E8 F9B3ECFF CALL UnPacK.00403ED8
00538ADF C3 RETN
00538AE0 ^ E9 CFADECFF JMP UnPacK.004038B4
00538AE5 ^ EB E0 JMP SHORT UnPacK.00538AC7
00538AE7 8BC3 MOV EAX,EBX ; 爆破把这里改ecx也行的,嘿嘿
00538AE9 5E POP ESI
00538AEA 5B POP EBX
00538AEB 8BE5 MOV ESP,EBP
00538AED 5D POP EBP
00538AEE C3 RETN
--------------------------------------------------------------------------------
【算法总结】序列号的ASCII累加,再加上127EFC和64E49F,即为注册码!
--------------------------------------------------------------------------------
【算法注册机Delphi源码】
procedure TForm1.Button1Click(Sender: TObject);
var
a:string;
b,i:integer;
begin
a:=edit1.text;
b:=0;
for i:=1 to length(a) do
b:=b+ord(a[i]);
b:=b+$127EFC+$64E49F;
edit2.Text:=inttostr(b);
end;
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)