Add Remove Plus! 2000 v2.0破解手記 附:Windows 優化大師 3.3的破解方法
目標軟體:Add Remove Plus! 2000 v2.0
破 解 人:TAE!
保護機制:Nag視窗
破解方法:暴力破解
下載地址:http://www.aurelitec.com/
先執行程式,出現了一個類似Vbox的Nag,著實嚇了我一跳.心想:一個幾百K的軟體
也用Vbox封裝?
用FileInfo檢測發現是一個delphi程式,頓時鬆了口氣.
用Trw載入程式.
:0046B440 55
push ebp
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:0046B3F9(C)
|
:0046B441 8BEC
mov ebp, esp
:0046B443 83C4F4
add esp, FFFFFFF4
:0046B446 B818B24600 mov eax,
0046B218
:0046B44B E8A8ADF9FF call
004061F8
* Possible StringData Ref from Code Obj ->"INSTALL.DA2"
|
:0046B450 B9B8B44600 mov ecx,
0046B4B8
* Possible StringData Ref from Code Obj ->"INSTALL.DA1"
|
:0046B455 BACCB44600 mov edx,
0046B4CC
* Possible StringData Ref from Code Obj ->"INSTALL.DA0"
|
:0046B45A B8E0B44600 mov eax,
0046B4E0
:0046B45F E83C90FFFF call
004644A0 //這句執行後便出現Nag
:0046B464 84C0
test al, al //選擇 "Try"後回到了這裡
:0046B466 7441
je 0046B4A9 //此時不跳轉;若選了Quit,這裡便會跳走
:0046B468 A160D04600 mov eax,
dword ptr [0046D060]
:0046B46D 8B00
mov eax, dword ptr [eax]
:0046B46F E81409FEFF call
0044BD88
:0046B474 A160D04600 mov eax,
dword ptr [0046D060]
:0046B479 8B00
mov eax, dword ptr [eax]
* Possible StringData Ref from Code Obj ->"Add/Remove Plus! 2000"
既然知道了產生Nag的call,那我就用 tKC常用的Return大法來超度它!
進入那個產生Nag的call,便到了這裡:
* Referenced by a CALL at Address:
|:0046B45F
|
:004644A0 55
push ebp //就在這一行做做手腳吧
:004644A1 8BEC
mov ebp, esp
:004644A3 83C4E0
add esp, FFFFFFE0
:004644A6 53
push ebx
:004644A7 56
push esi
:004644A8 57
push edi
:004644A9 33DB
xor ebx, ebx
:004644AB 895DF0
mov dword ptr [ebp-10], ebx
:004644AE 895DF8
mov dword ptr [ebp-08], ebx
:004644B1 8BD8
mov ebx, eax
:004644B3 33C0
xor eax, eax
:004644B5 55
push ebp
:004644B6 68EA464600 push
004646EA
:004644BB 64FF30
push dword ptr fs:[eax]
:004644BE 648920
mov dword ptr fs:[eax], esp
:004644C1 C645FF00
mov [ebp-01], 00
:004644C5 33C0
xor eax, eax
:004644C7 55
push ebp
:004644C8 68AF464600 push
004646AF
:004644CD 64FF30
push dword ptr fs:[eax]
:004644D0 648920
mov dword ptr fs:[eax], esp
:004644D3 8D55F0
lea edx, dword ptr [ebp-10]
:004644D6 33C0
xor eax, eax
:004644D8 E8C7E3F9FF call
004028A4
:004644DD 8B45F0
mov eax, dword ptr [ebp-10]
在004644A0這行,將55改為C3即Ret
這樣程式執行到這裡後,就會立即返回撥用它的地方,也就是0046B464,程式就不會出現Nag了.
然後再將 0046B466 處的 7441
改為: 9090
程式已經被破解啦!
其實 tKC 的這種Ret大法非常適合於以下這種情況:
有許多地方呼叫這個call.
比如: 00000000:Call 11111111
00000001:test al,1
11111111:push
XXXXXXXX: ...
可以改為:
00000000:Call 11111111
00000001:test al,1
11111111:mov al,1
XXXXXXXX:ret
這樣所有呼叫這裡的地方,返回的al值都是1了!cool吧?
當然這兒可以充分發揮你的想象力,讓我們改的更好!
已經3點多了,該睡了!
Windows 優化大師 3.3的破解方法
Aspack 2.11加的殼,先脫殼,都會吧?
然後...
查詢:83f8147407bb01000000
改為: EB
查詢:83f8147423bba1860100
改為: EB
成為隨意註冊版!