很多人看到這個Eazfuscator.NET還不知是什麼東東。。。
首先介紹下
什麼是 Eazfuscator.NET?
Eazfuscator.NET 是用於.NET平臺的工業級混淆器。
Eazfuscator.NET 提供的混淆保護了軟體中根深蒂固的智慧財產權,提高了商業盈利能力,並保持了競爭優勢。
為什麼好?
Eazfuscator.NET 很簡單,就像 1-2-3 一樣:
- 它可以保護您的程式碼,而不會破壞它 - 即使在最複雜的情況下 - 我們已經處理了它。 你可以把 Eazfuscator.NET 看作是一個很好的合作伙伴,他會幫你很多忙,但仍然不會因為他的任何問題而打擾你。 如果你有一些非常特殊的保護要求,注意 我們的程式碼虛擬化功能。
- 它真的很容易使用:一旦用 Eazfuscator.NET 保護你的Visual Studio專案,然後忘記它。 每次在釋出設定中生成專案時,程式集都會自動進行模糊處理 - 您可以將程式碼釋出到荒野中。
- 需要更改一些設定?是否確定?然後,做你喜歡的事情:編輯你的程式碼。Eazfuscator.NET 完全可設定使用 .NET 模糊處理屬性 — 與使用外觀陌生且不穩定的組態檔和 UI 嚮導相反。 您需要了解的所有資訊都在我們完整的產品檔案中。
混淆是什麼樣的?
下面開始正文,來體驗下Eazfuscator.NET最新版的強大功能
1、新建立winform.Eazfuscator.NET專案
框架我們選擇.net framework 當然選擇.netcore也可以的啦,最新版Eazfuscator.NET 2023.2 版本已經初步適配.net8
2023年4月30日更新
-
- 初步支援.NET 8.0
- 支援JetBrains Rider 2023.1
- 現在可以在型別/方法級別上控制程式碼控制流混淆
- 新增了一個設定設定,可以降低混淆過程的優先順序
- Eazfuscator.NET現在在ARM64機器上原生執行,無需觸發x86模擬(適用於Windows 11+ ARM64、.NET Framework 4.8.1+)
- 更改的系統要求:Windows 8.1+,Windows Server 2012 R2+
- 改進了對.NET 7.0的支援
- 改進了程式集合並
- 改進了程式集嵌入
- 改進了NuGet整合
- 改進了後設資料刪除
- 改進了對各種序列化方案的支援
- 改進了檔案
- 修復了可能導致"無法檢索到XXX的自定義屬性容器"錯誤的問題
- 修復了在混淆Unity專案時可能導致"找不到方法"錯誤的問題
- 修復了在執行混淆應用程式時可能導致"給定的程式集名稱或程式碼庫無效"錯誤的問題
- 修復了在混淆過程中可能導致"路徑中有非法字元"錯誤的問題
- 修復了參照"GitVersion.MsBuild"包的專案在混淆過程中可能導致"依賴關係推斷失敗"錯誤的問題
- 修復了在編譯過程中可能導致"識別符號不符合CLS規範"的SGEN錯誤的問題
- 修復了在混淆時使用程式碼內聯指令處理屬性存取器時可能導致"屬性具有屬於另一個型別的相關方法"錯誤的問題
- 修復了在特定情況下合併程式集時可能導致"給定的鍵在字典中不存在"錯誤的問題
2、開啟專案工程資料夾,找到csproj VS專案檔案.
3、開啟加密軟體,並將此工程檔案拖進去
現在我們檢視它到底對建立的工程檔案修改了什麼
可以看到它為我們的工程檔案新增了新的MSBuild屬性,構建過程完成後執行加密操作。
<PropertyGroup>
<PostBuildEvent>if /I "$(ConfigurationName)" == "Release" Eazfuscator.NET.exe "$(TargetPath)" --msbuild-project-path "$(ProjectPath)" --msbuild-project-configuration "$(ConfigurationName)" --msbuild-project-platform "$(PlatformName)" --msbuild-solution-path "$(SolutionPath)" -n --newline-flush -v 2023.2</PostBuildEvent>
</PropertyGroup>
現在我們將專案切換到Release(釋出)模式,編譯我們的專案
點生成檢視輸出視窗發現它已經將釋出的程式集加密了,是不是簡單方便鴨?
現在我們使用反編譯工具檢視一下程式碼加密的前後對比
加密後可以看到所有關鍵的字串及其方法都進行了混淆加密,這種混淆的程式碼難以讓人讀懂,有效保護了軟體的智慧財產權。
以上就是我的一次程式碼加密小記錄,適合新人小白,不熟悉Eazfuscator.NET加密的同學參考,簡單通俗易懂。