-
-
[原创]DCG_2_2 算法分析
-
发表于:
2006-9-1 17:54
5134
-
【破文标题】DCG_2_2 算法分析
【破文作者】黑夜彩虹
【破解工具】OD+DeDe
【破解平台】Windows 2K&XP
【软件名称】DCG_2_2 (monkey keygen)
【软件大小】
【保护方式】
1、PEID后,显示:Borland Delphi 6.0 - 7.0 无壳
2、DeDe静态分析,查看到Register入口地址:00466580
3、OD载入,Ctrl+G 00466580
00466580 55 push ebp //下断,F9
00466581 8BEC mov ebp,esp
00466583 83C4 E8 add esp,-18
................省略N行代码..........................................
004665E0 8B55 EC mov edx,dword ptr ss:[ebp-14] ; 用户名:vxin
004665E3 66:B9 E14D mov cx,4DE1
004665E7 8B45 F8 mov eax,dword ptr ss:[ebp-8]
004665EA E8 41FCFFFF call DCG_2_2.00466230 ; 算法CALL F7
004665EF 8D55 E8 lea edx,dword ptr ss:[ebp-18]
004665F2 8B45 FC mov eax,dword ptr ss:[ebp-4]
004665F5 8B80 0003000>mov eax,dword ptr ds:[eax+300]
004665FB E8 E8BAFCFF call DCG_2_2.004320E8
00466600 8B45 E8 mov eax,dword ptr ss:[ebp-18] ; 试练码:123456789
00466603 8B55 F4 mov edx,dword ptr ss:[ebp-C] ; 现真码:3B5A2E24
00466606 E8 A1DDF9FF call DCG_2_2.004043AC ; 入EDX
0046660B 75 13 jnz short DCG_2_2.00466620 ; 暴点,不等则跳,跳则over
0046660D 6A 00 push 0
0046660F 68 6C664600 push DCG_2_2.0046666C ; valid key
00466614 68 6C664600 push DCG_2_2.0046666C ; valid key
00466619 6A 00 push 0
0046661B E8 D400FAFF call <jmp.&user32.MessageBoxA>
=========================算法CALL=======================================
00466240 8955 F8 mov dword ptr ss:[ebp-8],edx ; 用户名:vxin
00466243 8945 FC mov dword ptr ss:[ebp-4],eax
00466246 33C0 xor eax,eax
00466248 55 push ebp
00466249 68 E9624600 push DCG_2_2.004662E9
0046624E 64:FF30 push dword ptr fs:[eax]
00466251 64:8920 mov dword ptr fs:[eax],esp
00466254 66:8B45 F6 mov ax,word ptr ss:[ebp-A]
00466258 66:8945 EE mov word ptr ss:[ebp-12],ax
0046625C 8B45 08 mov eax,dword ptr ss:[ebp+8]
0046625F E8 3CDDF9FF call DCG_2_2.00403FA0
00466264 8B45 F8 mov eax,dword ptr ss:[ebp-8] ; 用户名:vxin
00466267 E8 F4DFF9FF call DCG_2_2.00404260
0046626C 85C0 test eax,eax
0046626E 7E 63 jle short DCG_2_2.004662D3
00466270 8945 E8 mov dword ptr ss:[ebp-18],eax
00466273 C745 F0 0100>mov dword ptr ss:[ebp-10],1
0046627A 8B45 F8 mov eax,dword ptr ss:[ebp-8] ; 循环用户名异或
0046627D 8B55 F0 mov edx,dword ptr ss:[ebp-10]
00466280 8A4410 FF mov al,byte ptr ds:[eax+edx-1]
00466284 0FB755 EE movzx edx,word ptr ss:[ebp-12]
00466288 C1EA 08 shr edx,8
0046628B 32C2 xor al,dl ; 异或
0046628D 8845 F5 mov byte ptr ss:[ebp-B],al
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
第一轮:dl=4D ('M') 与 al=76 ('v') 异或 =al=3B
第二轮:dl=22 ('"') 与 al=78 ('x') 异或 =al=5A
第三轮:dl=47 ('G') 与 al=69 ('i') 异或 =al=2E
第四轮:dl=4A ('J') 与 al=6E ('n') 异或 =al=24
用户名:vxin
注册码:3B5A2E24
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)