破解FAQGenie
[软件简介]
FAQGenie是一个专门用来作FAQ网页的软件。不注册30天限制。
在www.inhua.com有下载。
[破解工具]
DeDe 2.50
trw2000
W32Dasm
[破解经过]
简单的发现:
(1) FI报告是Delphi程序。
(2) 启动软件,没有发现输入注册码的地方,只告诉你,NOT LICENSED(没有注册)。
用DeDe处理一下,看到下面的东东:
procedure TfrmMain.LogoMouseDown(Sender: TObject; Button: TMouseButton; Shift:
TShiftState; X: Integer; Y: Integer);
begin
{
00491158 55
push ebp
00491159 8BEC
mov ebp, esp
0049115B 53
push ebx
0049115C 8BD8
mov ebx, eax
0049115E 80F901
cmp cl, $01
00491161 7523
jnz 00491186
00491163 803D505A490000 cmp
byte ptr [$495A50], $00
0049116A 741A
jz 00491186
0049116C B201
mov dl, $01
* Reference to control TfrmMain.edtRegCode : TEdit
|
0049116E 8B83E8020000 mov
eax, [ebx+$02E8]
* Reference to: controls.TControl.SetVisible(TControl;System.Boolean);
|
00491174 E843CEF9FF call
0042DFBC
00491179 B201
mov dl, $01
* Reference to control TfrmMain.lblRegCode : TLabel
|
0049117B 8B83E4020000 mov
eax, [ebx+$02E4]
* Reference to: controls.TControl.SetVisible(TControl;System.Boolean);
|
00491181 E836CEF9FF call
0042DFBC
00491186 5B
pop ebx
00491187 5D
pop ebp
00491188 C20C
ret $0C
}
end ;
这是什么?我猜是鼠标对logo进行操作后,便出现可以输入注册码的东东了。
开始试验,经过数分钟的乱试,发现只要先对滚动字符的地方双击,然后用鼠标右键点击logo,
注册码输入的地方就显示出来了。
如何拦住输入的注册码呢?用hmemcpy试了一下,没成功。
正在苦恼之际,看了一下W32Dasm里面的stringlist,发现有几处关于RegCode的地方。这是其中一处。
* Referenced by a CALL at Addresses:
|:0048A371 , :0048A3B8 , :0048A57B , :0048CFF8 , :0048DDBD
|:0048E632 , :00490158 , :00490AD4 , :004911D9
|
:00490B78 55
push ebp
:00490B79 8BEC
mov ebp, esp
:00490B7B 6A00
push 00000000
:00490B7D 6A00
push 00000000
:00490B7F 53
push ebx
:00490B80 56
push esi
:00490B81 33C0
xor eax, eax
:00490B83 55
push ebp
:00490B84 681D0C4900 push
00490C1D
:00490B89 64FF30
push dword ptr fs:[eax]
:00490B8C 648920
mov dword ptr fs:[eax], esp
:00490B8F 33DB
xor ebx, ebx
:00490B91 C705485A49008DECA200 mov dword ptr [00495A48], 00A2EC8D
:00490B9B 8D45FC
lea eax, dword ptr [ebp-04]
:00490B9E 50
push eax
:00490B9F 33C9
xor ecx, ecx
* Possible StringData Ref from Code Obj ->"RegCode"
|
:00490BA1 BA340C4900 mov edx,
00490C34
* Possible StringData Ref from Code Obj ->"Software\Virdi Software\FAQGenie"
|
:00490BA6 B8440C4900 mov eax,
00490C44
:00490BAB E8F04BFFFF call
004857A0
:00490BB0 B201
mov dl, 01
* Possible StringData Ref from Code Obj ->"TBase64SV勔t兡痂叮?嬟嬸3覌畦仩?艶嬈勠t?
->"颍?d?"
|
<------ 注册码变成base64编码后放入注册表里面去?
:00490BB2 A1808C4800 mov eax,
dword ptr [00488C80]
:00490BB7 E81881FFFF call
00488CD4
:00490BBC 8BF0
mov esi, eax
:00490BBE 8D4DF8
lea ecx, dword ptr [ebp-08]
:00490BC1 8B55FC
mov edx, dword ptr [ebp-04]
:00490BC4 8BC6
mov eax, esi
:00490BC6 E86584FFFF call
00489030
:00490BCB 8BC6
mov eax, esi
:00490BCD E8CE21F7FF call
00402DA0
:00490BD2 33D2
xor edx, edx
:00490BD4 8B45F8
mov eax, dword ptr [ebp-08]
:00490BD7 E86C73F7FF call
00407F48
:00490BDC A34C5A4900 mov dword
ptr [00495A4C], eax <------ ? eax可以看见假注册码
:00490BE1 A1485A4900 mov eax,
dword ptr [00495A48]
:00490BE6 3B054C5A4900 cmp eax, dword
ptr [00495A4C] <------ ? eax就是真注册码了。假的和真的作比较。
:00490BEC 7514
jne 00490C02
:00490BEE A1105A4900 mov eax,
dword ptr [00495A10]
:00490BF3 8B8048040000 mov eax, dword
ptr [eax+00000448]
:00490BF9 B201
mov dl, 01
:00490BFB E8BCD3F9FF call
0042DFBC
:00490C00 B301
mov bl, 01
输入注册码后,需要退出程序然后重新进入,就会发现是注册版了。
- 标 题:破解FAQGenie (4千字)
- 作 者:henryw
- 时 间:2001-4-10 13:28:30
- 链 接:http://bbs.pediy.com