翻譯|使用教程|編輯:黃竹雯|2019-03-25 15:55:03.000|閱讀 703 次
概述:如今,大多數保護軟件都沒有太多關注混淆和虛擬化,這允許破解者以自動或半自動模式移除這種保護。現代保護軟件的另一個瓶頸是使用未記錄的Windows功能,這會導致在較新版本的OS中受保護應用程序的運行受限。VMProtect是新一代的軟件保護系統,將保護后的代碼放到虛擬機中運行,這將使分析反編譯后的代碼和破解變得極為困難。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
VMProtect是一款虛擬機保護軟件,是目前最為流行的保護殼之一。VMProtect將保護后的代碼放到虛擬機中運行, 這將使分析反編譯后的代碼和破解變得極為困難。除了代碼保護,還可以生成和驗證序列號,設置過期時間,限制免費更新等等。
一個軟件產品可以使用靜態或動態分析方法來進行分析。靜態分析意味著保護破解算法基于反匯編結果分析或受保護應用程序的反編譯。破解加密或動態變化的可執行文件需要動態分析,因為使用靜態分析來達到此目的是十分困難的。
對于動態分析,正在破解的程序在調試器框架中執行。這樣的話,程序運行期間發生的一切都可以由調試器控制。在動態分析期間,破解者使用調試模式逐個繞過程序的所有保護算法,特別是注冊密鑰生成和檢查過程。 另一個經常使用的動態分析工具是跟蹤破解程序查詢的文件,系統服務,端口和外部設備。
保護應用程序免受破解的主要工具是軟件保護程序。大多數保護器提供的保護基于原始可執行文件的打包和/或加密,重點放在保護解包/解密過程上。
這種算法通常不足以提供可靠的保護。如果應用程序受到打包保護,黑客可以在解包器完成其工作后立即進行內存轉儲,從而輕松獲取原始解壓縮文件。此外,還有多種自動化工具可以破解最流行的保護器。 加密也是如此:在獲得適當的許可證密鑰(通常是合法購買)之后,破解者可以解密受保護的代碼部分。
某些軟件保護程序使用許多反調試技術。但是,它們中的每一個都會影響受保護程序的性能。此外,反調試方法僅對動態分析有效,對靜態分析完全無用。 更重要的是,現代保護器使用的所有反調試方法都是眾所周知的,而且破解者已經編程了許多程序來避免或繞過反調試方法。活動監視器完全不受內置反調試保護的影響。
保護應用程序更有效的方法是混淆和虛擬化,這會使受保護應用程序代碼的分析變得很復雜。通常,這些保護方法的效率基于人為因素:代碼越復雜,應用程序使用的資源越多,破解者就越難理解程序邏輯,從而無法破解保護。
混淆通過向應用程序添加過多指令來復雜化應用程序的代碼。虛擬化將源代碼轉換為由特殊解釋器執行的字節碼,該解釋器使用一組特定命令模擬虛擬機。 因此,虛擬化導致所得代碼的復雜性高且不可簡化,并且如果正確應用,則使用這種方法保護的代碼不包含顯式恢復原始代碼的方法。 所以,虛擬化的主要優點是代碼的虛擬化片段在執行期間不會轉換為機器語言命令,這反過來又阻止了破解者獲取應用程序的原始代碼。
虛擬化片段的逆向工程被簡化為分析虛擬機的體系結構,為虛擬機模仿的處理器的相應體系結構構建反匯編器,以及分解反匯編代碼。正確實現的虛擬機使得創建反匯編程序非常困難。虛擬化的唯一缺點是執行速度相對較低,因此該方法僅應用于對執行速度不重要的代碼部分。
如今,大多數保護軟件都沒有太多關注混淆和虛擬化,這允許破解者以自動或半自動模式移除這種保護。現代保護軟件的另一個瓶頸是使用未記錄的Windows功能,這會導致在較新版本的OS中受保護應用程序的運行受限。
VMProtect是新一代的軟件保護系統,將保護后的代碼放到虛擬機中運行,這將使分析反編譯后的代碼和破解變得極為困難。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn