サンプル
Babel Obfuscator をお使いのプロジェクトへ無理なく統合するための、実践的なユースケースとサンプルを集めました。
一般的なサンプル
このセクションのサンプルはさまざまなユースケースを扱っており、特定のライセンスエディションに限定されません。購入した Babel Obfuscator のエディションにかかわらず、すべてのユーザーが利用できます。
難読化されたスタックトレースを、Babel Desktop またはコマンドラインから元の名前に戻します。
ClickOnce アプリケーションを Visual Studio から難読化し、公開されるマニフェストが保護されたアセンブリに対して署名されるようにします。
アセンブリが難読化されたかどうかをプログラムで確認し、保護されないまま気付かれずに通ってしまうビルドを、失敗するビルドに変えます。
MAUI アプリケーション向けに Babel を設定し、Android と iOS のビルドが動作し続けるリンカーモードを選択します。
Razor ページから生成される型にルールを適用して、Blazor アプリケーションを保護します。
最小の手間で最も強力な保護が得られる設定と、避けたほうがよい設定を紹介します。
コード暗号化
このセクションのサンプルでは、Babel Obfuscator のコード暗号化機能を紹介します。
メソッド本体を暗号化し、マネージドの Babel Virtual Machine の中で実行するため、IL がアセンブリに現れることはありません。
コード暗号化のパスワードで機能を制御し、ライセンスが実行時のチェックではなくコードそのもののロックを解除するようにします。
アセンブリ間のリネーム
次のサンプルでは、ビルドプロセスの中で Babel Obfuscator によるアセンブリ間のリネームをセットアップして設定する方法を示します。
ビルドサーバー Ultimate
これらのサンプルでは、Babel Obfuscator を継続的インテグレーションのパイプラインに統合します。そのため、誰かが手作業の手順を覚えていなくても、すべてのビルドで保護されたアセンブリが生成されます。いずれも Babel Obfuscator の NuGet パッケージを使用します。このパッケージは、Ultimate エディションと Babel Licensing のサイトエディションに付属しています。
やり方はどのビルドサーバーでも同じです。ビルドエージェントが読み取れるプライベートフィードにパッケージを置き、ライセンスはリポジトリ内のファイルではなくシークレットから渡し、難読化は dotnet build に任せます。違うのは、この 2 つを各プラットフォームがどう呼ぶかだけです。
パッケージを Azure Artifacts フィードに置き、パイプラインの ID で認証して、ライセンスをシークレット変数として渡します。
パッケージを GitHub Packages からインストールし、リポジトリのシークレットを通じて Babel にライセンスを渡します。
パッケージを AppVeyor のアカウントフィードにアップロードし、フィードのパスワードを暗号化された変数に保管します。
マップファイルをテストプロジェクトに読み込ませて、難読化されたアセンブリに対してテストスイートを実行します。
Babel Obfuscator の NuGet パッケージ Ultimate
これらのサンプルは、Babel Obfuscator の NuGet パッケージを使った Babel Obfuscator の統合を対象としています。Babel Obfuscator の NuGet パッケージを使用する次のプロジェクトには、Ultimate ライセンスが必要です。