Mono と .NET 全体をターゲットとする無料のオープンソース難読化ツール
BitMono は無料のオープンソースの C# 難読化ツールで、当初は主に Mono 向けに設計され、意図されていました。ただし、現在では任意の .NET アプリに自由に使用できます。ただし、一部の保護は .NET Framework で機能するため、一部の保護は機能しないことに注意してください。 .NET 上、Mono 上、Unity のみのものもある。
BitMono は、アセンブリの処理に dnlib (以前に使用した) の代わりに AsmResolver を使用します。ご質問や問題がございましたら、こちらからお知らせください。ここから BitMono の最新バージョンをダウンロードしてください。
BitMono をエンジンとして使用して、カスタム難読化ツールを構築することもできます。 Autofac を使用した依存関係注入 (DI) を使用して構築されており、最新の C# ベスト プラクティスに従っています。
BitMono は、次のような 1 つのパッカーのみを使用して最も一般的なツールを破壊します。
したがって、ファイルにさらに保護を追加できれば、それは完全な魔法のように見えると思います。 :D
保護や機能などについてはドキュメントを参照してください。
BitMono の最新リリースをダウンロードするには、次の手順に従います。
.NET 8 をターゲットにする: ターゲット ファイルが .NET 8 用にビルドされている場合は、 BitMono-v0.25.3+e64e54d3-CLI-net8.0-win-x64.zip
をダウンロードします。
.NET Standard をターゲットにする: ターゲット ファイルが .NET Standard 用にビルドされている場合は、.NET Framework 用の BitMono または .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
ファイルで保護の 1 つを有効にします。 Enabled
true
に設定します。
BitMono.CLI <path to file>/drag-and-drop
難読化用のfile
が配置されているのと同じパスにあるlibs
ディレクトリ内の依存関係を常に削除します。
難読化ディレクトリ構造は次のようになります。
specially_created_folder_for_obfuscation/
├─ your_app.exe
└─ libs/
├─ ImportantLibrary.dll
├─ SuperImportantLibrary.dll
└─ ...
構築アプリケーション フォルダーからすべてのライブラリ (.dll) をコピーし、 libs
ディレクトリに貼り付けます (まだ存在しない場合は作成します)。または、 myLibs
などのカスタム名で自分で libs ディレクトリを作成し、次のように指定します。ただし、 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
という名前のディレクトリ (obfuscation 用に特別に作成されたフォルダーlibs) がすでにある場合、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 さん、アドバイス、助け、モチベーションをありがとう。
UnmanagedStringの知り合いのMrakDev 。
ConfuserEx とそのフォークは、 BitMono のアーキテクチャとアプリケーションとしての難読化エンジン、そして、BitMono の使用法や他のユーザーによるレポートで多くの失敗があった後、非常に長い将来に私が知ることになる多くのユーザー ソリューションを解決するために私が観察したほとんどのことに対して使用されていました。私は日々、知識と BitMono の向上のために何か面白いものを探しています。
OpenMod確かに、openmod は、openmod に類似したサービスやクリーンなコードなど、このプロジェクトに多大なインスピレーションを与えました。
Kao と彼のブログは、これらのブログにたくさん感謝しています。
彼女のcostura解凍器のdrakonia 。