製品のアクティベーション
Babel Obfuscator は、ライセンスがなくても評価モードで使用できます。ただし、トライアル期間中に利用できるのは、難読化のリネーム機能だけです。また、評価モードで難読化されたアセンブリは、特定の日付を過ぎると動作しなくなる点に注意してください。この日付は、難読化ログの警告コード W00000 で示されます。
Warning [W00000]: This is an evaluation version; the obfuscated assembly will no longer work after 15/08/2024 17:16:27ビルドログに警告 W00000 がある場合、難読化されたアセンブリは評価モードで動作しており、示された有効期限を過ぎると動作しなくなります。このようなアセンブリは期限後に動作を停止するように作られているため、本番環境向けや製品版として配布することはできません。
製品版ビルドや本番ビルドで、完全にライセンスされた制限のないアセンブリだけが使われるようにするには、警告 W00000 をエラーとして扱うように Babel を設定することをお勧めします。
この設定にすると、警告が発生した時点でビルドが失敗するため、評価モードで難読化されたアセンブリがリリースされるのを防げます。そのためには、次のように、ビルドスクリプトの Babel タスクに WarningsAsErrors プロパティを追加します。
<Babel WarningsAsErrors="W00000" ... />WarningsAsErrors に W00000 を含めると、この警告は発生するたびにエラーとして扱われ、ビルドが停止します。これにより、有効なライセンスが正しくインストールされている場合にのみビルドが成功し、生成されるアセンブリに有効期限や機能の制限がかからないことが保証されます。
ライセンスファイル
すべての機能を利用できるようにし、継続して動作させるには、Babel Obfuscator のライセンスを購入する必要があります。
Babel Obfuscator を購入してライセンスを取得すると、「babel.licenses」という名前のファイルが届きます。このファイルは XML 形式でデジタル署名されており、購入した製品エディションに対応するライセンス情報が含まれています。
ライセンスファイルは編集しないでください。変更したファイルは無効になります。
ライセンスをインストールするには、「babel.licenses」ファイルを、zip パッケージを展開したフォルダーにコピーし、「babel.exe」または「babel.dll」の隣に置きます。Babel はそこからライセンスを読み込み、購入したエディションの機能を利用できるようにします。難読化したアセンブリが、トライアル期間の後に期限切れになることもなくなります。
ライセンスファイルを別の場所に置くには、環境変数 BABEL_LICENSE_PATH にそのフルパスを設定します。この方法は、どのオペレーティングシステムでも使用できます。
Windows PowerShell、現在のセッション:
$env:BABEL_LICENSE_PATH = "C:\Babel\babel.licenses"Windows、現在のユーザーに対して永続的に設定:
setx BABEL_LICENSE_PATH "C:\Babel\babel.licenses"Linux と macOS:
export BABEL_LICENSE_PATH=~/Babel/babel.licensesBabel Desktop では、「設定」を開いて「ライセンス」を選択し、ライセンスの取得元として「ライセンス ファイル」を選択してから、「参照…」をクリックしてファイルを読み込みます。
ライセンス情報を確認するには、PowerShell ウィンドウまたはターミナルウィンドウで次のように入力します。
babel.exe --license有効なライセンスが見つかると、ライセンス情報が表示されます。
License Id: licC2A87385
issued: 19 Dec 2022
Product: Babel Obfuscator Ultimate 10.0.0.0
Babel Obfuscator for .NET Framework
Licensed to: babelfor.NET
contact info: sales@babelfor.net
Fields: ultimateライセンスファイルが見つからない場合は、次のメッセージが表示されます。
Error: A valid license could not be found. Please contact http://www.babelfor.net for assistance.
シークレットに保存したライセンスキーの使用
シークレットをサポートするビルドサーバーでは、Babel Obfuscator のライセンスキーをシークレットとして安全に保存、管理し、ビルド中に参照できます。ライセンスキーをシークレットとして設定すると、キーが保護され、許可されたユーザーやプロセスだけがアクセスできるようになります。これは、アプリケーションのコードと資産のセキュリティと整合性を保つのに役立ちます。
Babel Obfuscator は、ライセンスキーを格納した環境変数からライセンスを直接読み込むことができます。そのためには、コマンドラインで次のコマンドを入力します。
babel --license env:BABEL_LICENSEここで、BABEL_LICENSE は Babel Obfuscator のライセンスキーを格納した環境変数です。この方法では、ビルドサーバーのシークレットを使ってライセンスキーを環境変数に安全に格納し、難読化の処理中に Babel Obfuscator から参照できます。
次の例は、ライセンスキーを保存している secrets.BABEL_LICENSE_SECRET を使って、環境変数 BABEL_LICENSE をビルドステップに渡す方法を示しています。
name: dotnet package
on: [push]
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
dotnet-version: [ '3.1.x', '7.0.x' ]
steps:
- uses: actions/checkout@v3
- name: Setup .NET Core SDK ${{ matrix.dotnet-version }}
uses: actions/setup-dotnet@v3
with:
dotnet-version: ${{ matrix.dotnet-version }}
- name: Install dependencies
run: dotnet restore
- name: Build
run: dotnet build --configuration Release --no-restore
env:
BABEL_LICENSE: ${{ secrets.BABEL_LICENSE_SECRET }}プロジェクトで Babel Obfuscator の NuGet パッケージを使用している場合は、BabelLicense プロパティを次のように定義します。
<PropertyGroup>
<BabelLicense>$(BABEL_LICENSE)</BabelLicense>
</PropertyGroup>BabelLicense プロパティを $(BABEL_LICENSE) に設定すると、Babel Obfuscator は、定義された環境変数 BABEL_LICENSE からライセンスキーを読み込みます。この環境変数には、ビルドステップでシークレット BABEL_LICENSE_SECRET が設定されています。この方法により、ビルド中にライセンスキーを安全に保存して使用できます。詳しくは、サンプルプロジェクト GitHub Actions を参照してください。
アクティベーションキー
Babel Obfuscator のアクティベーションキーは、次のような形式です。
DWTW3-SPGGH-04DJ4-4K809アクティベーションキーを受け取っている場合は、Babel Desktop で製品をアクティベートできます。
ライセンスの設定を開く
「設定」を開き、「ライセンス」カテゴリを選択します。
「アクティベーション キー」を選択する
「ライセンスの取得元」として「アクティベーション キー」を選択します。
アクティベーションキーを入力する
受け取ったアクティベーションキーを、ハイフンも含めて入力します。
アクティベートする
「アクティベート」をクリックします。
アクティベーションはこのコンピューターに保存され、Babel Desktop を起動するたびに復元されます。「アクティベーション解除」をクリックすると、このコンピューターからアクティベーションが解放されます。
ライセンスは、コマンドラインからもアクティベートできます。
babel --license activate:DWTW3-SPGGH-04DJ4-4K809解放するには、次のコマンドを使用します。
babel --license deactivateフローティングライセンスの使用
Babel Obfuscator は、フローティングライセンスの仕組みでも運用できます。これは、複数のユーザーがソフトウェアを使用するものの、同時には使用しない組織やチームで特に役立ちます。フローティングライセンスを要求するための一意の識別子はユーザーキーで、次のような形式です。
P1N1J-EH5VA-VGSFU-7EOK8
このフローティングライセンスの仕組みを使用する場合は、secrets.BABEL_LICENSE_SECRET にこのユーザーキーを安全に保存します。プロジェクトのビルド構成では、XML 要素 <BabelLicense> を次のように記述します。
<PropertyGroup>
<BabelLicense>floating:$(BABEL_LICENSE)</BabelLicense>
</PropertyGroup>この構成にすると、Babel Obfuscator はビルド中に実行されたときに floating:$(BABEL_LICENSE) の指定を認識し、環境変数 BABEL_LICENSE に格納されたユーザーキーを使ってフローティングライセンスの取得を試みます。
Babel Desktop では、「設定」を開いて「ライセンス」を選択し、ライセンスの取得元として「フローティング ライセンス」を選択してから、ユーザーキーを入力して「ライセンスを要求」をクリックします。アプリケーションを起動するたびに要求するには、「起動時に自動的に要求する」にチェックを入れます。フローティングライセンスは、Babel Desktop を終了すると解放されます。
ライセンスファイルの問題のトラブルシューティング
ライセンスファイルに問題がある場合は、次の点を確認してください。
- ライセンスファイル「babel.licenses」が、zip パッケージを展開したフォルダーで「babel.exe」または「babel.dll」の隣にあること、または環境変数 BABEL_LICENSE_PATH がそのファイルを指していることを確認します。
- 製品版の Babel Obfuscator をインストールしていることを確認します。babelfor.net からダウンロードできる Babel Obfuscator の DEMO 版は、製品版ライセンスでの実行には対応していません。DEMO 版を使用している場合は、製品版パッケージに置き換えてください。
- ライセンスファイル「babel.licenses」は、Babel のバイナリパッケージと一緒に受け取ったものでなければなりません。Babel Obfuscator の各バージョンには、それぞれのライセンスファイルが付属します。ライセンスファイルは製品の特定のバージョン用に作られています。保守が有効な間にリリースされた新しいバージョンでも使用できますが、保守の期限が切れた後にリリースされたバージョンでは使用できません。
babel ツールのバージョンは、次のコマンドで表示できます。
babel --version
Assembly version: 10.0.0.0
Product version: 10.0.0.0
File version: 10.0.0.0