
【基本介紹】
aspack脫殼工具是一款對win32可執(zhí)行程序進(jìn)行壓縮的軟件,它能夠?qū)xe、dll等格式的程序進(jìn)行壓縮,壓縮完后的程序還能夠繼續(xù)運(yùn)行,不會(huì)出現(xiàn)任何異常。aspack脫殼工具的壓縮率極高,可以將程序的體積壓縮到原先的一半大小,能夠節(jié)省存儲(chǔ)空間,有效提高計(jì)算機(jī)的運(yùn)行速度。
【官方介紹】
ASPack是非常好的PE格式文件壓縮軟件,使用非常方便,而且操作很快捷。它可以降低網(wǎng)絡(luò)應(yīng)用的時(shí)間,以及從網(wǎng)絡(luò)上下載的時(shí)間,嵌入Windows的應(yīng)用程序需要一個(gè)更小的空間,保護(hù)資源和防止代碼被剽竊,分解分析和反編譯,發(fā)行被壓縮程序無執(zhí)行時(shí)間上的延遲,與微軟的可執(zhí)行軟件如Visual C++, Visual Basic, Inprise (Borland) Delphi and C++ Builder, 和其他的Win32 編譯器等相兼容。
【特點(diǎn)功能】
更加優(yōu)越地處理可執(zhí)行文件(EXE、DLL、OCX)編碼和壓縮程序代碼,數(shù)據(jù)和資源
完全地獨(dú)立透明的操作,并且支持長文件名
快速地解壓比其他任何競爭產(chǎn)品有著更好的表現(xiàn)
直接集成到Windows里作為易用的外殼引伸
兼容windows95 /NT4.0/98/ME/2000/XP/2003/Vista/7。 被保護(hù)的應(yīng)用程序同時(shí)也與Windows 7兼容

【優(yōu)點(diǎn)介紹】
-可以明顯地減少可執(zhí)行文件的大小,一般來說可以減少40%-70%-降低網(wǎng)絡(luò)應(yīng)用的時(shí)間,以及從網(wǎng)絡(luò)上下載的時(shí)間
-嵌入Windows的應(yīng)用程序需要一個(gè)更小的空間
-保護(hù)資源和防止代碼被剽竊,分解分析和反編譯
-發(fā)行被壓縮程序無執(zhí)行時(shí)間上的延遲
-與微軟的可執(zhí)行軟件如Visual C++, Visual Basic, Inprise (Borland) Delphi and C++ Builder, 和其他的Win32 編譯器等相兼容.

【使用方法】
其實(shí)ASPack是比較簡單的東西,可以說,很大程度上,它可以對程序的大小進(jìn)行壓縮,方便發(fā)布。今天從實(shí)際的例子來說說如何進(jìn)行手脫。當(dāng)然,所謂的手脫,不是說完全靠手工, 我們還需要一定的工具,首先是PEiD,大家可以在起點(diǎn)軟件園上下載到,主要用于查殼的一種小工具。第二個(gè)就是動(dòng)態(tài)調(diào)試工具OD(ollydbg),這個(gè)工具同樣可以在起點(diǎn)軟件園找到下載。
我們以一個(gè)ascii轉(zhuǎn)換的小工具為例子。因?yàn)閯倓偤檬怯胊spack加的殼。所以我們就拿它開刀。

上圖是軟件的界面,這個(gè)時(shí)候的軟件大小是846 KB (866,816 字節(jié))是不是感覺很小呢?我們用peid進(jìn)行查看殼。

可以清晰的看到是aspack的殼吧。而且還有版本,我們使用OD打開它。對于是否繼續(xù)分析,我們點(diǎn)否就可以。然后我們就可以看到下面類似的代碼。

我們可以看到入口是停止了pushad,也就是寄存器壓統(tǒng)一入棧操作。那么我們就可以輕松的使用所謂的ESP定律來搞定了。按一下F7,到下一行,看寄存器窗口。里面的ESP的值 。

看到ESP寄存器是紅色的了。我們copy對應(yīng)的0012FFA4,到我們的命令行窗口下硬件斷點(diǎn)。
硬件斷點(diǎn)就是hr ,然后加上我們剛剛copy的地址,然后回車,這個(gè)時(shí)候我們可以再菜單的。調(diào)試》硬件斷點(diǎn) 中看到我們設(shè)置的硬件斷點(diǎn)了。

