联众qq欢乐斗地主记牌器器 V2.36 注册算法分析

联众斗地主记牌器 V2.36 注册算法分析
『软件名称』:联众斗地主记牌器 V2.36『软件大小』:642 KB『地址』:『软件介绍』:可用于联众一副牌和两副牌的斗地主游戏,具有自动记录已出牌、剩余牌和剩余张数的功能,用户注册后不是地主也能看底牌(二副牌时),软件界面美观,使用方便。『保护方式』:注册码保护『声明』:初学Crack,只是感兴趣,失误之处敬请诸位大侠赐教!『破解工具』:flyODBG.V1.10 聆风听雨汉化第二版、PeID 0.93,ASPackDie v1.41.HH『破解过程』:
一、查壳、脱壳 + 去除反调试
PeID 0.93,查壳,ASPack 2.12 -& Alexey Solodovnikov,老壳了,工具手脱都很方便,我是懒人,用ASPackDie v1.41.HH搞定,默认另存为Unpacked.eXe,OD载入,F9运行,晕死,flyODBG被自动关闭了,有Anti-Bebug,搞定它,重新运行OD,命令行下断点 bp TerminateProcess,F9运行,OD中断在:7C801E16 k&& 8BFF&&&&&&&&&&&&&&&& mov edi,edi&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; Unpacked.7C801E18&&&& 55&&&&&&&&&&&&&&&&&& push ebp7C801E19&&&& 8BEC&&&&&&&&&&&&&&&& mov ebp,esp7C801E1B&&&& 837D 08 00&&&&&&&&&& cmp dword ptr ss:[ebp+8],07C801E1F&&&& 75 09&&&&&&&&&&&&&&& jnz short kernel32.7C801E2A
0012FDE4&&&& 0045ABA0& /CALL 到 TerminateProcess 来自 Unpacked.0045AB9B //来源0012FDE8&&&& & |hProcess =
(window)0012FDEC&&&& & ExitCode = 0
Ctrl+G:0045AB9B
0045AB7D&&& .& BA D8AB4500&&&&&&& mov edx,Unpacked.0045ABD8&&&&&&&&&&&&&&&&&& ;& ASCII "EXPLORER.EXE"0045AB82&&& .& E8 219CFAFF&&&&&&& call Unpacked.0045AB87&&& .& 74 1D&&&&&&&&&&&&& je short Unpacked.0045ABA6&&&&&&&&&&&&&&&&& ;& 修改为JMP,解除Anti-Debug0045AB89&&& .& 56&&&&&&&&&&&&&&&& push esi&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; /ProcessId0045AB8A&&& .& 6A 00&&&&&&&&&&&&& push 0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; |Inheritable = FALSE0045AB8C&&& .& 68 FF0F1F00&&&&&&& push 1F0FFF&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; |Access = PROCESS_ALL_ACCESS0045AB91&&& .& E8 86BEFAFF&&&&&&& call &jmp.&kernel32.OpenProcess&&&&&&&&&&&& ; OpenProcess0045AB96&&& .& 8BD8&&&&&&&&&&&&&& mov ebx,eax0045AB98&&& .& 6A 00&&&&&&&&&&&&& push 0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; /ExitCode = 00045AB9A&&& .& 53&&&&&&&&&&&&&&&& push ebx&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; |hProcess0045AB9B&&& .& E8 CCBEFAFF&&&&&&& call &jmp.&kernel32.TerminateProcess&&&&&&& ; TerminateProcess&&& 这里0045ABA0&&& .& 53&&&&&&&&&&&&&&&& push ebx&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ; /hObject0045ABA1&&& .& E8 16BDFAFF&&&&&&& call &jmp.&kernel32.CloseHandle&&&&&&&&&&&& ; CloseHandle
原来是查找父进程啊,修改为JMP或将flyODBG.exe文件名改为EXPLORER.EXE ,即可解除Anti-D
二、注册验证算法分析
脱壳后查得是Borland Delphi 6.0 - 7.0,好办,Dede出马找到注册按钮事件地址 下断,F9运行,输入试炼码,点击注册,OD中断在: &&/.& 55&&&&&&&&&&&&&&&& push ebp&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&& ;& &&& |.& 8BEC&&&&&&&&&&&&&& mov ebp,esp&& |.& 6A 00&&&&&&&&&&&&& push 0&& |.& 53&&&&&&&&&&&&&&&& push ebx&& |.& 8BD8&&&&&&&&&&&&&& mov ebx,eax&& |.& 33C0&&&&&&&&&&&&&& xor eax,eax0045A57A&& |.& 55&&&&&&&&&&&&&&&& push ebp0045A57B&& |.& 68 06A64500&&&&&&& push &Unpacked.-&System.@HandleF&&& |.& 64:FF30&&&&&&&&&&& push dword ptr fs:[eax]&& |.& 64:8920&&&&&&&&&&& mov dword ptr fs:[eax],esp &&|.& 8B83 &&&&& mov eax,dword ptr ds:[ebx+304]&&&&&&&&&&&&& ;& *RCode:N.A.0045A58C&& |.& 8B10&&&&&&&&&&&&&& mov edx,dword ptr ds:[eax]0045A58E&& |.& FF52 50&&nbsp以上由提供
当前位置:
> 详细页面
联众斗地主记牌器 v3.90 特别版
软件大小:400 KB
软件语言:简体中文
授权方式:免费软件
更新时间:
软件类型:.rar
软件类型:国产软件
运行环境:Win2003,WinXP,Win2000,Win7
高速下载地址
电信下载地址
联通下载地址
软件无法下载或下载后无法使用,请点击报错,谢谢!
请简要描述您遇到的错误,我们将尽快予以修正。谢谢
1.42 MB/ 简体中文 / 3
29.52 MB/ 简体中文 / 3
1.70 MB/ 简体中文 / 3
768 KB/ 简体中文 / 3
5.27 MB/ 简体中文 / 3
19.06 MB/ 简体中文 / 3
评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
本周编辑推荐
热门软件专题
Copyright&2011 系统之家(www.xitongzhijia.net) 版权所有 闽ICP备号-1
本站发布的系统与软件仅为个人学习测试使用,请在下载后24小时内删除,不得用于任何商业用途,否则后果自负,请支持购买微软正版软件!
如侵犯到您的权益,请及时通知我们,我们会及时处理。 您现在的位置:&&>>&&>>&&>>&联众斗地主记牌器 V2.36 注册算法分析正文
联众斗地主记牌器 V2.36 注册算法分析
联众斗地主记牌器 V2.36 注册算法分析
作者/编辑:佚名
& & 『软件名称』:联众斗地主记牌器 V2.36& & 『软件大小』:642 KB& & 『下载地址』:/soft/1436.html& & 『软件』:可用于联众一副牌和两副牌的斗地主游戏,具有自动记录已出牌、剩余牌和剩余张数的功能,用户注册后不是地主也能看底牌(二副牌时),软件界面美观,使用方便,。& & 『保护方式』:注册码保护& & 『破解声明』:初学Crack,只是感兴趣,失误之处敬请诸位大侠赐教!& & 『破解工具』:flyODBG.V1.10 聆风听汉化第二版、PeID 0.93,ASPackDie v1.41.HH& & 『破解过程』:& & 一、查壳、脱壳 + 去除反调试& & PeID 0.93,查壳,ASPack 2.12 -> Alexey Solodovnikov,老壳了,工具手脱都很方便,我是懒人,用ASPackDie v1.41.HH搞定,默认另存为Unpacked.eXe,OD载入,F9运行,晕死,flyODBG被自动关闭了,有Anti-Bebug,搞定它,重新运行OD,命令行下断点 bp TerminateProcess,F9运行,OD中断在:& & 7C801E16 k>&8BFF&&&&&&&&&&&&&&&&mov edi,edi&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; Unpacked.& & 7C801E18&&&&55&&&&&&&&&&&&&&&&&&push ebp& & 7C801E19&&&&8BEC&&&&&&&&&&&&&&&&mov ebp,esp& & 7C801E1B&&&&837D 08 00&&&&&&&&&&cmp dword ptr ss:[ebp+8],0& & 7C801E1F&&&&75 09&&&&&&&&&&&&&&&jnz short kernel32.7C801E2A& & 堆栈提示:& & 0012FDE4&&&&0045ABA0&/CALL 到 TerminateProcess 来自 Unpacked.0045AB9B //来源& & 0012FDE8&&&&&|hProcess =
(window)& & 0012FDEC&&&&&\ExitCode = 0& & Ctrl+G:0045AB9B& & 0045AB7D&&&.&BA D8AB4500&&&&&&&mov edx,Unpacked.0045ABD8&&&&&&&&&&&&&&&&&&;&ASCII "EXPLORER.EXE"& & 0045AB82&&&.&E8 219CFAFF&&&&&&&call Unpacked.& & 0045AB87&&&.&74 1D&&&&&&&&&&&&&je short Unpacked.0045ABA6&&&&&&&&&&&&&&&&&;&修改为JMP,解除Anti-Debug& & 0045AB89&&&.&56&&&&&&&&&&&&&&&&push esi&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; /ProcessId& & 0045AB8A&&&.&6A 00&&&&&&&&&&&&&push 0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; |Inheritable = FALSE& & 0045AB8C&&&.&68 FF0F1F00&&&&&&&push 1F0FFF&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; |Access = PROCESS_ALL_ACCESS& & 0045AB91&&&.&E8 86BEFAFF&&&&&&&call &&&&&&&&&&&; \OpenProcess& & 0045AB96&&&.&8BD8&&&&&&&&&&&&&&mov ebx,eax& & 0045AB98&&&.&6A 00&&&&&&&&&&&&&push 0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; /ExitCode = 0& & 0045AB9A&&&.&53&&&&&&&&&&&&&&&&push ebx&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; |hProcess& & 0045AB9B&&&.&E8 CCBEFAFF&&&&&&&call &&&&&&; \TerminateProcess&&&这里& & 0045ABA0&&&.&53&&&&&&&&&&&&&&&&push ebx&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; /hObject& & 0045ABA1&&&.&E8 16BDFAFF&&&&&&&call &&&&&&&&&&&; \CloseHandle& & 原来是查找父进程啊,修改为JMP或将flyODBG.exe文件名改为EXPLORER.EXE ,即可解除Anti-D& & 二、注册验证算法& & 脱壳后查得是Borland Delphi 6.0 - 7.0,好办,Dede出马找到注册按钮事件地址 下断,F9运行,输入试炼码,点击注册,OD中断在:& &
/.&55&&&&&&&&&&&&&&&&push ebp&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&<-TForm2@BRegClick& & &&|.&8BEC&&&&&&&&&&&&&&mov ebp,esp& & &&|.&6A 00&&&&&&&&&&&&&push 0& & &&|.&53&&&&&&&&&&&&&&&&push ebx& & &&|.&8BD8&&&&&&&&&&&&&&mov ebx,eax& & &&|.&33C0&&&&&&&&&&&&&&xor eax,eax& & 0045A57A&&|.&55&&&&&&&&&&&&&&&&push ebp& & 0045A57B&&|.&68 06A64500&&&&&&&push System.@HandleF>& & &&|.&64:FF30&&&&&&&&&&&push dword ptr fs:[eax]& & &&|.&64:8920&&&&&&&&&&&mov dword ptr fs:[eax],esp& &
|.&8B83 &&&&&mov eax,dword ptr ds:[ebx+304]&&&&&&&&&&&&&;&*RCode:N.A.& & 0045A58C&&|.&8B10&&&&&&&&&&&&&&mov edx,dword ptr ds:[eax]& & 0045A58E&&|.&FF52 50&&&&&&&&&&&call dword ptr ds:[edx+50]& & &&|.&84C0&&&&&&&&&&&&&&test al,al& & &&|.&74 5B&&&&&&&&&&&&&je short Unpacked.& & &&|.&8D55 FC&&&&&&&&&&&lea edx,dword ptr ss:[ebp-4]& &
|.&8B83 &&&&&mov eax,dword ptr ds:[ebx+304]&&&&&&&&&&&&&;&*RCode:N.A.& & 0045A59E |.&E8 658CFDFF&&&&&&&call Unpacked.&&&&&&&&&&&&&&&&&&&&&;&->Controls.TControl.GetText(TControl):TC& & &&|.&8B55 FC&&&&&&&&&&&mov edx,dword ptr ss:[ebp-4]& & &&|.&B8 1CA64500&&&&&&&mov eax,Unpacked.0045A61C&&&&&&&&&&&&&&&&&&;&ASCII "RegCode"& & 0045A5AB&&|.&E8 7CB6FFFF&&&&&&&call Unpacked.00455C2C&&&&&&&&&&&&&&&&&&&&&;&保存注册信息& & &&|.&84C0&&&&&&&&&&&&&&test al,al& & &&|.&74 3C&&&&&&&&&&&&&je short Unpacked.& & &&|.&6A 00&&&&&&&&&&&&&push 0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; /Title = NULL& & &&|.&68 24A64500&&&&&&&push Unpacked.&&&&&&&&&&&&&&&&&&&&&; |Class = "LZDDZHookWnd2003"& & 0045A5BB |.&E8 14C8FAFF&&&&&&&call &&&&&&&&&&&&&; \->user32.FindWindowA()& & &&|.&85C0&&&&&&&&&&&&&&test eax,eax& & &&|.&74 11&&&&&&&&&&&&&je short Unpacked.& & &&|.&6A 00&&&&&&&&&&&&&push 0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; /lParam = 0& & &&|.&6A 00&&&&&&&&&&&&&push 0&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; |wParam = 0& & &&|.&68 &&&&&&&push 8002&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; |Message = MSG(8002)& & 0045A5CD&&|.&50&&&&&&&&&&&&&&&&push eax&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; |hWnd& & 0045A5CE |.&E8 49CAFAFF&&&&&&&call &&&&&&&&&&&&; \->user32.PostMessageA()& & &&|.&EB 1B&&&&&&&&&&&&&jmp short Unpacked.& & &&|>&6A 01&&&&&&&&&&&&&push 1& & &&|.&6A 03&&&&&&&&&&&&&push 3& & &&|.&68 &&&&&&&push 8002& & 0045A5DE&&|.&A1 48D04500&&&&&&&mov eax,dword ptr ds:[45D048]& & &&|.&8B00&&&&&&&&&&&&&&mov eax,dword ptr ds:[eax]& &
|.&E8 92F2FDFF&&&&&&&call Unpacked.0043987C&&&&&&&&&&&&&&&&&&&&&;&->Controls.TWinControl.GetHandle(TWinControl):HWND;& & 0045A5EA&&|.&50&&&&&&&&&&&&&&&&push eax&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; |hWnd& & 0045A5EB |.&E8 2CCAFAFF&&&&&&&call &&&&&&&&&&&&; \->user32.PostMessageA()& & &&|>&33C0&&&&&&&&&&&&&&xor eax,eax& & &&|.&5A&&&&&&&&&&&&&&&&pop edx& & &&|.&59&&&&&&&&&&&&&&&&pop ecx& & &&|.&59&&&&&&&&&&&&&&&&pop ecx& & &&|.&64:8910&&&&&&&&&&&mov dword ptr fs:[eax],edx& & &&|.&68 0DA64500&&&&&&&push Unpacked.0045A60D& & 0045A5FD&&|>&8D45 FC&&&&&&&&&&&lea eax,dword ptr ss:[ebp-4]& &
|.&E8 A79DFAFF&&&&&&&call Unpacked.004043AC&&&&&&&&&&&&&&&&&&&&&;&->System.@LStrClr(void);& & &&\.&C3&&&&&&&&&&&&&&&&retn& &
.^ E9 C997FAFF&&&&&&&jmp Unpacked.00403DD4&&&&&&&&&&&&&&&&&&&&&&;&->System.@HandleF& & 0045A60B&&&.^ EB F0&&&&&&&&&&&&&jmp short Unpacked.0045A5FD& & 0045A60D&&&.&5B&&&&&&&&&&&&&&&&pop ebx& & 0045A60E&&&.&59&&&&&&&&&&&&&&&&pop ecx& & 0045A60F&&&.&5D&&&&&&&&&&&&&&&&pop ebp& & &&&.&C3&&&&&&&&&&&&&&&&retn& & 晕,注册按钮事件并没有以往的注册验证过程,PostMessageA发送走人了。Delphi写的程序,如果用消息来传递数据,会给Cracker带来很大的麻烦。因为Delphi的消息处理机制嵌套太多了,另外想想办法吧;& & 突然发现软件有“软件已经注册”字样,哈哈不错,就是它了,插件查找字符串位于,向上查找来到;& & 0045A65D |.&E8 BAB4FFFF&&&&&&&call Unpacked.00455B1C&&&&&&&&&&&&&&&&&&&&&;&->:TPassword._PROC_00455B1C()& & &&|.&8B55 FC&&&&&&&&&&&mov edx,dword ptr ss:[ebp-4]& &
|.&8B83 &&&&&mov eax,dword ptr ds:[ebx+300]&&&&&&&&&&&&&;&*MCode:N.A.& & 0045A66B |.&E8 C88BFDFF&&&&&&&call Unpacked.&&&&&&&&&&&&&&&&&&&&&;&->Controls.TControl.SetText(TCTCaption);& & &&|.&8D55 F8&&&&&&&&&&&lea edx,dword ptr ss:[ebp-8]& & &&|.&B8 08A74500&&&&&&&mov eax,Unpacked.&&&&&&&&&&&&&&&&&&;&ASCII "RegCode"& &
|.&E8 DFB4FFFF&&&&&&&call Unpacked.00455B5C&&&&&&&&&&&&&&&&&&&&&;&->:TPassword._PROC_00455B5C()& & 0045A67D&&|.&8B55 F8&&&&&&&&&&&mov edx,dword ptr ss:[ebp-8]& &
|.&8B83 &&&&&mov eax,dword ptr ds:[ebx+304]&&&&&&&&&&&&&;&*RCode:N.A.& &
|.&E8 AD8BFDFF&&&&&&&call Unpacked.&&&&&&&&&&&&&&&&&&&&&;&->Controls.TControl.SetText(TCTCaption);& & 0045A68B&&|.&8D55 F4&&&&&&&&&&&lea edx,dword ptr ss:[ebp-C]& & 0045A68E |.&8B83 &&&&&mov eax,dword ptr ds:[ebx+304]&&&&&&&&&&&&&;&*RCode:N.A.& &
|.&E8 6F8BFDFF&&&&&&&call Unpacked.&&&&&&&&&&&&&&&&&&&&&;&->Controls.TControl.GetText(TControl):TC& & &&|.&8B45 F4&&&&&&&&&&&mov eax,dword ptr ss:[ebp-C]& & 0045A69C&&|.&BA &&&&&&&mov edx,1& & &&|.&E8 7EB6FFFF&&&&&&&call Unpacked.00455D24&&&&&&&&&&&&&&&&&&&&&;&判断注册& & &&|.&84C0&&&&&&&&&&&&&&test al,al& & &&|.&74 26&&&&&&&&&&&&&je short Unpacked.&&&&&&&&&&&&&&&&&;&判断& & 0045A6AA&&|.&33D2&&&&&&&&&&&&&&xor edx,edx& & 0045A6AC |.&8B83 &&&&&mov eax,dword ptr ds:[ebx+304]&&&&&&&&&&&&&;&*RCode:N.A.& & &&|.&8B08&&&&&&&&&&&&&&mov ecx,dword ptr ds:[eax]& & &&|.&FF51 64&&&&&&&&&&&call dword ptr ds:[ecx+64]& & &&|.&33D2&&&&&&&&&&&&&&xor edx,edx& &
|.&8B83 &&&&&mov eax,dword ptr ds:[ebx+300]&&&&&&&&&&&&&;&*MCode:N.A.& & 0045A6BF&&|.&8B08&&&&&&&&&&&&&&mov ecx,dword ptr ds:[eax]& & &&|.&FF51 64&&&&&&&&&&&call dword ptr ds:[ecx+64]& & &&|.&BA 18A74500&&&&&&&mov edx,Unpacked.&&&&&&&&&&&&&&&&&&;&'软件已经注册' ,马脚露了!!& & &&|.&8BC3&&&&&&&&&&&&&&mov eax,ebx& & 0045A6CB |.&E8 688BFDFF&&&&&&&call Unpacked.&&&&&&&&&&&&&&&&&&&&&;&->Controls.TControl.SetText(TCTCaption);& & &&|>&33C0&&&&&&&&&&&&&&xor eax,eax& & &&|.&5A&&&&&&&&&&&&&&&&pop edx& & &&|.&59&&&&&&&&&&&&&&&&pop ecx& & &&|.&59&&&&&&&&&&&&&&&&pop ecx& & 从上面代码很容易看出 处call Unpacked.00455D24 是关键,跟进:& & -------------------------------------------------------------------------------------------------------------------------& & 00455D24&&&$&55&&&&&&&&&&&&&&&&push ebp& & 00455D25&&&.&8BEC&&&&&&&&&&&&&&mov ebp,esp& & 00455D27&&&.&83C4 E0&&&&&&&&&&&add esp,-20& & 00455D2A&&&.&53&&&&&&&&&&&&&&&&push ebx& & 00455D2B&&&.&33C9&&&&&&&&&&&&&&xor ecx,ecx& & 00455D2D&&&.&894D E0&&&&&&&&&&&mov dword ptr ss:[ebp-20],ecx& & 00455D30&&&.&894D E4&&&&&&&&&&&mov dword ptr ss:[ebp-1C],ecx& & 00455D33&&&.&894D F0&&&&&&&&&&&mov dword ptr ss:[ebp-10],ecx& & 00455D36&&&.&8BDA&&&&&&&&&&&&&&mov ebx,edx& & 00455D38&&&.&8945 FC&&&&&&&&&&&mov dword ptr ss:[ebp-4],eax&&&&&&&&&&&&&&&;&试炼码& & 00455D3B&&&.&8B45 FC&&&&&&&&&&&mov eax,dword ptr ss:[ebp-4]& & 00455D3E&&&.&E8 09EBFAFF&&&&&&&call Unpacked.0040484C& & 00455D43&&&.&33C0&&&&&&&&&&&&&&xor eax,eax& & 00455D45&&&.&55&&&&&&&&&&&&&&&&push ebp& & 00455D46&&&.&68 055E4500&&&&&&&push Unpacked.00455E05& & 00455D4B&&&.&64:FF30&&&&&&&&&&&push dword ptr fs:[eax]& & 00455D4E&&&.&64:8920&&&&&&&&&&&mov dword ptr fs:[eax],esp& & 00455D51&&&.&C645 FB 00&&&&&&&&mov byte ptr ss:[ebp-5],0& & 00455D55&&&.&837D FC 00&&&&&&&&cmp dword ptr ss:[ebp-4],0&&&&&&&&&&&&&&&&&;&试炼码不能为空& & 00455D59&&&.&74 7F&&&&&&&&&&&&&je short Unpacked.00455DDA& & 00455D5B&&&.&8D45 F0&&&&&&&&&&&lea eax,dword ptr ss:[ebp-10]& & 00455D5E&&&.&50&&&&&&&&&&&&&&&&push eax& & 00455D5F&&&.&8D45 E4&&&&&&&&&&&lea eax,dword ptr ss:[ebp-1C]& & 00455D62&&&.&E8 B5FDFFFF&&&&&&&call Unpacked.00455B1C& & 00455D67&&&.&8B45 E4&&&&&&&&&&&mov eax,dword ptr ss:[ebp-1C]&&&&&&&&&&&&&&;&机器码& & 00455D6A&&&.&8D4D EC&&&&&&&&&&&lea ecx,dword ptr ss:[ebp-14]& & 00455D6D&&&.&8D55 E8&&&&&&&&&&&lea edx,dword ptr ss:[ebp-18]& & 00455D70&&&.&2BCA&&&&&&&&&&&&&&sub ecx,edx& & 00455D72&&&.&49&&&&&&&&&&&&&&&&dec ecx& & 00455D73&&&.&8BD3&&&&&&&&&&&&&&mov edx,ebx& & 00455D75&&&.&E8 42EBFAFF&&&&&&&call Unpacked.004048BC&&&&&&&&&&&&&&&&&&&&&;&System.@LStrC& & 00455D7A&&&.&33C9&&&&&&&&&&&&&&xor ecx,ecx& & 00455D7C&&&.&B2 01&&&&&&&&&&&&&mov dl,1& & 00455D7E&&&.&A1 &&&&&&&mov eax,dword ptr ds:[455548]& & 00455D83&&&.&E8 DC58FCFF&&&&&&&call Unpacked.&&&&&&&&&&&&&&&&&&&&&;&TComponent.Create& & 00455D88&&&.&8945 F4&&&&&&&&&&&mov dword ptr ss:[ebp-C],eax& & 00455D8B&&&.&33C0&&&&&&&&&&&&&&xor eax,eax& & 00455D8D&&&.&55&&&&&&&&&&&&&&&&push ebp& & 00455D8E&&&.&68 D35D4500&&&&&&&push Unpacked.00455DD3& & 00455D93&&&.&64:FF30&&&&&&&&&&&push dword ptr fs:[eax]& & 00455D96&&&.&64:8920&&&&&&&&&&&mov dword ptr fs:[eax],esp& & 00455D99&&&.&8D45 E0&&&&&&&&&&&lea eax,dword ptr ss:[ebp-20]& & 00455D9C&&&.&50&&&&&&&&&&&&&&&&push eax& & 00455D9D&&&.&B1 03&&&&&&&&&&&&&mov cl,3&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&cl=3重要数据,决定下面一固定字符串来源& & 00455D9F&&&.&8B55 F0&&&&&&&&&&&mov edx,dword ptr ss:[ebp-10]& & 00455DA2&&&.&8B45 F4&&&&&&&&&&&mov eax,dword ptr ss:[ebp-C]& & 00455DA5&&&.&E8 C6FBFFFF&&&&&&&call Unpacked.&&&&&&&&&&&&&&&&&&&&&;&关键,根据机器码产生注册码& & 00455DAA&&&.&8B45 E0&&&&&&&&&&&mov eax,dword ptr ss:[ebp-20]&&&&&&&&&&&&&&;&注册码& & 00455DAD&&&.&8B55 FC&&&&&&&&&&&mov edx,dword ptr ss:[ebp-4]&&&&&&&&&&&&&&&;&试炼码& & 00455DB0&&&.&E8 EBEBFAFF&&&&&&&call Unpacked.&&&&&&&&&&&&&&&&&&&&&;&明码比较& & 00455DB5&&&.&85C0&&&&&&&&&&&&&&test eax,eax& & 00455DB7&&&.&7E 04&&&&&&&&&&&&&jle short Unpacked.00455DBD& & 00455DB9&&&.&C645 FB 01&&&&&&&&mov byte ptr ss:[ebp-5],1& & 00455DBD&&&>&33C0&&&&&&&&&&&&&&xor eax,eax& & 00455DBF&&&.&5A&&&&&&&&&&&&&&&&pop edx& & 00455DC0&&&.&59&&&&&&&&&&&&&&&&pop ecx& & 00455DC1&&&.&59&&&&&&&&&&&&&&&&pop ecx& & 00455DC2&&&.&64:8910&&&&&&&&&&&mov dword ptr fs:[eax],edx& & 00455DC5&&&.&68 DA5D4500&&&&&&&push Unpacked.00455DDA& & 00455DCA&&&>&8B45 F4&&&&&&&&&&&mov eax,dword ptr ss:[ebp-C]& & 00455DCD&&&.&E8 6ED8FAFF&&&&&&&call Unpacked.& & 00455DD2&&&.&C3&&&&&&&&&&&&&&&&retn& & 00455DD3&&&.^ E9 FCDFFAFF&&&&&&&jmp Unpacked.00403DD4& & 00455DD8&&&.^ EB F0&&&&&&&&&&&&&jmp short Unpacked.00455DCA& & 00455DDA&&&>&33C0&&&&&&&&&&&&&&xor eax,eax& & 00455DDC&&&.&5A&&&&&&&&&&&&&&&&pop edx& & 00455DDD&&&.&59&&&&&&&&&&&&&&&&pop ecx& & 00455DDE&&&.&59&&&&&&&&&&&&&&&&pop ecx& & 00455DDF&&&.&64:8910&&&&&&&&&&&mov dword ptr fs:[eax],edx& & 00455DE2&&&.&68 0C5E4500&&&&&&&push Unpacked.00455E0C& & 00455DE7&&&>&8D45 E0&&&&&&&&&&&lea eax,dword ptr ss:[ebp-20]& & 00455DEA&&&.&BA &&&&&&&mov edx,2& & 00455DEF&&&.&E8 DCE5FAFF&&&&&&&call Unpacked.& & 00455DF4&&&.&8D45 F0&&&&&&&&&&&lea eax,dword ptr ss:[ebp-10]& & 00455DF7&&&.&E8 B0E5FAFF&&&&&&&call Unpacked.004043AC& & 00455DFC&&&.&8D45 FC&&&&&&&&&&&lea eax,dword ptr ss:[ebp-4]& & 00455DFF&&&.&E8 A8E5FAFF&&&&&&&call Unpacked.004043AC& & 00455E04&&&.&C3&&&&&&&&&&&&&&&&retn& & 00455E05&&&.^ E9 CADFFAFF&&&&&&&jmp Unpacked.00403DD4& & 00455E0A&&&.^ EB DB&&&&&&&&&&&&&jmp short Unpacked.00455DE7& & 00455E0C&&&.&8A45 FB&&&&&&&&&&&mov al,byte ptr ss:[ebp-5]& & 00455E0F&&&.&5B&&&&&&&&&&&&&&&&pop ebx& & 00455E10&&&.&8BE5&&&&&&&&&&&&&&mov esp,ebp& & 00455E12&&&.&5D&&&&&&&&&&&&&&&&pop ebp& & 00455E13&&&.&C3&&&&&&&&&&&&&&&&retn& & -------------------------------------------------------------------------------------------------------------------------& & 哈哈,又是一个明码比较,还是看看00455DA5 call Unpacked.的注册码的运算过程吧:& & -------------------------------------------------------------------------------------------------------------------------& & &&&$&55&&&&&&&&&&&&&&&&push ebp& & &&&.&8BEC&&&&&&&&&&&&&&mov ebp,esp& & &&&.&83C4 E4&&&&&&&&&&&add esp,-1C& & &&&.&53&&&&&&&&&&&&&&&&push ebx& & &&&.&56&&&&&&&&&&&&&&&&push esi& & &&&.&57&&&&&&&&&&&&&&&&push edi& & &&&.&33DB&&&&&&&&&&&&&&xor ebx,ebx& & 0045597B&&&.&895D E8&&&&&&&&&&&mov dword ptr ss:[ebp-18],ebx& & 0045597E&&&.&895D E4&&&&&&&&&&&mov dword ptr ss:[ebp-1C],ebx& & &&&.&895D EC&&&&&&&&&&&mov dword ptr ss:[ebp-14],ebx& & &&&.&884D F7&&&&&&&&&&&mov byte ptr ss:[ebp-9],cl&&&&&&&&&&&&&&&&&;&cl=3重要数据& & &&&.&8955 F8&&&&&&&&&&&mov dword ptr ss:[ebp-8],edx&&&&&&&&&&&&&&&;&机器码前3位& & 0045598A&&&.&8945 FC&&&&&&&&&&&mov dword ptr ss:[ebp-4],eax& & 0045598D&&&.&8B7D 08&&&&&&&&&&&mov edi,dword ptr ss:[ebp+8]& & &&&.&8B45 F8&&&&&&&&&&&mov eax,dword ptr ss:[ebp-8]&&&&&&&&&&&&&&&;&机器码前3位& & &&&.&E8 B4EEFAFF&&&&&&&call Unpacked.0040484C& & &&&.&33C0&&&&&&&&&&&&&&xor eax,eax& & 0045599A&&&.&55&&&&&&&&&&&&&&&&push ebp& & 0045599B&&&.&68 905A4500&&&&&&&push Unpacked.00455A90& & &&&.&64:FF30&&&&&&&&&&&push dword ptr fs:[eax]& & &&&.&64:8920&&&&&&&&&&&mov dword ptr fs:[eax],esp& & &&&.&8BC7&&&&&&&&&&&&&&mov eax,edi& & &&&.&E8 FFE9FAFF&&&&&&&call Unpacked.004043AC& & 004559AD&&&.&837D F8 00&&&&&&&&cmp dword ptr ss:[ebp-8],0&&&&&&&&&&&&&&&&&;&机器码前3位& & &&&.&0F84 B6000000&&&&&je Unpacked.00455A6D&&&&&&&&&&&&&&&&&&&&&&&;&不能为空& & &&&.&33C9&&&&&&&&&&&&&&xor ecx,ecx& & &&&.&B2 01&&&&&&&&&&&&&mov dl,1& & 004559BB&&&.&A1 5C504500&&&&&&&mov eax,dword ptr ds:[45505C]& & &&&.&E8 E7F8FFFF&&&&&&&call Unpacked.004552AC&&&&&&&&&&&&&&&&&&&&&;&TBase64ECode()& & &&&.&8945 F0&&&&&&&&&&&mov dword ptr ss:[ebp-10],eax& & &&&.&33D2&&&&&&&&&&&&&&xor edx,edx& & 004559CA&&&.&55&&&&&&&&&&&&&&&&push ebp& & 004559CB&&&.&68 665A4500&&&&&&&push Unpacked.00455A66& & &&&.&64:FF32&&&&&&&&&&&push dword ptr fs:[edx]& & &&&.&64:8922&&&&&&&&&&&mov dword ptr fs:[edx],esp& & &&&.&8B45 F0&&&&&&&&&&&mov eax,dword ptr ss:[ebp-10]& & &&&.&C680 &&mov byte ptr ds:[eax+80],1& & &&&.&8B45 F0&&&&&&&&&&&mov eax,dword ptr ss:[ebp-10]& & &&&.&83C0 30&&&&&&&&&&&add eax,30& & &&&.&8B55 F8&&&&&&&&&&&mov edx,dword ptr ss:[ebp-8]&&&&&&&&&&&&&&&;&机器码前3位& & &&&.&E8 12EAFAFF&&&&&&&call Unpacked.& & 004559EE&&&.&8B45 F0&&&&&&&&&&&mov eax,dword ptr ss:[ebp-10]& & &&&.&E8 5AF9FFFF&&&&&&&call Unpacked.& & &&&.&8D45 EC&&&&&&&&&&&lea eax,dword ptr ss:[ebp-14]& & &&&.&8B55 F0&&&&&&&&&&&mov edx,dword ptr ss:[ebp-10]& & 004559FC&&&.&8B52 34&&&&&&&&&&&mov edx,dword ptr ds:[edx+34]&&&&&&&&&&&&&&;&TBase64ECode(机器码前3位),M64& & 004559FF&&&.&E8 40EAFAFF&&&&&&&call Unpacked.& & 00455A04&&&.&8B45 EC&&&&&&&&&&&mov eax,dword ptr ss:[ebp-14]&&&&&&&&&&&&&&;&M64& & 00455A07&&&.&E8 58ECFAFF&&&&&&&call Unpacked.&&&&&&&&&&&&&&&&&&&&&;&LStrLen(String):I& & 00455A0C&&&.&8BF0&&&&&&&&&&&&&&mov esi,eax&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&eax=长度& & 00455A0E&&&.&85F6&&&&&&&&&&&&&&test esi,esi& & 00455A10&&&.&7E 3E&&&&&&&&&&&&&jle short Unpacked.00455A50& & 00455A12&&&.&BB &&&&&&&mov ebx,1&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&i=1& & 00455A17&&&>&8B45 EC&&&&&&&&&&&mov eax,dword ptr ss:[ebp-14]&&&&&&&&&&&&&&;&M64& & 00455A1A&&&.&807C18 FF 3D&&&&&&cmp byte ptr ds:[eax+ebx-1],3D&&&&&&&&&&&&&;&M64(i),ASC('=')=3D& & 00455A1F&&&.&74 2B&&&&&&&&&&&&&je short Unpacked.00455A4C&&&&&&&&&&&&&&&&&;&M64(i)=3D跳过& & 00455A21&&&.&8D45 E8&&&&&&&&&&&lea eax,dword ptr ss:[ebp-18]& & 00455A24&&&.&50&&&&&&&&&&&&&&&&push eax& & 00455A25&&&.&8D45 E4&&&&&&&&&&&lea eax,dword ptr ss:[ebp-1C]& & 00455A28&&&.&8B55 EC&&&&&&&&&&&mov edx,dword ptr ss:[ebp-14]&&&&&&&&&&&&&&;&M64& & 00455A2B&&&.&8A541A FF&&&&&&&&&mov dl,byte ptr ds:[edx+ebx-1]&&&&&&&&&&&&&;&M64(i)& & 00455A2F&&&.&E8 58EBFAFF&&&&&&&call Unpacked.0040458C&&&&&&&&&&&&&&&&&&&&&;&LStrFromChar(SSChar);& & 00455A34&&&.&8B55 E4&&&&&&&&&&&mov edx,dword ptr ss:[ebp-1C]& & 00455A37&&&.&8A4D F7&&&&&&&&&&&mov cl,byte ptr ss:[ebp-9]&&&&&&&&&&&&&&&&&;&cl=3,重要& & 00455A3A&&&.&8B45 FC&&&&&&&&&&&mov eax,dword ptr ss:[ebp-4]& & 00455A3D&&&.&E8 AAFEFFFF&&&&&&&call Unpacked.004558EC&&&&&&&&&&&&&&&&&&&&&;&重要& & 00455A42&&&.&8B55 E8&&&&&&&&&&&mov edx,dword ptr ss:[ebp-18]&&&&&&&&&&&&&&;&M64(i)运算结果& & 00455A45&&&.&8BC7&&&&&&&&&&&&&&mov eax,edi&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&连接& & 00455A47&&&.&E8 20ECFAFF&&&&&&&call Unpacked.0040466C&&&&&&&&&&&&&&&&&&&&&;&System.@LStrC& & 00455A4C&&&>&43&&&&&&&&&&&&&&&&inc ebx&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&i=i+1& & 00455A4D&&&.&4E&&&&&&&&&&&&&&&&dec esi& & 00455A4E&&&.^ 75 C7&&&&&&&&&&&&&jnz short Unpacked.00455A17&&&&&&&&&&&&&&&&;&循环& & 00455A50&&&>&33C0&&&&&&&&&&&&&&xor eax,eax& & 00455A52&&&.&5A&&&&&&&&&&&&&&&&pop edx& & 00455A53&&&.&59&&&&&&&&&&&&&&&&pop ecx& & 00455A54&&&.&59&&&&&&&&&&&&&&&&pop ecx& & 00455A55&&&.&64:8910&&&&&&&&&&&mov dword ptr fs:[eax],edx& & 00455A58&&&.&68 6D5A4500&&&&&&&push Unpacked.00455A6D& & 00455A5D&&&>&8B45 F0&&&&&&&&&&&mov eax,dword ptr ss:[ebp-10]& & 00455A60&&&.&E8 DBDBFAFF&&&&&&&call Unpacked.& & 00455A65&&&.&C3&&&&&&&&&&&&&&&&retn& & -------------------------------------------------------------------------------------------------------------------------& & 以上代码是先对机器码前3位进行Base64ECode()运算,运算结果字符串字符通过call Unpacked.004558EC处理连接后即为注册码,& & Base64ECode()函数有兴趣的自己分析,标准未变形,要写注册机网上现成代码多的是,还是有必要看看call Unpacked.004558EC函数:& & -------------------------------------------------------------------------------------------------------------------------& & 004558EC&&/$&55&&&&&&&&&&&&&&&&push ebp& & 004558ED&&|.&8BEC&&&&&&&&&&&&&&mov ebp,esp& & 004558EF&&|.&83C4 F4&&&&&&&&&&&add esp,-0C& & &&|.&53&&&&&&&&&&&&&&&&push ebx& & &&|.&8BD9&&&&&&&&&&&&&&mov ebx,ecx&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&ebx=ecx,则bl=cl=3& & &&|.&8955 FC&&&&&&&&&&&mov dword ptr ss:[ebp-4],edx& & &&|.&8B45 FC&&&&&&&&&&&mov eax,dword ptr ss:[ebp-4]& & 004558FB&&|.&E8 4CEFFAFF&&&&&&&call Unpacked.0040484C& & &&|.&33C0&&&&&&&&&&&&&&xor eax,eax& & &&|.&55&&&&&&&&&&&&&&&&push ebp& & &&|.&68 &&&&&&&push Unpacked.& & &&|.&64:FF30&&&&&&&&&&&push dword ptr fs:[eax]& & 0045590B&&|.&64:8920&&&&&&&&&&&mov dword ptr fs:[eax],esp& & 0045590E&&|.&8B45 08&&&&&&&&&&&mov eax,dword ptr ss:[ebp+8]& & &&|.&50&&&&&&&&&&&&&&&&push eax& & &&|.&33C0&&&&&&&&&&&&&&xor eax,eax& & &&|.&8AC3&&&&&&&&&&&&&&mov al,bl&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&bl=cl=3 终于用上了& & &&|.&8B00&&&mov edx,dword ptr ds:[eax*4+45CC28]&&&&&&&&;&ASCII "AL9=HtGzUJ4mvIJY3D7ykQgAYf+TjWCd1RhZl5oEOeBF8bF0ubKrVSaM6qp2n/xcN"& & 0045591D&&|.&8B45 FC&&&&&&&&&&&mov eax,dword ptr ss:[ebp-4]& & &&|.&E8 7BF0FAFF&&&&&&&call Unpacked.&&&&&&&&&&&&&&&&&&&&&;&System.@LStrP& & &&|.&8945 F4&&&&&&&&&&&mov dword ptr ss:[ebp-C],eax&&&&&&&&&&&&&&&; |M64(i)在字符串中的位置& & &&|.&C645 F8 00&&&&&&&&mov byte ptr ss:[ebp-8],0&&&&&&&&&&&&&&&&&&; |& & 0045592C&&|.&8D55 F4&&&&&&&&&&&lea edx,dword ptr ss:[ebp-C]&&&&&&&&&&&&&&&; |& & 0045592F&&|.&33C9&&&&&&&&&&&&&&xor ecx,ecx&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&; |& & &&|.&B8 &&&&&&&mov eax,Unpacked.&&&&&&&&&&&&&&&&&&; |ASCII "%0.2d"& & &&|.&E8 F937FBFF&&&&&&&call Unpacked.&&&&&&&&&&&&&&&&&&&&&; \Unpacked.& & 0045593B&&|.&33C0&&&&&&&&&&&&&&xor eax,eax&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&;&位置值以10进制输出& & 0045593D&&|.&5A&&&&&&&&&&&&&&&&pop edx& & 0045593E&&|.&59&&&&&&&&&&&&&&&&pop ecx& & 0045593F&&|.&59&&&&&&&&&&&&&&&&pop ecx& & &&|.&64:8910&&&&&&&&&&&mov dword ptr fs:[eax],edx& & &&|.&68 &&&&&&&push Unpacked.& & &&|>&8D45 FC&&&&&&&&&&&lea eax,dword ptr ss:[ebp-4]& & 0045594B&&|.&E8 5CEAFAFF&&&&&&&call Unpacked.004043AC& & &&\.&C3&&&&&&&&&&&&&&&&retn& & &&&.^ E9 7EE4FAFF&&&&&&&jmp Unpacked.00403DD4& & &&&.^ EB F0&&&&&&&&&&&&&jmp short Unpacked.& & &&&.&5B&&&&&&&&&&&&&&&&pop ebx& & &&&.&8BE5&&&&&&&&&&&&&&mov esp,ebp& & 0045595B&&&.&5D&&&&&&&&&&&&&&&&pop ebp& & 0045595C&&&.&C2 0400&&&&&&&&&&&retn 4& & -------------------------------------------------------------------------------------------------------------------------& & 这个函数比较简单,将机器码前3位的Base64结果字符串,安字符在固定字符串中查找位置,位置值以10进制字符串方式输出,关键要看清cl=3这个重要的参数,以确定固定字符串的来源:& & 004555EA&&&.&50 61 73 73 77 6F >ascii "Password"& & &&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&.&FFFFFFFF&&&&&&&&&&dd FFFFFFFF& & &&&.&&&&&&&&&&&dd & & 004555FC&&&.&30 71 41 4C 6D 43 >ascii "0qALmC4ErGP=H3IJ"& & 0045560C&&&.&7A 4B 77 73 4E 4F >ascii "zKwsNO+QyS/TVpYW"& & 0045561C&&&.&58 61 62 46 67 63 >ascii "XabFgcfZ7DhijklB"& & 0045562C&&&.&6E 4D 6F 74 75 78 >ascii "nMotux2v5d1U6R8e"& & 0045563C&&&.&39 00&&&&&&&&&&&&&ascii "9",0& & 0045563E&&&&&&00&&&&&&&&&&&&&&&&db 00& & 0045563F&&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&.&FFFFFFFF&&&&&&&&&&dd FFFFFFFF& & &&&.&&&&&&&&&&&dd & & &&&.&71 56 70 6A 4C 76 >ascii "qVpjLvIJz0KwP=Ht"& & &&&.&68 47 69 39 75 52 >ascii "hGi9uR8d1a54E+TC"& & &&&.&41 58 67 51 79 62 >ascii "AXgQybFkYUsN7lBm"& & &&&.&53 2F 33 44 65 36 >ascii "S/3De6MrOcfZn2Wx"& & &&&.&6F 00&&&&&&&&&&&&&ascii "o",0& & 0045568A&&&&&&00&&&&&&&&&&&&&&&&db 00& & 0045568B&&&&&&00&&&&&&&&&&&&&&&&db 00& & 0045568C&&&.&FFFFFFFF&&&&&&&&&&dd FFFFFFFF& & &&&.&&&&&&&&&&&dd & & &&&.&55 73 47 7A 69 39 >ascii "UsGzi9+Tj=HtgALv"& & &&&.&49 4A 59 34 6D 51 >ascii "IJY4mQ3DfW7ykClB"& & &&&.&75 52 64 31 77 38 >ascii "uRd1w8bFh0KZrO5X"& & &&&.&61 4D 6F 45 50 56 >ascii "aMoEPVe6qpS/nNxc"& & &&&.&32 00&&&&&&&&&&&&&ascii "2",0& & &&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&.&FFFFFFFF&&&&&&&&&&dd FFFFFFFF& & 004556DC&&&.&&&&&&&&&&&dd & & &&&.&41 4C 39 3D 48 74 >ascii "AL9=HtGzUJ4mvIJY"&&&&&//cl=3是取这段数据& & &&&.&33 44 37 79 6B 51 >ascii "3D7ykQgAYf+TjWCd"& & &&&.&31 52 68 5A 6C 35 >ascii "1RhZl5oEOeBF8bF0"& & &&&.&75 62 4B 72 56 53 >ascii "ubKrVSaM6qp2n/xc"& & &&&.&4E 00&&&&&&&&&&&&&ascii "N",0& & &&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&.&FFFFFFFF&&&&&&&&&&dd FFFFFFFF& & &&&.&&&&&&&&&&&dd & & 0045572C&&&.&39 3D 6D 48 74 47 >ascii "9=mHtGJ4IJzUvYLQ"& & 0045573C&&&.&33 6B 66 44 6A 67 >ascii "3kfDjgTYyA7RC1+W"& & 0045574C&&&.&41 6C 5A 64 35 65 >ascii "AlZd5eBobhFOEu8F"& & 0045575C&&&.&30 62 4B 72 4D 36 >ascii "0bKrM6aScNpqVMqn"& & 0045576C&&&.&70 00&&&&&&&&&&&&&ascii "p",0& & 0045576E&&&&&&00&&&&&&&&&&&&&&&&db 00& & 0045576F&&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&.&FFFFFFFF&&&&&&&&&&dd FFFFFFFF& & &&&.&&&&&&&&&&&dd & & &&&.&59 76 4A 54 67 43 >ascii "YvJTgCY8yAEumL=k"& & &&&.&66 39 6A 31 2B 47 >ascii "f9j1+GBMhFOSc6aF"& & &&&.&30 4D 37 72 41 6F >ascii "0M7rAobKlRqZebpq"& & &&&.&56 6E 4E 57 64 35 >ascii "VnNWd54DJHIzUtQ3"& & &&&.&70 00&&&&&&&&&&&&&ascii "p",0& & 004557BA&&&&&&00&&&&&&&&&&&&&&&&db 00& & 004557BB&&&&&&00&&&&&&&&&&&&&&&&db 00& & 004557BC&&&.&FFFFFFFF&&&&&&&&&&dd FFFFFFFF& & &&&.&&&&&&&&&&&dd & & &&&.&65 36 39 75 52 38 >ascii "e69uR8d1aqBmS/3D"& & &&&.&35 6C 66 5A 6E 4D >ascii "5lfZnMrOcVpjP=H4"& & &&&.&45 2B 74 68 47 69 >ascii "E+thGi2WxoTCAXgQ"& & &&&.&79 62 46 6B 59 55 >ascii "ybFkYULvIJz0KwsN"& & &&&.&37 00&&&&&&&&&&&&&ascii "7",0& & &&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&.&FFFFFFFF&&&&&&&&&&dd FFFFFFFF& & 0045580C&&&.&&&&&&&&&&&dd & & &&&.&38 71 4F 47 4B 65 >ascii "8qOGKe6d1ah0s5lR"& & &&&.&5A 6B 6D 53 2F 39 >ascii "ZkmS/9uD3lrOnMBR"& & &&&.&58 67 54 51 79 41 >ascii "XgTQyA7bCF2HUxoJ"& & &&&.&7A 4E 4C 76 34 66 >ascii "zNLv4f5riE+tW=YI"& & &&&.&77 00&&&&&&&&&&&&&ascii "w",0& & &&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&.&FFFFFFFF&&&&&&&&&&dd FFFFFFFF& & &&&.&&&&&&&&&&&dd & & 0045585C&&&.&31 68 4B 72 4F 6E >ascii "1hKrOnaM5lRXQyBZ"& & 0045586C&&&.&6B 67 54 6D 53 55 >ascii "kgTmSUO8q7obCJuD"& & 0045587C&&&.&33 6C 47 45 7A 65 >ascii "3lGEze60s/9+tWwA"& & 0045588C&&&.&78 4E 64 52 46 32 >ascii "xNdRF2H5r4iI=Lvf"& & 0045589C&&&.&59 00&&&&&&&&&&&&&ascii "Y",0& & 0045589E&&&&&&00&&&&&&&&&&&&&&&&db 00& & 0045589F&&&&&&00&&&&&&&&&&&&&&&&db 00& & &&&.&FFFFFFFF&&&&&&&&&&dd FFFFFFFF& & &&&.&&&&&&&&&&&dd & & &&&.&36 75 52 64 31 38 >ascii "6uRd185Zfea9m/qD"& & &&&.&4D 42 4F 6C 63 56 >ascii "MBOlcV3SnPHtrG+0"& & &&&.&78 70 34 45 6A 32 >ascii "xp4Ej2WXoCKTbLkw"& & &&&.&46 59 37 4A 76 49 >ascii "FY7JvIsh=UQyAgiN"& & &&&.&7A 00&&&&&&&&&&&&&ascii "z",0& & 『算法』:& & 1、机器码前3为进行标准Base64运算,结果记为M64;& & 2、对M64字符串,安字符查找在固定字符串中的位置,结果以2为10进制输出;& & 3、连接输出的10进制字符串即为注册码;& & 『注册机』:& & 找个现成的Base64代码基本上搞定,其它处理很简单,不写了,《》()。& & 提示:千万不要去追消息传递的数据或跟我一样开始掉进“线程注入”,否则别怪我没提醒你……& & 我的注册信息:& & 机器码:3FEC0923& & 注册码:
  〔联众斗地主记牌器 V2.36 注册算法分析〕随文赠言:【受惠的人,必须把那恩惠常藏心底,但是施恩的人则不可记住它。――西塞罗】
  联众斗地主记牌器 V2.36 注册算法分析所属栏目:〖〗
  “联众斗地主记牌器 V2.36 注册算法分析”相关
  〖〗链接地址:
  电脑资料提供的联众斗地主记牌器 V2.36 注册算法分析由网友原创或转发,若联众斗地主记牌器 V2.36 注册算法分析侵犯了您的权益,请与本站联系,谢谢!
上一篇资料: 下一篇资料:
联众斗地主记牌器 V2.36 注册算法分析相关资料}

我要回帖

更多关于 qq欢乐斗地主记牌器 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信