天天看點

代碼保護軟體 VMProtect 使用者手冊:分析,破解和保護軟體

VMProtect是一款虛拟機保護軟體,是目前最為流行的保護殼之一。VMProtect将保護後的代碼放到虛拟機中運作, 這将使分析反編譯後的代碼和破解變得極為困難。除了代碼保護,VMProtect還可以生成和驗證序列号,設定過期時間,限制免費更新等。                                                            

代碼保護軟體 VMProtect 使用者手冊:分析,破解和保護軟體

靜态和動态分析

一個軟體産品可以使用靜态或動态分析方法來進行分析。靜态分析意味着保護破解算法基于反彙編結果分析或受保護應用程式的反編譯。破解加密或動态變化的可執行檔案需要動态分析,因為使用靜态分析來達到此目的是十分困難的。

對于動态分析,正在破解的程式在調試器架構中執行。這樣的話,程式運作期間發生的一切都可以由調試器控制。在動态分析期間,破解者使用調試模式逐個繞過程式的所有保護算法,特别是注冊密鑰生成和檢查過程。 另一個經常使用的動态分析工具是跟蹤破解程式查詢的檔案,系統服務,端口和外部裝置。

保護應用程式免受破解的主要工具是軟體保護程式。大多數保護器提供的保護基于原始可執行檔案的打包和/或加密,重點放在保護解包/解密過程上。

這種算法通常不足以提供可靠的保護。如果應用程式受到打包保護,黑客可以在解包器完成其工作後立即進行記憶體轉儲,進而輕松擷取原始解壓縮檔案。此外,還有多種自動化工具可以破解最流行的保護器。 加密也是如此:在獲得适當的許可證密鑰(通常是合法購買)之後,破解者可以解密受保護的代碼部分。

反調試技術

某些軟體保護程式使用許多反調試技術。但是,它們中的每一個都會影響受保護程式的性能。此外,反調試方法僅對動态分析有效,對靜态分析完全無用。 更重要的是,現代保護器使用的所有反調試方法都是衆所周知的,而且破解者已經程式設計了許多程式來避免或繞過反調試方法。活動螢幕完全不受内置反調試保護的影響。

混淆和虛拟化

保護應用程式更有效的方法是混淆和虛拟化,這會使受保護應用程式代碼的分析變得很複雜。通常,這些保護方法的效率基于人為因素:代碼越複雜,應用程式使用的資源越多,破解者就越難了解程式邏輯,進而無法破解保護。

混淆通過向應用程式添加過多指令來複雜化應用程式的代碼。虛拟化将源代碼轉換為由特殊解釋器執行的位元組碼,該解釋器使用一組特定指令模拟虛拟機。 是以,虛拟化導緻所得代碼的複雜性高且不可簡化,并且如果正确應用,則使用這種方法保護的代碼不包含顯式恢複原始代碼的方法。 是以,虛拟化的主要優點是代碼的虛拟化片段在執行期間不會轉換為機器語言指令,這反過來又阻止了破解者擷取應用程式的原始代碼。

虛拟化片段的逆向工程被簡化為分析虛拟機的體系結構,為虛拟機模仿的處理器的相應體系結構建構反彙編器,以及分解反彙編代碼。正确實作的虛拟機使得建立反彙程式設計式非常困難。虛拟化的唯一缺點是執行速度相對較低,是以該方法僅應用于對執行速度不重要的代碼部分。

如今,大多數保護軟體都沒有太多關注混淆和虛拟化,這允許破解者以自動或半自動模式移除這種保護。現代保護軟體的另一個瓶頸是使用未記錄的Windows功能,這會導緻在較新版本的OS中受保護應用程式的運作受限。

VMProtect是新一代的軟體保護系統,将保護後的代碼放到虛拟機中運作,這将使分析反編譯後的代碼和破解變得極為困難。

                                                               【VMProtect最新試用版下載下傳】

繼續閱讀