針對 Mono 和整個 .NET 的免費開源混淆器
BitMono 是一個免費的開源C# 混淆器,最初主要為Mono 設計和使用,但是,現在您可以隨意將它用於任何.NET 應用程序,但是要小心,一些保護措施適用於.NET Framework,一些保護措施適用於在 .NET 上,有些在 Mono 上,有些僅在 Unity 上。
BitMono 使用 AsmResolver 而不是 dnlib(我們過去使用過)來處理組件。如果您有疑問或問題,請在此告知我們。在此下載最新版本的 BitMono。
您也可以使用 BitMono 作為引擎來建立自訂混淆器。它是使用 Autofac 使用依賴注入 (DI) 建構的,並遵循最新的 C# 最佳實踐。
BitMono 僅使用一個加殼器即可破解最受歡迎的工具,例如:
因此,如果您為文件添加更多保護,我認為這看起來完全是神奇的。 :D
閱讀文件以了解保護、功能等內容。
若要下載最新版本的 BitMono,請依照下列步驟操作:
面向 .NET 8 :如果您的目標檔案是為 .NET 8 建置的,請下載: BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
面向 .NET Standard :如果您的目標檔案是針對 .NET Standard 建置的,則可以使用 BitMono for .NET Framework 或 .NET 8: BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
面向 .NET Framework :如果您的目標檔案是為 .NET Framework 建置的,請下載: BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip
針對 Mono 或 Unity 引擎執行時間:如果您的目標檔案是為 .NET Framework 建置的並在 Mono 或 Unity 上執行,請使用 .NET Framework 版本: BitMono-v0.25.3+e64e54d3-CLI-net462-win-x64.zip
注意:請務必選擇與您的目標框架相符的正確 BitMono 版本。使用錯誤的版本可能會導致相容性問題。
啟用protections.json
檔案中的一項保護:將Enabled
設為true
。
BitMono.CLI <path to file>/drag-and-drop
始終將libs
目錄中的依賴項刪除到混淆file
所在的相同路徑中
您的混淆目錄結構將如下所示:
specially_created_folder_for_obfuscation/
├─ your_app.exe
└─ libs/
├─ ImportantLibrary.dll
├─ SuperImportantLibrary.dll
└─ ...
從建置應用程式資料夾複製所有程式庫 (.dll) 並將它們貼到libs
目錄中(如果尚不存在,則建立它),或甚至使用自訂名稱自行建立 libs 目錄,例如 - myLibs
,然後指定它在BitMono 中,但是,如果您將使用libs
,那麼預設情況下 BitMono 會查找libs
目錄,因此它將節省您的時間。
-f, --file Required. Set file path.
-l, --libraries Set libraries path.
-o, --output Set output path.
--help Display this help screen.
--version Display version information.
基本範例
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l specially_created_folder_for_obfuscation/libs
如果您已經有一個名為libs
的目錄(specially_created_folder_for_obfuscationlibs),BitMono 會自動捕獲它,因此,您不需要再指定它,但如果您在某個位置創建了另一個帶有libs
目錄,則可以磁碟甚至只是為了“可見性”。
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe
指定自訂libs
目錄
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l C: m ythings o bfuscation s uperLibsDirectory
指定文件、庫和輸出。如果輸出目錄不存在,BitMono 將自動建立它,甚至在螢幕頂部打開它,如果您願意,可以在obfuscation.json
中停用在螢幕頂部開啟目錄 - 並將OpenFileDestinationInFileExplorer
設為 false 。
$ BitMono.CLI -f C: s pecially_created_folder_for_obfuscation/your_app.exe -l C: m ythings o bfuscation s uperLibsDirectory -o C: s pecially_created_folder_for_obfuscation/output
想要更多嗎?只需閱讀文件即可。
有問題嗎?在這裡獲得更多幫助。
如果您想自己建立 BitMono - 點擊此處獲取詳細信息
請隨意在下面描述的框架上使用 BitMono。請小心使用某些保護,因為有些保護可能僅適用於.NET Framework,有些僅適用於.NET(Core),有些適用於所有框架,有些僅適用於Mono - 如果保護對其平台/框架是唯一的,您將收到有關的通知那。
框架 | 版本 |
---|---|
。 | 8.0 |
。 | 7.0 |
。 | 6.0 |
.NET框架 | 第462章 |
網路標準 | 2.0 |
網路標準 | 2.1 |
JetBrains慷慨地向 BitMono 的貢獻者提供了 JetBrains Rider IDE 的授權。這個頂級工具極大地促進和增強了軟體開發過程。
0x59R11因為他熟悉BitDotNet的大部分內容,該部分破壞了單聲道可執行檔的檔案!
我向加齊請求了很多幫助!
Elliesaur因她在DotNetHook中的熟識而掛鉤方法。
感謝Weka的建議、幫助與激勵。
MrakDev是為了認識UnmanagedString 。
ConfuserEx 和他們的分叉為我所關注的大多數事情提供了BitMono 的架構和混淆器引擎作為一個應用程序,並解決了大量的用戶解決方案,在BitMono 的多次失敗使用和其他用戶的報告之後,我將在很長的將來知道這些解決方案。我每天都在尋找一些有趣的東西來提升自己的知識和 BitMono 知識。
OpenMod當然,openmod 透過服務和乾淨的程式碼以及與 openmod 廣泛相似的東西為這個專案帶來了很多啟發。
Kao 和他的部落格非常感謝這些部落格。
Drakonia為她的Costura 減壓器。