原創(chuàng)|其它|編輯:郝浩|2012-11-06 17:31:11.000|閱讀 2574 次
概述:現(xiàn)在殼的發(fā)展一個(gè)趨勢(shì)就是虛擬機(jī)保護(hù),利用虛擬機(jī)保護(hù)后,能大大提高強(qiáng)度,因此建議盡可能使用此類技術(shù)保護(hù)軟件。如Themida ,WinLicense,VMProtectr等殼帶有虛擬機(jī)保護(hù)功能,因此得用好其SDK。
# 界面/圖表報(bào)表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
現(xiàn)在殼的發(fā)展一個(gè)趨勢(shì)就是虛擬機(jī)保護(hù),利用虛擬機(jī)保護(hù)后,能大大提高強(qiáng)度,因此建議盡可能使用此類技術(shù)保護(hù)軟件。如Themida ,WinLicense,VMProtectr等殼帶有虛擬機(jī)保護(hù)功能,因此得用好其SDK。
VMProtect是一款純虛擬機(jī)保護(hù)軟件,官方鏈接:www.VMProtect.ru。它是當(dāng)前最強(qiáng)的虛擬機(jī)保護(hù)軟件,經(jīng)VMProtect處理過(guò)的代碼,至今還沒(méi)有人公開(kāi)宣稱能還原。但也有缺點(diǎn),就是會(huì)影響程序速度,因此在一些對(duì)速度要求很高的場(chǎng)合就不適合用了。VMProtect 1.22.3之前是免費(fèi)版,可以支持EXE,DLL等文件。更高版本需要購(gòu)買,其支持驅(qū)動(dòng)的保護(hù)。現(xiàn)在流行的做法,先用VMProtect將你的核心代碼處理一下,再選用一款兼容性好的殼保護(hù)。
VMProtect并沒(méi)有提供使用說(shuō)明,必須告訴VMProtect你要加密的代碼具體地址,這對(duì)使用者有一定的要求,至少要懂一些跟蹤技術(shù),可以用調(diào)試器,如OllyDbg跟蹤到程序需要保護(hù)的地址,然后添加地址到VMProtect。 在這以一個(gè)記事本程序?yàn)槔齺?lái)演示一下使用方法。
運(yùn)行VMProtect后,打開(kāi)NOTEPAD.EXE文件。單擊Dump標(biāo)簽,輸入要加密的起始地址,光標(biāo)來(lái)到要加密代碼起始地址后,點(diǎn)擊菜單“project/new procedure”,會(huì)出現(xiàn)一個(gè)新的項(xiàng)目,如下圖。

VMProtect v1.2以上支持SDK了,可以編程時(shí)插入一個(gè)標(biāo)記,然后在加密時(shí),VMProtect會(huì)認(rèn)出這些標(biāo)記,并在有標(biāo)記的地方進(jìn)行保護(hù)。在程序源碼中,用這對(duì)標(biāo)簽將一些核心代碼包含,編譯成EXE文件。然后用VMProtect打開(kāi)EXE,單擊“Project”菜單下的“New procedure”或者單擊工具欄中的“New procedure”按鈕,在彈出的添加地址窗口中會(huì)自動(dòng)將SDK定義代碼的地址填上。然后在VMProtect的“Options”窗口中設(shè)置相應(yīng)的選項(xiàng),最后單擊工具欄中的“Compilation (F9)”按鈕,便可對(duì)目標(biāo)軟件進(jìn)行保護(hù)。經(jīng)VMProtect處理過(guò)的軟件,可以繼續(xù)用Asprotect, Themida等加殼軟件進(jìn)一步保護(hù)。
VMProtect是當(dāng)前最強(qiáng)的虛擬機(jī)保護(hù)軟件,經(jīng)過(guò)VMProtect處理的軟件基本是沒(méi)法分析原程序思路的,關(guān)鍵是用好,一定要將程序關(guān)鍵代碼進(jìn)行處理。另外,經(jīng)虛擬機(jī)處理代碼效率會(huì)降低,因此一些對(duì)效率要求比較高的代碼就不要用VMProtect進(jìn)行處理。
ASProtect是一款應(yīng)用面最廣的加密殼,其兼容性和穩(wěn)定性很好,許多商業(yè)軟件采用這款殼加密。開(kāi)發(fā)者是俄國(guó)人Alexey Solodovnikov,官方站點(diǎn)www.aspack.com。

ASProtect SKE系列己采用了部分虛擬機(jī)技術(shù),主要是在Protect Original EntryPoint與SDK上。保護(hù)過(guò)程中建議大量里使用SDK, SDK使用請(qǐng)參考其幫助文檔,在使用時(shí)注意SDK不要嵌套,并且同一組標(biāo)簽用在同一個(gè)子程序段里。ASProtect使用相當(dāng)?shù)暮?jiǎn)單,打開(kāi)被保護(hù)的EXE/DLL文件后,選上保護(hù)的選項(xiàng)。再單擊菜單Modes,單擊Add Mode按鈕,將Is this Mode Avtive選上,最后,單擊Protection標(biāo)簽,對(duì)軟件進(jìn)行保護(hù)即可。ASProtect加殼過(guò)程中也可外掛用戶自己寫(xiě)的DLL文件,方法是在上圖中的External Options選項(xiàng)加上目標(biāo)DLL即可。這樣,用戶可以在DLL加入自己的反跟蹤代碼,以提高軟件的反跟蹤能力。
Armadillo也稱穿山甲,是一款應(yīng)用面較廣的殼。可以運(yùn)用各種手段來(lái)保護(hù)你的軟件,同時(shí)也可以為軟件加上種種限制,包括時(shí)間、次數(shù),啟動(dòng)畫(huà)面等等!很多商用軟件采用其加殼。Armadillo對(duì)外發(fā)行時(shí)有Public,Custom兩個(gè)版本。Public是公開(kāi)演示的版本,Custom是注冊(cè)用戶拿到的版本。只有Custom才有完整的功能,Public版有功能限制,沒(méi)什么強(qiáng)度,不建議采用。

EXECryptor也是一款猛殼,可能由于兼容性等原因,采用其保護(hù)的商業(yè)軟件不是太多。這款殼的特點(diǎn)是Anti-Debug做的比較隱蔽,另外就是采用了虛擬機(jī)保護(hù)一些關(guān)鍵代碼。

Themida是Oreans的一款商業(yè)殼,Themida 1.1以前版本帶驅(qū)動(dòng),穩(wěn)定性有些影響。Themida最大特點(diǎn)就是其虛擬機(jī)保護(hù)技術(shù),因此在程序中擅用SDK,將關(guān)鍵的代碼讓Themida用虛擬機(jī)保護(hù)起來(lái)。Themida最大的缺點(diǎn)就是生成的軟件有些大。WinLicense這款殼和Themida是同一公司的一個(gè)系列產(chǎn)品,WinLicense主要多了一個(gè)協(xié)議,可以設(shè)定使用時(shí)間,運(yùn)行次數(shù)等功能,兩者核心保護(hù)是一樣的。

本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@ke049m.cn