文檔首頁>>Eziriz中文文檔>>混淆
混淆
.NET Reactor 是用于為.NET Framework編寫的軟件的功能強大的代碼保護和軟件許可系統(tǒng),并且支持生成.NET程序集的所有語言。主要功能特點:知識產(chǎn)權(quán)保護、強大的許可系統(tǒng)、軟件開發(fā)工具包以及部署。支持對所有.NET產(chǎn)品的保護。
除了源代碼保護之外,.NET Reactor 還提供徹底的類和成員混淆,并輔之以不同的排除方案、在混淆名稱中使用不可打印字符,甚至增量混淆,這始終為類型和成員名稱生成相同的混淆字符串。
混淆會破壞類型和成員名稱?;煜^程將程序轉(zhuǎn)換為更難以進行逆向工程的等效程序。這種方法的優(yōu)點是它在標準硬件上運行,并且無需對虛擬機或可用解釋器進行任何更改。
.NET Reactor 完全支持聲明式混淆。聲明性混淆允許您直接定義哪些類型和成員應(yīng)從混淆中排除。這可以通過在源代碼中使用自定義屬性System.Reflection.ObfuscationAttribute來完成。.NET Reactor 會自動檢測屬性并從混淆中排除相應(yīng)的類型和成員。
混淆節(jié)點:
- 創(chuàng)建映射文件 - 啟用“創(chuàng)建映射文件”以創(chuàng)建一個文件,該文件將未混淆的名稱與混淆的名稱交叉引用,由堆棧跟蹤反混淆器使用。
- 啟用 - 設(shè)置為 True 以混淆所有非公共類和成員名稱。
- 排除 - 選擇您想要防止混淆的類型。
- 增量混淆 - 如果您希望 IntelliLock 始終為您的類型和成員名稱生成相同的混淆字符串,則需要啟用此選項。
- 混淆公共類型 - 使其能夠混淆所有類型和成員名稱。
- 混淆可序列化類型 - 禁用此選項以防止可序列化類型被混淆。
- 使用不可打印的字符 - 不可打印的字符使用不可打印的字符串來混淆類型和成員名稱,但如果程序集必須作為安全代碼運行,則不能使用不可打印的字符。
示例(使用 ILSpy 反編譯):