作為開(kāi)發(fā)人員來(lái)說(shuō),最喜悅的事情是自己開(kāi)發(fā)的產(chǎn)品大獲成功,取得大家的認(rèn)可;而最憤怒的事情則是自己辛苦忙碌很長(zhǎng)時(shí)間的成果被人輕易竊取,成為別人的嫁衣。知識(shí)產(chǎn)權(quán)在科技日新月異的今日受到越來(lái)越多的關(guān)注,僅僅依靠日漸完善的法律約束和道德譴責(zé)是遠(yuǎn)遠(yuǎn)不夠的,我們還需要在技術(shù)層面上保護(hù)自己的工作成果,防止利益受到侵害。
對(duì)于軟件開(kāi)發(fā)者來(lái)說(shuō),最需要保護(hù)的東西就是產(chǎn)品的源代碼。我們知道,任何存放源代碼的容器都不會(huì)是萬(wàn)無(wú)一失的,一個(gè)精明的黑客總會(huì)找到這樣或者那樣的方式拿到自己想要的東西。但是,如果在代碼或者軟件中加個(gè)殼呢,那么結(jié)果就會(huì)很不一樣了。這類(lèi)代碼保護(hù)類(lèi)程序可以有效的保護(hù)我們的知識(shí)產(chǎn)權(quán)。
市場(chǎng)上的代碼保護(hù)類(lèi)軟件有很多種,所面向的對(duì)象和處理方式也有所不同,今天我們將介紹幾款熱門(mén)的代碼保護(hù)類(lèi)軟件,看看它們各自的特點(diǎn),方便讀者作出自己的選擇:
VMProtect是一款虛擬機(jī)保護(hù)軟件,是目前最為流行的保護(hù)殼之一。VMProtect將保護(hù)后的代碼放到虛擬機(jī)中運(yùn)行,這將使分析反編譯后的代碼和破解變得極為困難。除了代碼保護(hù),VMProtect還可以生成和驗(yàn)證序列號(hào),設(shè)置過(guò)期時(shí)間,限制免費(fèi)更新等等。
- 突出特性:虛擬化代碼 - 軟件保護(hù)的下一步,大多數(shù)保護(hù)系統(tǒng)在應(yīng)用程序啟動(dòng)時(shí)加密和解密代碼。VMProtect根本不對(duì)代碼進(jìn)行解密。相反,被加密的代碼運(yùn)行在一個(gè)虛擬的CPU上,該CPU與通用的x86和x64CPU明顯不同,因?yàn)槊罴瘜?duì)于每個(gè)被保護(hù)的文件都是不同的。
- 保護(hù)方式:VMProtect支持生成和驗(yàn)證序列號(hào),包括手動(dòng)和自動(dòng)生成。序列號(hào)可以通過(guò)有限的時(shí)間或日期和硬件鎖定,沒(méi)有序列號(hào)代碼是無(wú)法運(yùn)行的。
- 保護(hù)選項(xiàng):內(nèi)存保護(hù)、導(dǎo)入保護(hù)、資源保護(hù)、打包受保護(hù)的文件、調(diào)試器檢測(cè)和虛擬化工具檢測(cè)等。
- 支持文件格式:可執(zhí)行文件(EXE、SCR)、動(dòng)態(tài)鏈接庫(kù)(DLL,OCX,BPL)和驅(qū)動(dòng)程序(SYS)。
- 支持操作系統(tǒng):可在自Windows 95開(kāi)始的幾乎任何版本W(wǎng)indows OS上運(yùn)行,32和64位版本都被支持,兼容DEP和UAC。
WinLicense是一款采用SecureEngine保護(hù)技術(shù)的成熟軟件系統(tǒng)。它具有強(qiáng)大的軟件保護(hù)功能以及授權(quán)管理功能,可以保護(hù)自己的程序不被先進(jìn)的反向工程和黑客破解。開(kāi)發(fā)者不需要更改任何的源代碼,也不需要經(jīng)驗(yàn)即可使用。
- 突出特性:漏洞深度檢測(cè) - WinLicense的軟件保護(hù)層技術(shù)始終處于最新最高級(jí);不同于其它同類(lèi)產(chǎn)品,WinLicense的部分代碼可以在Windows內(nèi)核模式下運(yùn)行,可以應(yīng)對(duì)最新的軟件破解技術(shù)。
- 保護(hù)方式:采用SecureEngine這一項(xiàng)獨(dú)創(chuàng)的保護(hù)技術(shù),以最高的優(yōu)先度運(yùn)行,擾亂程序的運(yùn)行代碼、資料和 API,使軟件破解者難以對(duì)程序進(jìn)行還原;針對(duì)反匯編器和反編譯器進(jìn)行加密保護(hù),并具有黑客工具監(jiān)測(cè)功能;可以根據(jù)開(kāi)發(fā)者的需要?jiǎng)?chuàng)建不同的注冊(cè)碼,并可進(jìn)行硬件綁定,使程序只能運(yùn)行在特定的計(jì)算機(jī)上;擁有強(qiáng)大的存儲(chǔ)試用狀態(tài)的引擎,可避免軟件破解者重置有效期。
- 保護(hù)選項(xiàng):注冊(cè)管理,代碼混淆,API保護(hù),黑客工具監(jiān)測(cè)。
- 支持文件格式:可執(zhí)行文件(EXE、SCR)、動(dòng)態(tài)鏈接庫(kù)(DLL)。(DLL格式的參見(jiàn)WinLicense DLL Control)
- 支持操作系統(tǒng):Windows系統(tǒng)
Allatori Java obfuscator是第二代Java代碼混淆器。除了保護(hù)功能之外,還附加了一系列的功能,幾乎可以抵御一切的代碼攻擊。同時(shí),Allatori可以讓您的程序體積更小,速度更快,效果簡(jiǎn)直讓人難以置信。
- 突出特性:命名混淆 - 是Allatori的一大特色,包括混淆類(lèi)名、函數(shù)名和參數(shù)名。命名混淆的性能取決于算法。算法越精密越復(fù)雜,性能越強(qiáng)大。無(wú)論多么復(fù)雜的工程項(xiàng)目,Allatori都能夠識(shí)別和處理,它可以區(qū)分任何繼承關(guān)系和方式,而且不受軟件架構(gòu)的影響。
- 保護(hù)方式:對(duì)所有的字符串?dāng)?shù)據(jù)分析并進(jìn)行編碼,使其處于類(lèi)常量池中。Allatori還增加了一小段代碼,用于在程序運(yùn)行時(shí)對(duì)字符串進(jìn)行解碼。因此,黑客反編譯出來(lái)的將會(huì)是隨機(jī)組成的符號(hào)集,而不是字符串?dāng)?shù)據(jù)。
- 保護(hù)選項(xiàng):命名混淆、流程混淆、調(diào)試信息混淆、增量混淆、J2ME混淆、Android混淆、字符串加密、防止反編譯等
.NET Reactor是一款功能強(qiáng)大的代碼保護(hù)以及許可授權(quán)管理系統(tǒng),主要用于開(kāi)發(fā)人員對(duì)其.NET軟件的保護(hù),其支持所有支持.NET編譯的程序開(kāi)發(fā)語(yǔ)言。
- 突出特性:適用廣泛 - 無(wú)論是什么平臺(tái),什么客戶(hù)端,只要是.NET產(chǎn)品.NET Reactor都能夠提供保護(hù)。.NET Reactor可廣泛用于Windows端、Web端、Silverlight、智能移動(dòng)設(shè)備等地方,提供應(yīng)用程序,類(lèi)庫(kù)和Windows服務(wù)的保護(hù)。
- 保護(hù)方式:.NET Reactor采用了業(yè)界領(lǐng)先的NecroBit技術(shù),這種技術(shù)是.NET Reactor專(zhuān)有的,從2004年以來(lái)從未被破壞,它可以使得源代碼的重構(gòu)變得非常困難。
- 保護(hù)選項(xiàng):.net代碼加密、資源加密和壓縮、控制流混淆、反篡改保護(hù)、常數(shù)字段刪除、IL代碼刪除、字符串加密等。
標(biāo)簽:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn