當前位置: 妍妍網 > 碼農

.NET強加密工具推薦

2024-01-30碼農

點選上方 藍字 江湖評談 設為關註




經常有人後台問.NET加密工具哪個比較強,他們好不容易開發的軟體產品,需要版權資訊保護,怕被人破解了,讓推薦兩款。

其實這個東西,見仁見智,每個人都有自己的想法和認同。個人的觀點是加密軟體一定要帶虛擬機器加密的,這種破解的難度幾何倍數的增長。為啥?在.NET技術棧當中,能真正懂得CLR/JIT的少之又少。幾百萬行程式碼,LLDB/GDB/Windbg/只能窺探部份,不解全貌,這裏面有很多可以騷操作的點和面。帶有虛擬機器加密的軟體,強度還是比較可觀的。

這裏個人認為的,對大部份人來說比較有安全感的,帶虛擬機器加密軟體主要有以下幾種

1.DNGuard HVM(DHVM)

DNGuard HVM 一款 .Net 安全產品,它為 .NET 產品 程式碼、版權保護提供高強度解決方案。它的加密功能、混淆功能以及HVM虛擬機器保護功能讓您的產品同時受到多重保護。

獨創的HVM技術,不同於其它同類產品. 其它同類產品加密保護的程式執行時,每當一個方法需要進行即時編譯(Just-Int-Time Compilation)時,會短時間在記憶體中解密還原方法體的原始IL程式碼.這就給破解者提供了可乘之機。

HVM技術使方法在進行即時編譯時不會還原出原始的IL程式碼,而是以HVM虛擬碼的形式出現在記憶體中,由HVM編譯器協助Jit直接從HVM虛擬碼生成本地程式碼,從而保證您的程式程式碼任何時候都不會在記憶體中出現。

HVM II技術使用一個動態虛擬引擎,在動態引擎中解釋執行受保護的少部份程式碼,而大部份程式碼在動態虛擬引擎中編譯執行。 可以達到一個較好的效能平衡,並有效保護程式程式碼。

2.virbox protector(VBP)

將被保護的程式程式碼轉換為虛擬機器程式碼,程式執行時,虛擬機器將模擬程式執行,進入和離開虛擬機器都有高級程式碼混淆。虛擬機器配合程式碼混淆可以達到很好的保護效果,尤其是開發者的私有邏輯。

高級混淆利用花指令和程式碼非等價變形等技術,將程式的程式碼轉換成一種功能上等價但是難於閱讀和理解的程式碼,可充分幹擾靜態分析。

防脫殼,防止直接Dump。使用 SMC(Self-Modifying Code)技術將原始的函式加密,在函式被執行時才將函式解密並執行的保護方式,執行效率高,幾乎沒有效能損失。

3.VMProtect(VMP)

另外還有個VMP,這個東西的強度甚至某些方面還超越了上面兩種。但是問題在於VMP的強度在於非托管,而托管上面則表現非常一般,這裏就不再推薦。