破解API Spy for Windows 95/98/NT/2000 《=寫得不好,初學者看一看吧
破解人:4
日期:七月二日
API32spy是一個非常有用的破解工具!它可以用來偵測系統呼叫了那些函式,幫助我們決定下什麼斷點。
下載:http://madmat.hypermart.net/apis3225.exe
http://apis32.virtualave.net/soft/apis3225.exe
http://skyscraper.fortunecity.com/emacs/859/soft/apis3225.exe
首先,用Fileinfor2.45(FI.exe)檢查到APISpy2.5(Apis32.EXE)是用Petite1.2加密。
使用Procdump1.62脫殼它的殼吧。不是吧?ERROR!錯誤操作?
執行Blast Wave 2000 v0.2(Blast Wave 2000 是一個windows 下的脫殼輔助工具。
它能輕易的找到任何加密殼的入口點.包括ASProtect以及幻影的加密殼.)
按Trace鍵,執行Apis32.EXE. 得到Entry point: 00406360
用w32dasm開啟Apis32.EXE,反編譯後, 按Find Text鍵,打入Entry point地址:00406360
找到:004????? E989CDFEFF JMP 00406360
哈,寫下E989CDFEFF吧。
不如再一次使用Procdump來脫殼它的殼吧?就寫一個新的Script來脫殼Petite1.2的殼。
開啟Procdump 的Script.ini
[INDEX]
.
.
.
P1B=VGCrypt 0.75
P1C=Aspack108.4
P1D=Aspack2000
P1E=Petite1.2 《=這裡加入新的脫殼名稱
; script by GustawKit
.
.
.
加入新的脫殼資料
[Petite1.2] 《=新的脫殼名稱
L1=LOOK E9,89,CD,FE,FF 《=先前寫下的E989CDFEFF
L2=BP
《=如果發現斷點
L3=STEP
《=就進行一步一步的解析操作,解壓以後,儲存檔案
OPTL1=00000000
OPTL2=01000001
OPTL3=01010001
OPTL4=00030000
OPTL5=00000000
執行Procdump1.62,選擇Unpack=》選擇 Petite1.2=》選擇Apis32.EXE
等待Apis32.EXE的資訊視窗彈出,再按Procdump1.62的OK鍵,開始脫殼。成功了。
然後
用w32dasm開啟Apis32.EXE,反編譯後, 按String Data References 鍵。
找那個彈出視窗的資訊“This copy of APIS32 is UN R E G I S T E R
E D”
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402EA5(C)
|
* Possible StringData Ref from Data Obj ->"This copy of APIS32
is U "
->"N R E G I
S T E R E D" "
|
:00402EA9 BF10A24000 mov edi,
0040A210
:00402EAE BA20BD4000 mov edx,
0040BD20
:00402EB3 83C9FF
or ecx, FFFFFFFF
:00402EB6 33C0
xor eax, eax
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:00402491(U)
|
:00402494 0AC0
or al, al 《=修改這兒。or al,01(修改0AC0=>0c01)
:00402496 7402
je 0040249A 《=如果al=0,就跳(一跳就玩完了)
:00402498 EB09
jmp 004024A3
果然彈出視窗不見了。
下一步,修改註冊。找那個彈出視窗的資訊"The registration information you.... "
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004018B9(U)
|
:004018BC 0AC0
or al, al 《=修改這兒。or al,01(修改0AC0=>0c01)
:004018BE 7402
je 004018C2 《=如果al=0,就跳(一跳就玩完了)
:004018C0 EB2C
jmp 004018EE
* Referenced by a (U)nconditional or (C)onditional Jump at Address:
|:004018BE(C)
|
* Possible StringData Ref from Data Obj ->"The registration information you
"
->"provided is
incorrect. Please verify "
->"that you entered
your name and "
->"code properly,
and try again. If "
->"you encounter
difficulties, please "
->"send mail
to APIS32@Biosys.net or "
->"visit our
web site http://madmat.hypermart.net"
|
:004018C2 BFFCA04000 mov edi,
0040A0FC
:004018C7 BA80C74000 mov edx,
0040C780
:004018CC 83C9FF
or ecx, FFFFFFFF
:004018CF 33C0
xor eax, eax
:004018D1 F2
repnz
:004018D2 AE
scasb
怎麼啦?這個程式的作者老是使用這個指令去判斷是否註冊啊。
or al, al
je 004018C2 《=如果al=0,就跳(一跳就玩完了)
算了,把所有的 or al, al更換成or al,01吧。
使用Hex workshop的Replace代替功能把所有0AC0換成0c01 (大約十個左右)
OK,破解API Spy for Windows 95/98/NT/2000 成功。