実行結果
実行が終わると、Babel Desktop は各ターゲットの保護をスコアで評価し、エンジンが収集した統計を保持します。これにより、期待したとおりの保護が実行で適用されたかどうかを確認できます。
難読化スコア
実行が完了すると、各ターゲットのカードに 0 から 100 までの難読化スコアが表示されます。期待した保護が実行で適用されたかどうかを手早く確認するためのものです。カードを開くには、ターゲットにポインターを置きます。



4 つのアセンブリをマージするターゲットの難読化スコア
スコアは、5 つの保護レイヤーの点数を合計したものです。各バーには、そのレイヤーが獲得した点数と満点が表示されるので、スコアが低いときにどのレイヤーが不足しているかがわかります。
| レイヤー | 点数 | 獲得条件 |
|---|---|---|
| リネーム | 30 | 対象となるシンボルのうち、リネームされたものの割合 |
| 制御フロー | 25 | スクランブルされたメソッドの割合。分岐のないメソッドは変更されないため、メソッドの半数がスクランブルされていれば満点になります |
| 文字列暗号化 | 15 | 暗号化された文字列 |
| コード保護 | 15 | MSIL 暗号化(7)、動的プロキシ呼び出し(4)、値の暗号化(4) |
| 解析対策 | 15 | 改ざん検出、デバッグ保護、ILDASM の抑止(各 5 点) |
スコアの評価は、35 未満が「弱い」、35 以上が「普通」、60 以上が「良好」、80 以上が「強力」です。スコアは、プロジェクトの最後に完了した実行の統計から算出されます。ターゲットにマージされたアセンブリは、そのターゲットのスコアに算入され、独自のスコアは表示されません。まだ実行していないターゲットには、スコアは表示されません。
スコアは実行で適用された保護を数えたもので、その結果が特定のツールにどれだけ長く耐えられるかを示すものではありません。低いスコアが適切な場合もあります。パブリック API を持つライブラリはパブリックな名前を維持するため、リネームの点数は低くなります。
保護の統計
実行後、キャンバスの左下の「結果」、またはグリッドのツールバーの「実行結果」ボタンをクリックすると、保護の統計が開きます。履歴から実行を選び、難読化されたアセンブリとレポートを選択します。
| レポート | 内容 |
|---|---|
| リネーム | 型、メソッド、フィールド、プロパティ、イベントについて、リネームされた数と総数。カバレッジのチャートも表示されます |
| 制御フロー | スクランブルされたメソッド、挿入された分岐命令、反復回数と、名前空間および型ごとのツリーマップ。完全な統計を収集した場合は、変換前後の循環的複雑度も表示されます |
| 文字列暗号化 | 暗号化アルゴリズムと、メソッドごとの暗号化された文字列 |
| コード暗号化 | 名前空間および型ごとの暗号化されたメソッド |
| 動的プロキシ | ターゲットメソッドごとの、プロキシ化された呼び出しとデリゲート型 |
| 最適化 | デッドコード除去と最適化のカウンター |
| 実行時間 | エンジンの各フェーズの所要時間 |
表は検索と並べ替えができ、ツリーマップでは名前空間から型へドリルダウンできます。「出力を表示」、「エンジン ログを表示」、「統計データを表示」は、それぞれ出力フォルダー、完全なエンジンログ、その実行の生の統計ファイルを開きます。Babel Desktop は、直近 30 回分の実行結果を保持します。



リネームの統計



制御フローの統計
統計ファイルには、元のシンボル名と文字列の値が含まれています。XML マップファイルと同じく、配布するアプリケーションと一緒にしないでください。