HTMLVIEW1.68
HTMLVIEW1.68 暴力修改(我等懶人的慣用方法)。
下載地址:HTTP://www.anixsoft.com/files/HTMLView.exe
位元組數:609K
(所用的軟體有TRW2000、unaspack1.0.9.1、peid、DEDE2.50、HEX WORKSHOP3.1)
此檔案沒有註冊時不論啟動還是退出都有煩人的NAG視窗,所以只好開刀手術。請作者不要見怪。我也是不得已而為之。(^_^)
1、此檔案是一個用ASPACK加殼的檔案。首先用unaspack1.0.9.1去殼。
2、用peidenifier0.7檢視此檔案的型別,你就會看到它是用Borland Delphi編的
3、所以正好可以用DEDE2.50反彙編此檔案。(開啟about下的REGBTNCLICK)你就會看到如下程式碼:
***** TRY
|
0049A983 64FF30
push dword ptr fs:[eax]
0049A986 648920
mov fs:[eax], esp
0049A989 33DB
xor ebx, ebx
0049A98B 8D45FC
lea eax, [ebp-$04]
|
0049A98E E8F1ADFFFF call
00495784
0049A993 84C0
test al, al
0049A995 7477
jz 0049AA0E此處也許是判斷是否輸入註冊碼。為空就跳。
0049A997 8BC6
mov eax, esi
|
0049A999 E80A4CF9FF call
0042F5A8
0049A99E 8BC8
mov ecx, eax
* Reference to pointer to GlobalVar_004A48D0
|
0049A9A0 A110384A00 mov
eax, dword ptr [$4A3810]
0049A9A5 8B00
mov eax, [eax]
0049A9A7 8B55FC
mov edx, [ebp-$04]
|
0049A9AA E8E565FDFF call
00470F94 所以此處按F8進入0049A9AF 84C0
test al, al
0049A9B1 7433
jz 0049A9E6輸入錯誤就跳轉。
0049A9B3 6A00
push $00
0049A9B5 6A00
push $00
0049A9B7 8D4DF8
lea ecx, [ebp-$08]
* Possible String Reference to: 'lsSuccessReg' 註冊成功
|
0049A9BA BA40AA4900 mov
edx, $0049AA40
* Reference to control TMainFORM.LangStorage : TLangFORMStorage
|
0049A9BF 8B86FC020000 mov
eax, [esi+$02FC]
|
0049A9C5 E8925FFDFF call
0047095C
0049A9CA 8B45F8
mov eax, [ebp-$08]
0049A9CD 668B0D50AA4900 mov
cx, word ptr [$49AA50]
0049A9D4 B202
mov dl, $02
|
0049A9D6 E8853DFDFF call
0046E760
0049A9DB 8BC6
mov eax, esi
* Reference to : TMainFORM.~PROC~0049A900()
|
0049A9DD E81EFFFFFF call
0049A900
0049A9E2 B301
mov bl, $01
0049A9E4 EB28
jmp 0049AA0E
0049A9E6 6A00
push $00
0049A9E8 6A00
push $00
0049A9EA 8D4DF8
lea ecx, [ebp-$08]
* Possible String Reference to: 'lsInvalidCode'註冊失敗
|
0049A9ED BA5CAA4900 mov
edx, $0049AA5C
* Reference to control TMainFORM.LangStorage : TLangFORMStorage
|
0049A9F2 8B86FC020000 mov
eax, [esi+$02FC]
|
0049A9F8 E85F5FFDFF call
0047095C
0049A9FD 8B45F8
mov eax, [ebp-$08]
0049AA00 668B0D50AA4900 mov
cx, word ptr [$49AA50]
0049AA07 B201
mov dl, $01
|
0049AA09 E8523DFDFF call
0046E760
0049AA0E 33C0
xor eax, eax
0049AA10 5A
pop edx
0049AA11 59
pop ecx
0049AA12 59
pop ecx
0049AA13 648910
mov fs:[eax], edx
****** FINALLY
|
0049AA16 6830AA4900 push
$0049AA30
0049AA1B 8D45F8
lea eax, [ebp-$08]
0049AA1E BA02000000 mov
edx, $00000002
|
0049AA23 E8DC8FF6FF call
00403A04
0049AA28 C3
ret
0049AA29 E9B689F6FF jmp
004033E4
0049AA2E EBEB
jmp 0049AA1B
4、綜上所述執行TRW2000,裝入HTMLVIEW1.68。輸入註冊碼
設中斷BPX 49A9A0
5、按CTR+N返回按確定。攔截成功。看到如下程式碼:
0049A9AA E8E565FDFF call
00470F94 所以此處按F8進入0049A9AF 84C0
test al, al
0049A9B1 7433
jz 0049A9E6輸入錯誤就跳轉。
0049A9B3 6A00
push $00
0049A9B5 6A00
push $00
0049A9B7 8D4DF8
lea ecx, [ebp-$08]
6、按F10當走到如下程式碼時停住:
00470fd3 call 47103c
00470fd8 test al,al
00470fda jz 47100f 註冊碼輸入錯誤就跳。所以修改標誌暫存器,使其不跳轉。
7、繼續按F10,你就會看到如下程式碼
495CD9 CALL 495CE0 按F10過去就可以結束此次pj。再啟動你就會看到煩人的NAG視窗不見了,成為註冊版本。
**********
或者在下面的程式碼處下CODE ON命令看看此時機器碼
00470fd3 call 47103c
00470fd8 test al,al
00470fda jz 47100f
拿筆抄下:E86400000084C07433E8237BF9FF
然後調出十六進位制的編輯器如HEX WORKSHOP查詢抄下的程式碼E86400000084C07433E8237BF9FF把7433改成9090。
也就是把JZ 47100F改成NOP NOP。
此時你就可以隨便輸入註冊碼。