時下的軟件加殼風(fēng)盛行,而且一個比一個來的兇,如果不及時掌握脫殼的技巧,那么無論對于Cracker還是漢化人來講都將很不利。小弟并不是什么高手,我也是剛剛學(xué)會脫殼,小弟在這將脫殼中總結(jié)出的一些經(jīng)驗(yàn)寫出來,希望能給和小弟一樣剛學(xué)脫殼的朋友一定的幫助。請各位高手不要看了,那樣只會浪費(fèi)您寶貴的時間,如果小弟下面的內(nèi)容有錯漏的地方,請給小弟指正。
現(xiàn)在我們開始練習(xí)脫殼了,首先準(zhǔn)備好 Trw2k 及 Prodump1.62 ,然后隨便找一個EXE文件用Aspack2001壓縮一次,我是用 speedcat2.1(以下簡稱sc) 。
啟動Trw2k,將sc拖到TRW2K中,點(diǎn)擊LOAD,如下:
XXX:00431001 60 PUSHAD *注意這個入棧*
XXX:00431002 E872050000 CALL 00431579
XXX:00431007 EB4C JMP 00431055 *跳到解壓程序*
在這之后程序會在幾個地方作循環(huán),下 G 指令跳出這些循環(huán)以節(jié)省時間,然后小心按F10一直來到:
XXX:004314F3 61 POPAD *注意這個出棧*
XXX:004314F4 7508 JNZ 004314FE *程序入口*
XXX:004314F6 B801000000 MOV EAX,00000001
XXX:004314FB C20C00 RET 000C
XXX:004314FE 6864194000 PUSH 00401964
XXX:00431503 C3 RET
我們已經(jīng)找到程序的入口,可以開始編輯 Prodump1.62 中的Script.ini文件脫殼了。但我還要加一點(diǎn)說明,留意 XXX:00431001 PUSHAD 和 XXX:004314F3 POPAD 這一對指令,匯編知識告訴我們它們?nèi)币徊豢?,我發(fā)現(xiàn)不管是Aspack還是Upx加殼的軟件一開始都會停在 PUSHAD ,然后在 POPAD 指令后緊跟一個跳躍的指令,這個跳躍指令就是程序的入口。
我們現(xiàn)在開始編輯Script.ini文件。打開Script.ini文件,在[INDEX]最下面加上一行P??=Aspack2001(??是在[INDEX]中的行號),然后在Script.ini文件最后完整地加上:
[Aspack2001]
L1=OBJR
L2=LOOK EB,4C *跳到解壓程序的代碼*
L3=JZ 5
L4=QUIT
L5=BP
L6=WALK
L7=OBJR
L8=LOOK 61,75 *程序入口的代碼*
L9=BP
LA=STEP
OPTL1=00000000
OPTL2=01010001
OPTL3=01010001
OPTL4=00030000 *這一行很重要,如果解壓后的程序運(yùn)行有問題,改成00010000
OPTL5=00000000 或00020000試試*
最后存盤。
現(xiàn)在還等什么?用Prodump32脫殼呀!
現(xiàn)在我們開始練習(xí)脫殼了,首先準(zhǔn)備好 Trw2k 及 Prodump1.62 ,然后隨便找一個EXE文件用Aspack2001壓縮一次,我是用 speedcat2.1(以下簡稱sc) 。
啟動Trw2k,將sc拖到TRW2K中,點(diǎn)擊LOAD,如下:
XXX:00431001 60 PUSHAD *注意這個入棧*
XXX:00431002 E872050000 CALL 00431579
XXX:00431007 EB4C JMP 00431055 *跳到解壓程序*
在這之后程序會在幾個地方作循環(huán),下 G 指令跳出這些循環(huán)以節(jié)省時間,然后小心按F10一直來到:
XXX:004314F3 61 POPAD *注意這個出棧*
XXX:004314F4 7508 JNZ 004314FE *程序入口*
XXX:004314F6 B801000000 MOV EAX,00000001
XXX:004314FB C20C00 RET 000C
XXX:004314FE 6864194000 PUSH 00401964
XXX:00431503 C3 RET
我們已經(jīng)找到程序的入口,可以開始編輯 Prodump1.62 中的Script.ini文件脫殼了。但我還要加一點(diǎn)說明,留意 XXX:00431001 PUSHAD 和 XXX:004314F3 POPAD 這一對指令,匯編知識告訴我們它們?nèi)币徊豢?,我發(fā)現(xiàn)不管是Aspack還是Upx加殼的軟件一開始都會停在 PUSHAD ,然后在 POPAD 指令后緊跟一個跳躍的指令,這個跳躍指令就是程序的入口。
我們現(xiàn)在開始編輯Script.ini文件。打開Script.ini文件,在[INDEX]最下面加上一行P??=Aspack2001(??是在[INDEX]中的行號),然后在Script.ini文件最后完整地加上:
[Aspack2001]
L1=OBJR
L2=LOOK EB,4C *跳到解壓程序的代碼*
L3=JZ 5
L4=QUIT
L5=BP
L6=WALK
L7=OBJR
L8=LOOK 61,75 *程序入口的代碼*
L9=BP
LA=STEP
OPTL1=00000000
OPTL2=01010001
OPTL3=01010001
OPTL4=00030000 *這一行很重要,如果解壓后的程序運(yùn)行有問題,改成00010000
OPTL5=00000000 或00020000試試*
最后存盤。
現(xiàn)在還等什么?用Prodump32脫殼呀!