什么是 VMProtect
VMProtect 是新一代的軟件保護(hù)實用程序。VMProtect 支持 Delphi、Borland C Builder、Visual C/C++、Visual Basic(本機(jī))、Virtual Pascal 和 XCode 編譯器。同時 VMProtect 有一個內(nèi)置的反匯編程序,可以與 Windows 和 Mac OS X 可執(zhí)行文件一起工作,還可以鏈接由編譯器創(chuàng)建的 MAP 文件,以快速選擇要保護(hù)的代碼片段。
為了輕松實現(xiàn)應(yīng)用程序保護(hù)任務(wù)的自動化,VMProtect 實施了一種內(nèi)置腳本語言。VMProtect 完全支持從 Windows 2000 開始的 Windows 系列的 32/64 位操作系統(tǒng),以及從版本 10.6 開始的 Mac OS X。重要的是,無論目標(biāo)平臺如何,VMProtect 都支持所有范圍的可執(zhí)行文件,也就是說,Windows 版本可以處理 Mac OS X 版本的文件,反之亦然。
VMProtect 的基石原則是通過使應(yīng)用程序代碼和邏輯非常復(fù)雜以供進(jìn)一步分析和破解,從而有效地保護(hù)應(yīng)用程序代碼免受檢查。VMProtect 應(yīng)用的主要軟件代碼保護(hù)機(jī)制是:虛擬化、變異和涉及應(yīng)用程序代碼變異與后續(xù)虛擬化的組合保護(hù)。
VMProtect 中使用的虛擬化方法的關(guān)鍵優(yōu)勢在于,執(zhí)行虛擬化代碼片段的虛擬機(jī)被嵌入到受保護(hù)應(yīng)用程序的結(jié)果代碼中。因此,受 VMProtect 保護(hù)的應(yīng)用程序不需要第三方庫或模塊即可運(yùn)行。VMProtect 允許使用多個不同的虛擬機(jī)來保護(hù)同一應(yīng)用程序的不同代碼片段,從而導(dǎo)致更復(fù)雜的破解過程,因為黑客現(xiàn)在必須分析多個虛擬機(jī)的架構(gòu)。
VMProtect 中應(yīng)用的應(yīng)用程序代碼變異方法基于混淆——一個向應(yīng)用程序代碼添加各種過多的“垃圾”命令、代碼的“死”部分、隨機(jī)條件跳轉(zhuǎn)的過程。它還會改變原始命令并將某些操作的執(zhí)行轉(zhuǎn)移到堆棧。
VMProtect 與其他軟件保護(hù)器的主要區(qū)別在于它能夠使用不同的方法保護(hù)代碼的不同部分:部分代碼可以虛擬化,另一部分進(jìn)行混淆,關(guān)鍵片段使用組合方法進(jìn)行保護(hù)。
為了防止防病毒軟件的誤報,VMProtect 的注冊版本使用庫,該庫使用許可證所有者的證書對受保護(hù)的文件進(jìn)行簽名。
VMProtect 的另一個獨特功能是將嵌入到應(yīng)用程序代碼中。水印可以明確識別程序的被黑副本的官方所有者,因此可以對他或她采取某些措施。
VMProtect 有 3 個版本:
- 精簡版;
- 專業(yè)的;
- 最終的;
下表列出了某些 VMProtect 版本的功能差異:
功能 | VMProtect 版本區(qū)別 | ||
簡化版 | 專業(yè)版 | 終極版 | |
保護(hù)方法 | |||
突變 | + | + | + |
虛擬化 | + | + | + |
Ultra(變異+虛擬化) | + | + | + |
控制臺版本 |
|
+ | + |
保護(hù)選項 | |||
內(nèi)存保護(hù) | + | + | + |
導(dǎo)出保護(hù) | + | + | + |
資源保護(hù) | + | + | + |
封裝 | + | + | + |
調(diào)試器檢測 | + | + | + |
虛盒檢測 | + | + | + |
服務(wù)功能 | |||
水印 |
|
+ | + |
腳本語言 |
|
+ | + |
許可制度 |
|
|
+ |
許可證管理器 |
|
|
+ |
文件保護(hù) |
|
|
+ |