新發的日常小實驗——使用.NET Reactor對.NET程序進行加殼保護(反編譯、加殼、混淆)

一、前言

最近在搞winfrom窗體應用的開發,做一個簡單的瀏覽器,然後嵌入到Unity中使用(PC版本)。
由於winfrom使用.NET Framwork框架開發,所以可以很輕易地使用ILSpyexe進行反編譯。

注:ILSpy下載:https://github.com/icsharpcode/ILSpy/releases

在這裏插入圖片描述
所以我們需要對exe進行加殼保護。這裏我要介紹一個加殼神器:.Net Rector

二、關於.Net Rector

.NET Reactor是一款功能強大的代碼保護以及許可授權管理系統軟件,主要用於開發人員保護其.NET軟件程序,.NET Reactor支持所有支持.NET編譯的程序開發語言。
.NET Reactor官網:https://www.eziriz.com/dotnet_reactor.htm

三、.Net Rector下載

鏈接:https://pan.baidu.com/s/1LSRbjslJnjWOyhArazCaSA
提取碼:1ywu

四、.Net Rector的簡單使用

1、主界面

在這裏插入圖片描述
Files:加載程序集
Settings:設置
License Manager:許可證管理
.NET Inspector:.NET方法查看

2、選擇程序及(.exe)

點擊Open,選擇要加殼保護的.exe
在這裏插入圖片描述

3、Quick Settings(快速設置)

通過Quick Settings可以進行快速設置。

設置 說明
NecroBit 用加密的代碼替換CIL代碼,阻止反編譯
Anti ILDASM 防止反編譯和反彙編
Anti Tampering 防止黑客利用工具修改你的軟件,運行前會進行二進制完整性檢查
Native EXE File 生成一個本地x86 exe文件作爲根嵌入程序防止反編譯
Obfuscation 替換變量名稱,方法名稱等來混淆代碼
String Encryption 加密字符串
Compress &Encrypt Resources 壓縮和加密託管資源,運行時會自動解壓和解密資源
Control Flow Obfuscation 控制流混亂,一種混淆方式

4、點擊Protect,執行加殼保護

點擊Protect,執行加殼保護
在這裏插入圖片描述
執行成功後,點擊Browser Folder即可打開加殼保護後的exe所在的目錄
在這裏插入圖片描述
此時使用ILSpy反編譯exe,會看到無法正常反編譯了
在這裏插入圖片描述

五、補充

1、Settings(詳細設置)

通過Settings可以進行詳細設置。
在這裏插入圖片描述
具體設置參見官方說明文檔
https://www.eziriz.com/help/main_panel.html
在這裏插入圖片描述

2、License Manager(證書管理)

當客戶端軟件使用過期時,此時就需要購買許可證文件。此界面就是用於生成許可證。生成許可證也可以配置,可以設置許可證的過去時間,使用次數,是否針對特定的電腦等。

在這裏插入圖片描述