【文章标题】: 休闲小游戏全集的注册算法分析(原创)
【文章作者】: 傲雪飘零
【下载地址】: 天空软件站
【加壳方式】: 无壳
【保护方式】: 机器码+注册码
【编写语言】: Dephi6.0-7.0
【使用工具】: PEID、OD
--------------------------------------------------------------------------------
【详细过程】
00488F86 . 50 push eax ;此处下断,F8
00488F87 . 8D55 E0 lea edx,dword ptr ss:[ebp-20]
00488F8A . 8B45 FC mov eax,dword ptr ss:[ebp-4]
00488F8D . 8B80 14030000 mov eax,dword ptr ds:[eax+314]
00488F93 . E8 D4A3FBFF call 休闲小游.0044336C
00488F98 . 8B45 E0 mov eax,dword ptr ss:[ebp-20] ;取机器码
00488F9B . B9 06000000 mov ecx,6
00488FA0 . BA 01000000 mov edx,1
00488FA5 . E8 E2B5F7FF call 休闲小游.0040458C
00488FAA . 8B4D E4 mov ecx,dword ptr ss:[ebp-1C] ;机器码前6位送ECX
00488FAD . 8D45 E8 lea eax,dword ptr ss:[ebp-18]
00488FB0 . BA E0914800 mov edx,休闲小游.004891E0 ;ASCII "0x"
00488FB5 . E8 BEB3F7FF call 休闲小游.00404378
00488FBA . 8B45 E8 mov eax,dword ptr ss:[ebp-18] ;机器码前6位转换为16进制,即0xCF31CB
00488FBD . E8 12F5F7FF call 休闲小游.004084D4
00488FC2 . 8BF0 mov esi,eax
00488FC4 . 33C0 xor eax,eax
00488FC6 . 55 push ebp
00488FC7 . 68 F6904800 push 休闲小游.004890F6
00488FCC . 64:FF30 push dword ptr fs:[eax]
00488FCF . 64:8920 mov dword ptr fs:[eax],esp
00488FD2 . 8D55 DC lea edx,dword ptr ss:[ebp-24]
00488FD5 . 8B45 FC mov eax,dword ptr ss:[ebp-4]
00488FD8 . 8B80 04030000 mov eax,dword ptr ds:[eax+304]
00488FDE . E8 89A3FBFF call 休闲小游.0044336C
00488FE3 . 8B45 DC mov eax,dword ptr ss:[ebp-24] ;取伪码
00488FE6 . E8 E9F4F7FF call 休闲小游.004084D4
00488FEB . 8BD8 mov ebx,eax ;伪码的16进制送EBX
00488FED . 8BC3 mov eax,ebx
00488FEF . 2BC6 sub eax,esi ;伪码与机器码前6位的16进制相减
00488FF1 . 3B05 CC0F4900 cmp eax,dword ptr ds:[490FCC] ;再与ds:[490FCC]的值,即99E1E比较
00488FF7 . 74 38 je short 休闲小游.00489031 ;相等则跳
00488FF9 . 68 EC914800 push 休闲小游.004891EC ;您输入的注册码
00488FFE . 8D55 D4 lea edx,dword ptr ss:[ebp-2C]
00489001 . 8B45 FC mov eax,dword ptr ss:[ebp-4]
00489004 . 8B80 04030000 mov eax,dword ptr ds:[eax+304]
0048900A . E8 5DA3FBFF call 休闲小游.0044336C
0048900F . FF75 D4 push dword ptr ss:[ebp-2C]
00489012 . 68 08924800 push 休闲小游.00489208 ;不正确,请与作者联系
00489017 . 8D45 D8 lea eax,dword ptr ss:[ebp-28]
0048901A . BA 03000000 mov edx,3
0048901F . E8 C8B3F7FF call 休闲小游.004043EC
00489024 . 8B45 D8 mov eax,dword ptr ss:[ebp-28]
(省略中间代码)
004890C8 . 6A 00 push 0 ; /Arg1 = 00000000
004890CA . 66:8B0D 5892480>mov cx,word ptr ds:[489258] ; |
004890D1 . B2 02 mov dl,2 ; |
004890D3 . B8 64924800 mov eax,休闲小游.00489264
004890D8 . E8 1335FAFF call 休闲小游.0042C5F0 ; \休闲小游.0042C5F0
【经验总结】
机器码前6位的16进制(我这里是0xCF31CB)+0x99E1E=真码的16进制,再转换为10进制即可。
【版权声明】: 本文原创于看雪技术论坛, 转载请注明作者并保持文章的完整, 谢谢!
2007年02月25日 13:02:08
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课