設(shè)置好斷點(diǎn)后,我們直接按F9運(yùn)行程序,它會(huì)在斷點(diǎn)處停下來。大致的位置看截圖

好,我們可以高興的看到,發(fā)生了jnz,就是不等于0就跳轉(zhuǎn),而且是紅色的方向向下跳轉(zhuǎn)。紅色代表跳轉(zhuǎn)已經(jīng)實(shí)現(xiàn),方向是向下,就是到了地址為006AF3BA的地方,然后這個(gè)地 方push壓入一個(gè)地址,通過retn方式返回。我們這個(gè)時(shí)候刪除硬件斷點(diǎn)。方法是調(diào)試》硬件斷點(diǎn) 選擇刪除我們剛剛hr命令添加的硬件斷點(diǎn)。然后我們按F7單步就到了push 這個(gè)壓棧的地方。然后我們在 按兩次F7單步執(zhí)行。就到了

看到這個(gè)地方,如果你調(diào)試比較多的話,一定明白這個(gè)就是入口了。首先你看地址,跳轉(zhuǎn)跨度很大。說明殼的代碼前面執(zhí)行完成,現(xiàn)在跳轉(zhuǎn)來執(zhí)行真正的代碼了。而且這個(gè)代碼 是典型的vc的編譯出現(xiàn)的匯編代碼。在地址00422240的地方,我們選擇右鍵,選擇用ollydump脫殼調(diào)試進(jìn)程。彈出如下的界面

方式隨便選擇。我默認(rèn),我們直接點(diǎn)擊脫殼按鈕,然后取一個(gè)脫殼完成的exe名稱就可以了。然后我們來查看是否脫殼成功,使用我們的peid進(jìn)行查殼。具體效果如下圖所示

我們可以看到真正的語言了。和編譯器的版本。然后我們再運(yùn)行我們脫殼后的程序,如果正在運(yùn)行就說明一切OK了。
【常見問題】
如何減少對460kb ASPACK 1.7mb我的應(yīng)用?ASPack使用結(jié)合的一個(gè)很小的解壓程序非常強(qiáng)大的壓縮算法(小于1KB)在可執(zhí)行文件。
那怎么使用呢?
在一個(gè)可執(zhí)行文件被壓縮,ASPack寫了一個(gè)小地方的解壓縮和壓縮文件結(jié)束的圖像。應(yīng)用程序的入口點(diǎn)的地址設(shè)置為解壓縮開始,和原來的入口點(diǎn)是保存。在解壓縮解壓縮文件到內(nèi)存,它切換到應(yīng)用原始入口點(diǎn)。
壓縮文件加載速度更快或更慢?
在大多數(shù)情況下,程序加載更快,因?yàn)樗麄兪禽^小的,需要較少的磁盤訪問加載的可執(zhí)行文件。減壓很快。但是,如果內(nèi)存是有限的,窗口可以將應(yīng)用程序轉(zhuǎn)移到交換文件,在這種情況下,加載可能會(huì)比平常慢。
我可以aspack'ed解壓縮文件?
用ASPACK的原因第一是防止修改和反編譯的應(yīng)用程序,并解壓縮創(chuàng)建設(shè)計(jì)黑客的障礙。
當(dāng)我從我的電腦刪除aspack.exe,與壓縮文件時(shí)會(huì)發(fā)生什么?
沒有什么.每個(gè)壓縮文件中有一個(gè)小的內(nèi)置減壓。ASPACK本身并不需要運(yùn)行aspack'ed文件。
可以保護(hù)我免受黑客ASPack程序嗎?
ASPack只是一個(gè)封隔器,不是一個(gè)完整的“保護(hù)者”。但ASPack反對非專業(yè)黑客的一個(gè)很好的防守。
我用你的ASPACK程序,但我仍然困擾著違法登記號(hào)碼。為什么不能保護(hù)我的應(yīng)用ASPACK對抗的呢?
因?yàn)槟闶褂玫氖且粋€(gè)弱的序列號(hào)計(jì)劃,它是被黑客攻擊的密鑰生成器。

































