C#加殼工具做代碼加密保護

當前C# .net語言的應用範圍越來越廣泛,IIS 的服務器架構後臺代碼、桌面應用程序的 winform 、Unity3d 的邏輯腳本都在使用。C# .net 具備強大的便捷特性,使得開發成本極低。而作爲一款.net 語言,也有它讓開發者頭疼的弊病——非常容易被反編譯。市面上的 Dnspy, ILspy,de4dot等工具可以非常容易反編譯出被混淆保護的C# .net 程序。

解決方案

深思自主研發了爲 C# .net 語言做保護的外殼:Virbox Protector .NET版。將C# .net 編譯成的執行程序(.exe),動態庫(.dll)直接拖入加殼工具即可完成保護操作,十分方便。並且在效果上已經完全看不到源碼中的邏輯。 

Virbox Protector加密功能介紹

名稱混淆(.NET)

將 .net 的方法名類名使用隨機字符串重新命名,導出和外部的名稱不會改變。

保護效果圖

保護前,如圖所示:

保護後,如圖所示:

壓縮

Virbox Protector 的壓縮功能,其核心目的不是“壓縮”,並非專爲縮小程序體積而設計的。它真正的作用是將代碼與數據段做了加密,並將原先的導入表與重定位信息隱藏了起來,再”順便“將原先的數據做了壓縮。

原理

將原始的代碼段與數據包打包並壓縮,將原始程序入口(OEP)替換爲殼代碼,運行時由殼代碼將代碼段與數據段還原,並進行一些重定位等操作,使程序能正常運行。

功能

防止靜態反編譯,防止程序被打補丁。

優點

1、能起到一層整體保護效果,可以隱藏程序的代碼、數據和文件結構信息。

2、運行效率高,僅在程序被加載時輕微的性能損失。

保護效果圖

保護前,如圖所示:

保護後,如圖所示:

去除強簽名

1、強名稱(StrongName)使.NET提供的一種驗證機制, 主要包括標識版本和標識原作者。

2、強名稱可以用來幫助用戶驗證自己得到的程序是否爲原作者所寫切沒有被修改(例如添加惡意代碼), 跟自校驗有點類似。

3、因此添加了強名稱的程序加殼時要去除強名稱, 並在加殼後重新添加強名稱。

函數級保護-代碼加密

原理

代碼加密是使用動態代碼技術,將原始方法字節碼加密,執行時纔將方法解密並執行的保護方式。

功能

防脫殼,防止直接 Dump。

優點

1、運行效率高,幾乎沒有性能損失。

保護效果圖

保護前,如圖所示:

保護後,如圖所示:

代碼混淆

原理

代碼混淆亦稱花指令,是將計算機程序的代碼,轉換成一種功能上等價,但是難於閱讀和理解的形式。

Virbox Protector 支持對 x86/arm/.net il 系列指令進行混淆。

功能

擾亂原始指令,防止靜態分析。

優點

1、防反編譯。

保護效果圖

保護前,如圖所示:

保護後,如圖所示:

瞭解更多

試用版下載地址:http://dl.download.virbox.com/vps/10807/virboxprotector_trial_1.5.0.10808_windows.exe

試用版授權碼:J6AJ-TLJM-3CUB-3S8K

試用版快速使用教程:

開始加密:

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章