Themida Themida

Themida 軟體保護系統

Themida是一個強大的保護系統,是為了那些想保護自己的程式不被先進的反向工程和駭客軟體破解的軟體發展者而開發的。開發者不需要更改任何的原代碼,和不需要程式編制的經驗使用WinLicense。

分類: 程式碼編輯軟體

 

Latest Version:3.1 | Latest Release: 3.1.1.0 | Release Date: 27-Apr-2021




在建立應用程式時,編譯器會將應用程式源代碼編譯成由機器語言代碼組成的多個目標文件。然後將目標文件鏈接在一起以建立最終的可執行文件。



Figure 1: Compilation of your source code

以編譯時將應用程式的源代碼轉換為機器代碼的相同方式,有一些工具可將已編譯的應用程式轉換為彙編語言或更高級的程式語言。 這些工具被稱為解密器和解編譯器。



Figure 2: Decompilation of your application

攻擊者可以使用拆裝器或解編譯器來研究特定應用程式的工作方式以及特定例程的作用。 當攻擊者對目標應用程式有很好的了解時,他可以修改已編譯的應用程式來改變他的行為。例如,攻擊者可以繞過在應用程序中檢查試用期的例程,並使其永久運作,甚至導致應用程序的行為與註冊一樣。




建立軟體保護程式以防止攻擊者直接檢查或修改已編譯的應用程式。 軟體保護器就像是一個可以保護應用程式不受可能攻擊的屏蔽。當受保護的應用程式將由操作系統運作時,軟體保護程式將首先控制CPU並檢查可能在系統上運作的可能破解工具(拆裝器或解編譯器。如果一切安全,軟體保護程式將繼續解密受保護的應用程式,並使其能夠正常執行對CPU的控制。

使用軟體保護器的優點是:

  •  保護應用程式免受盜版
  •  防止攻擊者研究應用程序的運作方式
  • 不允許攻擊者修改應用程式以改變其行為




由於軟體保護器的誕生,許多攻擊者將大部分精力集中在攻擊軟體保護器本身而不是應用程式上。已經開發了許多工具來幫助攻擊軟體保護器。這些攻擊通常會導致攻擊者獲得解密的原始應用程式並刪除保護包裝。



Figure 3: Common software protectors philosophy

軟體保護者的主要問題在於他們使用非常知名的保護技術,因此他們可以輕鬆地繞過傳統的破解工具。


保護程序中的另一個重要問題是它們限制了操作系統的執行,即它們以正常的應用程式權限運作。由於這種攻擊者可以使用與操作系統具有相同優先級的破解工具,因此可以全面監控軟保護程式在某個特定時間正在執行的操作並在特定位置對其進行攻擊。



透過Themida®,我們集中了軟體保護器的主要弱點,從而解決提供完整的解決方案。 Themida®使用SecureEngine®保護技術,當運作在最高級別時,實現從未見過的保護技術,以保護應用程式免受高級軟體破解。



Figure 4: Themida® protection procedure


SecureEngine®可以擊敗所有可用於受保護應用程式的當前破解工具,並確保您的受保護應用程式僅在安全環境中運作。



Figure 5: SecureEngine® technology adds more strength to the existing protection




對於大多數程式員來說,軟體保護編程並不是一個眾所周知的領域。正因為如此,大多數軟體保護作者可能會談論令人印象深刻的技術,這些技術中的大多數幾乎都不存在,或者它們比看起來簡單得多。

大多數軟體保護者重申了很多關於使用非常強大的密碼算法,如RSA,橢圓曲線和AES,希望最終用戶會相信那些保護器和神秘算法是不可破解的。這與軟體保護的真相遠遠不同於數據保護。即使軟體保護程式使用最健全的加密算法對受保護的應用程式進行加密,受保護的應用程式遲早也需要解密以便由CPU運作。在這個階段,大多數攻擊者將通過將解密的應用程式從內存轉儲到磁盤來開始工作,從而不必處理加密算法和重構原始應用程式。




在Themida®中,我們希望對攻擊者可以利用哪些弱點以及我們真正需要注意保護具有最高安全性的應用程序以抵禦軟件破解的現實性保持現實。

 

These are the key features of Themida®:

Anti-debugger techniques that detect/fool any kind of debugger
Anti-memory dumpers techniques for any Ring3 and Ring0 dumpers
Different encryption algorithms and keys in each protected application
Anti-API scanners techniques that avoids reconstruction of original import table
Automatic decompilation and scrambling techniques in target application
Virtual Machine emulation in specific blocks of code
Advanced Mutator engine
SDK communication with protection layer 
Anti-disassember techniques for any static and interactive disassemblers 
Multiple polymorphic layers with more than 50.000 permutations
Advanced API-Wrapping techniques
Anti-monitors techniques against file and registry monitors
Random garbage code insertion between real instructions
Specialized protection threads
Advanced Threads network communication
Anti-Memory patching and CRC techniques in target application
Metamorphic engine to scramble original instructions
Advanced Entry point protection 
Dynamic encryption in target application
Anti-tracing code insertion between real instructions
Advanced Anti-breakpoint manager
Real time protection in target application
Compression of target application, resources and protection code
Anti-“debugger hiders” techniques 
Full mutation in protection code to avoid pattern recognition
Real-time simulation in target application
Intelligent protection code insertion inside target application
Random internal data relocation
Possibility to customize dialogs in protected application
Support of command line
Many many more...

 

     Themida x32/x64 protects:
      Native EXE x32/x64
      Native Dynamic Libraries x32/x64 (DLL, OCX, BPL, etc.)
      .NET EXE x32/x64 (C#, VB.NET, etc.)


 

 

     Themida x32 protects:
      Native EXE x32
      Native Dynamic Libraries x32 (DLL, OCX, BPL, etc.)
      .NET EXE x32 (C#, VB.NET, etc.)
 

WinLicense®


 

Combines the power of software protection (as Themida), with the power of advanced license control. It offers a wide range of powerful and flexible techniques that allow developers to securely distribute trial versions of their applications.

Code Virtualizer®


 

Powerful code obfuscation system for Windows, Linux and Mac OS X applications that helps developers to protect their sensitive code areas against Reverse Engineering with very strong obfuscation code, based on code virtualization.

WL Orders Manager®


 

Simple and effective database application that helps software vendors managing their orders, customers, licenses, emails, subscriptions, etc. It can work with an embedded local database or with a remote MySQL database. It supports UNICODE. 

XBundler®


 

Special plugin for Themida/WinLicense that allows DLLs and data files to be embedded inside an application, simplifying the distribution of your application to your customers and avoiding your DLLs and data files being used by third party software. 

WinLicense DLL Control®


 

Special plugin for WinLicense that allows you taking full control over your protected applications and offers total freedom in your software design.