加密加殼技術(shù)介紹_第1頁(yè)
加密加殼技術(shù)介紹_第2頁(yè)
加密加殼技術(shù)介紹_第3頁(yè)
加密加殼技術(shù)介紹_第4頁(yè)
加密加殼技術(shù)介紹_第5頁(yè)
已閱讀5頁(yè),還剩1頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、為了保護(hù)自己的軟件不輕易被他人“借鑒,有必要對(duì)軟件進(jìn)行一些加密保護(hù),而這方面目前己有成熟的專業(yè)加密軟件可選擇。但不要太依賴殼的保護(hù),大多數(shù)殼是可以被攻破的,還是在自身保護(hù)上下些功夫。加密軟件比擬多,但在強(qiáng)度與兼容性上做的好的并不多,這里向大家介紹幾款常見(jiàn)的。目前流行的一些殼可以參考這里:現(xiàn)在殼的開(kāi)展一個(gè)趨勢(shì)就是虛擬機(jī)保護(hù),利用虛擬機(jī)保護(hù)后,能大大提高強(qiáng)度,因此建議盡可能使用此類技術(shù)保護(hù)軟件。如Themida ,WinLicense,EXECryptor等殼帶有虛擬機(jī)保護(hù)功能,因此得用好其SDK。1. ASProtect加密殼ASProtect是一款應(yīng)用面最廣的加密殼,其兼容性和穩(wěn)定性很好,許多

2、商業(yè)軟件采用這款殼加密。開(kāi)發(fā)者是俄國(guó)人Alexey Solodovnikov,官方站點(diǎn) aspack 。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ù)即可。ASPr

3、otect加殼過(guò)程中也可外掛用戶自己寫(xiě)的DLL文件,方法是在上圖中的External Options選項(xiàng)加上目標(biāo)DLL即可。這樣,用戶可以在DLL參加自己的反跟蹤代碼,以提高軟件的反跟蹤能力。強(qiáng)度評(píng)介:由于ASProtect名氣太大,研究它的人很多,因此很容易被脫殼,不推薦使用。2. Armadillo加密殼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è)用戶拿到

4、的版本。只有Custom才有完整的功能,Public版有功能限制,沒(méi)什么強(qiáng)度,不建議采用。強(qiáng)度評(píng)介:Armadillo中比擬強(qiáng)大的保護(hù)選項(xiàng)是Nanomites保護(hù)即CC保護(hù),用的好能提高強(qiáng)度,其他選項(xiàng)沒(méi)什么強(qiáng)度。3. EXECryptor加密殼EXECryptor也是一款猛殼,可能由于兼容性等原因,采用其保護(hù)的商業(yè)軟件不是太多。這款殼的特點(diǎn)是Anti-Debug做的比擬隱蔽,另外就是采用了虛擬機(jī)保護(hù)一些關(guān)鍵代碼。強(qiáng)度評(píng)介:用好EXECryptor 虛擬機(jī)保護(hù)功能,將關(guān)鍵敏感代碼用虛擬機(jī)保護(hù)起來(lái),能提高強(qiáng)度。EXECryptor 殼能脫的人很多,但對(duì)付其虛擬機(jī)代碼的人不多。 4. Themida

5、加密殼Themida是Oreans的一款商業(yè)殼,官方鏈接: oreans 。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ù)是一樣的。強(qiáng)度評(píng)介:用好其虛擬機(jī)保護(hù)功能,將關(guān)鍵敏感代碼用虛擬機(jī)保護(hù)起來(lái),能提高強(qiáng)度。5. VMProtectVMProtect是一款純虛擬機(jī)保護(hù)軟件,官方鏈

6、接: VMProtect.ru。它是當(dāng)前最強(qiáng)的虛擬機(jī)保護(hù)軟件,經(jīng)VMProtect處理過(guò)的代碼,至今還沒(méi)有人公開(kāi)宣稱能復(fù)原。但也有缺點(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ù)的地址,然后添加

7、地址到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è)新的工程,如下列圖。 需要處理其他地址時(shí),請(qǐng)依次操作。考前須知:1.用VMProtect處理,請(qǐng)多測(cè)試,如果不穩(wěn)定,請(qǐng)調(diào)整被保護(hù)代碼的范圍。2.VMProtect對(duì)雙線程支持不是太好,請(qǐng)同一次僅處理一個(gè)線程內(nèi)的代碼 VMProtect v1.2以上支持SDK了,可以編程時(shí)插入一個(gè)標(biāo)記,然后在加密時(shí),VMProtect會(huì)認(rèn)出這些標(biāo)記,并在

8、有標(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

9、處理的軟件根本是沒(méi)法分析原程序思路的,關(guān)鍵是用好,一定要將程序關(guān)鍵代碼進(jìn)行處理。另外,經(jīng)虛擬機(jī)處理代碼效率會(huì)降低,因此一些對(duì)效率要求比擬高的代碼就不要用VMProtect進(jìn)行處理。Delphi 中的標(biāo)記模式引用:asm db $EB,$10,'VMProtect begin',0 /標(biāo)記開(kāi)始處.end;/想保護(hù)的程序代碼asm db $EB,$0E,'VMProtect end',0 /標(biāo)記結(jié)束處.end; VC的VMProtect的宏 :引用: #define VMBEGIN _asm /標(biāo)記開(kāi)始處. _emit 0xEB _emit 0x10 _emit 0x56 _emit 0x4D _emit 0x50 _emit 0x72 _emit 0x6F _emit 0x74 _emit 0x65 _emit 0x63 _emit 0x74 _emit 0x20 _emit 0x62 _emit 0x65 _emit 0x67 _emit 0x69 _emit 0x6E _emit 0x00 /想保護(hù)的程序代碼 #define VMEND _asm /標(biāo)記結(jié)束處. _emit 0xEB _emit 0x0E _emit 0x56 _emit 0x4D _emit 0x50 _emit 0x72 _emit 0x6F _emit 0x74 _emit

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論