Skip to Content
新しいバージョン 12 を公開しました 🎉

プロジェクトのグリッド

グリッドには、プロジェクトのターゲットごとに 1 行が表示され、選択した任意の設定を列として追加できます。ターゲットの多いプロジェクトや、複数のターゲットに適用する変更に使用します。

7 つのターゲットを含むプロジェクトのグリッドビュー。「Filter targets」、「Group by flow」、「Setup public obfuscation」、「Setup merge」と件数「7 targets」のあるツールバー、「#」、「State」、「File」、「Details」、「Output」、「Progress」、「String Encryption」、「Control Flow Obfuscation」の各列が表示されています。6 行が完了しており、選択された BubbleBurst.exe には「Completed with warnings」と「4 warnings」が表示され、右側に BubbleBurst.exe のプロパティパネルが開いています7 つのターゲットを含むプロジェクトのグリッドビュー。「Filter targets」、「Group by flow」、「Setup public obfuscation」、「Setup merge」と件数「7 targets」のあるツールバー、「#」、「State」、「File」、「Details」、「Output」、「Progress」、「String Encryption」、「Control Flow Obfuscation」の各列が表示されています。6 行が完了しており、選択された BubbleBurst.exe には「Completed with warnings」と「4 warnings」が表示され、右側に BubbleBurst.exe のプロパティパネルが開いています7 つのターゲットを含むプロジェクトのグリッドビュー。「Filter targets」、「Group by flow」、「Setup public obfuscation」、「Setup merge」と件数「7 targets」のあるツールバー、「#」、「State」、「File」、「Details」、「Output」、「Progress」、「String Encryption」、「Control Flow Obfuscation」の各列が表示されています。6 行が完了しており、選択された BubbleBurst.exe には「Completed with warnings」と「4 warnings」が表示され、右側に BubbleBurst.exe のプロパティパネルが開いています

設定の列を 2 つ追加し、プロパティパネルを開いたグリッド

ビューの切り替え

ビューを切り替えるには、右上の「キャンバス」と「グリッド」の切り替えボタン、「表示 > キャンバス」と「表示 > グリッド」(Ctrl+Shift+C / Ctrl+Shift+G、macOS では Cmd+Shift+C / Cmd+Shift+G)、またはコマンドパレットの「表示: キャンバス」と「表示: グリッド」を使用します。キャンバスが既定のビューです。Babel Desktop は、プロジェクトごとのビューをこのコンピューター上に記憶します。ビューを切り替えても、プロジェクトファイルは変更されず、変更済みとしてもマークされません。

行を選択する操作はノードをクリックする操作と同じで、プロパティパネルはどちらのビューでも同じように動作します。グリッドでは、ツールバーのビュー切り替えの横に「実行結果」が加わり、2 行目に「ターゲットを絞り込む」、「フローでグループ化」、「パブリック難読化を設定」、「マージを設定」が表示されます(セットアップコマンドを参照してください)。

行と列

各行は 1 つのターゲットです。ターゲットにマージされたアセンブリに独自の行はなく、そのターゲットの「入力」タブに表示されます。ツールバーの右端の件数は、たとえば「7 ターゲット」、ターゲットが別のターゲットにマージされている場合は「1 ターゲット · 10 件マージ済み」、フィルター適用中は「3 / 12 ターゲット」のように表示されます。

列内容
「#」プロジェクトの順序における位置
「状態」「準備完了」、「実行中」、「完了」、「警告ありで完了」、「失敗」、「入力なし」のいずれか
「ファイル」入力ファイル。詳細を開くシェブロンもここにあります
「詳細」「マージ 3 · 埋め込み 1 · 参照 2」のような概要、または実行後の警告数
「出力」ターゲットに設定された出力ファイル。ターゲットが既定の BabelOut フォルダーに書き出す場合は空です
「進行状況」実行中のターゲットの進行状況。実行の終了後も表示されたままになります

列の選択

表示する列を選択するには、列ヘッダーを右クリックするか、ヘッダー上でメニューキーまたは Shift+F10 を押します。既定の列に加えて、「フロー · ステップ」、「後に実行」、「入力パス」と、「String Encryption」や「Control Flow Obfuscation」などプロパティパネルの任意の設定を追加できます。「既定値に戻す」で既定の列に戻ります。「ファイル」は常に表示されます。

グリッドのヘッダーの上に開いた列の選択メニュー。「# · Project order」、「State」、「File (always on)」、「Details」、「Output」、「Progress」のチェックボックスがオンで、「Flow · Step」、「Run after」、「Input path」、「Dynamic Proxy」がオフになっていますグリッドのヘッダーの上に開いた列の選択メニュー。「# · Project order」、「State」、「File (always on)」、「Details」、「Output」、「Progress」のチェックボックスがオンで、「Flow · Step」、「Run after」、「Input path」、「Dynamic Proxy」がオフになっていますグリッドのヘッダーの上に開いた列の選択メニュー。「# · Project order」、「State」、「File (always on)」、「Details」、「Output」、「Progress」のチェックボックスがオンで、「Flow · Step」、「Run after」、「Input path」、「Dynamic Proxy」がオフになっています

表示する列の選択

列を移動するには、ヘッダーをドラッグするか、ヘッダー上で Alt+← / Alt+→ を押します。列の構成と順序はこのコンピューター上に記憶され、すべてのプロジェクトに適用されます。

並べ替え、絞り込み、グループ化

ヘッダーをクリックするとその列で並べ替えられ、もう一度クリックすると降順になります。並べ替えで変わるのは表示だけで、実行順序は変わりません。「#」をクリックすると「プロジェクトの順序」に戻ります。

「ターゲットを絞り込む」に入力すると、テキストが一致する行だけが表示されます。「フローでグループ化」は、各フローの行を「フロー 1」、「フロー 2」という見出しの下にまとめます。「フロー · ステップ」列と「後に実行」列を追加すると、何が何より先に実行されるかがグリッドでわかります。

「Flow · Step」列と「Run after」列を追加し、フローでグループ化したグリッド。「Flow 1」には 1 · 1 の CrossAssembly1.dll と、CrossAssembly1.dll の後に実行される 1 · 2 の CrossAssembly1App.dll があり、「Flow 2」と「Flow 3」には CrossAssembly2 と CrossAssembly3 が同じ形で並び、「Flow 4」には 4 · 1 の BubbleBurst.exe だけがあります「Flow · Step」列と「Run after」列を追加し、フローでグループ化したグリッド。「Flow 1」には 1 · 1 の CrossAssembly1.dll と、CrossAssembly1.dll の後に実行される 1 · 2 の CrossAssembly1App.dll があり、「Flow 2」と「Flow 3」には CrossAssembly2 と CrossAssembly3 が同じ形で並び、「Flow 4」には 4 · 1 の BubbleBurst.exe だけがあります「Flow · Step」列と「Run after」列を追加し、フローでグループ化したグリッド。「Flow 1」には 1 · 1 の CrossAssembly1.dll と、CrossAssembly1.dll の後に実行される 1 · 2 の CrossAssembly1App.dll があり、「Flow 2」と「Flow 3」には CrossAssembly2 と CrossAssembly3 が同じ形で並び、「Flow 4」には 4 · 1 の BubbleBurst.exe だけがあります

フローごとにグループ化した行

選択と編集

行の選択とセルの編集は、スプレッドシートと同じように、マウスでもキーボードだけでも行えます。

操作方法
行を選択する行をクリックするか、矢印キーで移動します
選択に行を追加する、選択から行を外すCtrl+クリック(macOS では Cmd+クリック)、またはフォーカスのある行で Ctrl+Space
範囲を選択するShift+クリック、または Shift を押しながら矢印キー
表示されているすべての行を選択するCtrl+A(macOS では Cmd+A)。フィルターの適用中は、一致する行だけが選択されます。
セル間を移動する矢印キー、Home、End、Page Up、Page Down
セルを編集するEnter、F2、ダブルクリック、または入力を始める
編集を確定またはキャンセルするEnter または Tab で確定、Esc でキャンセル

設定のセルは、プロパティパネルと同じコントロール(チェックボックス、リスト、テキストフィールド、ファイル選択ダイアログ)で編集します。複合設定には「オン · goto, switch」や「3 フィルター」のような概要が表示され、エディターはポップオーバーで開きます。

CrossAssembly1.dll の「Control Flow Obfuscation」セルのポップオーバーエディター。プロパティごとにリストがあり、「Enable / default」は「Default」、goto は「Enabled」、switch、case、if、call、value、token は「Default」に設定されていますCrossAssembly1.dll の「Control Flow Obfuscation」セルのポップオーバーエディター。プロパティごとにリストがあり、「Enable / default」は「Default」、goto は「Enabled」、switch、case、if、call、value、token は「Default」に設定されていますCrossAssembly1.dll の「Control Flow Obfuscation」セルのポップオーバーエディター。プロパティごとにリストがあり、「Enable / default」は「Default」、goto は「Enabled」、switch、case、if、call、value、token は「Default」に設定されています

ポップオーバーでの複合設定の編集

編集は選択したすべての行に適用されます。値を受け付けないターゲットがある場合、Babel Desktop はそれらを「選択したすべてのターゲットには適用されませんでした:」の下に一覧表示し、ほかのターゲットには新しい値が保持されます。

実行中は設定を変更できません。「#」、「状態」、「ファイル」、「詳細」、「進行状況」、「フロー · ステップ」、「入力パス」は読み取り専用です。

実行順序

プロジェクトの順序で表示した行の並びは、プロジェクトファイル内のターゲットの順序です。これを変更するには、まず「#」で並べ替えてから、行をドラッグするか、Alt+↑ / Alt+↓ を押すか、行メニューの「上へ移動」または「下へ移動」を使用します。これらの操作は選択した行に適用され、新しい順序はプロジェクトと一緒に保存されます。

「後に実行」セルには、このターゲットが待つターゲットが一覧表示されます。このセルを編集すると、ほかのターゲットがそれぞれチェックボックス付きで一覧表示されます。ターゲットにチェックを付けるとそのターゲットからこのターゲットへのフローエッジが追加され、チェックを外すとエッジが削除されます。このターゲットがマップを読み込む元のターゲットはチェックが付いた状態で、ここでは外せません。代わりにマップリンクを削除してください。

ターゲットは、この場合もフローエッジとマップリンクに従って実行されます。行を移動しても、ターゲットが待っているターゲットより先に実行されることはありません。「設定 > 難読化 > 独立したフローを並列実行する」がオフの場合、ターゲットはその制約の範囲内で行の順序で実行されます。オンの場合、独立したフローを同時に実行できます。

ターゲットの詳細

「ファイル」セルのシェブロン、または行メニューの「詳細を表示」または「詳細を隠す」を使うと、行の下に 5 つのタブが開きます。各タブには件数が表示されます。

タブ内容
「入力」マージ、埋め込み、参照されたアセンブリ。それぞれに「アクション」リスト(「マージ」、「埋め込み」、「参照」)があります。存在しないファイルには「ファイルが見つかりません。」と表示されます。
「ルール」XML ルールファイル
「マップ」ターゲットが読み込むマップファイル。プロジェクト内の別のターゲットが書き出したマップには、そのターゲットの名前とともに「から」と表示されます。
「プラグイン」エンジンプラグインの DLL
「検索フォルダー」エンジンが参照先のアセンブリを探すフォルダー
行の下に開いた BubbleBurst.exe の詳細。件数 4 の「Inputs」タブで、BubbleBurst.View.dll、BubbleBurst.ViewModel.dll、MvvmFoundation.Wpf.dll は「Merge」、Thriple.dll は「Embed」に設定され、それぞれにゴミ箱アイコンがあります。「Rules」、「Maps」、「Plugins」、「Search directories」の各タブは 0 です行の下に開いた BubbleBurst.exe の詳細。件数 4 の「Inputs」タブで、BubbleBurst.View.dll、BubbleBurst.ViewModel.dll、MvvmFoundation.Wpf.dll は「Merge」、Thriple.dll は「Embed」に設定され、それぞれにゴミ箱アイコンがあります。「Rules」、「Maps」、「Plugins」、「Search directories」の各タブは 0 です行の下に開いた BubbleBurst.exe の詳細。件数 4 の「Inputs」タブで、BubbleBurst.View.dll、BubbleBurst.ViewModel.dll、MvvmFoundation.Wpf.dll は「Merge」、Thriple.dll は「Embed」に設定され、それぞれにゴミ箱アイコンがあります。「Rules」、「Maps」、「Plugins」、「Search directories」の各タブは 0 です

ターゲットの入力

タブの右にある + アイコンでは、ファイルまたはフォルダーの選択ダイアログから項目を追加します。「入力」タブでは、「マージするアセンブリを追加…」、「埋め込むアセンブリを追加…」、「アセンブリ参照を追加…」、「依存関係を自動的に追加…」を選択できます。項目のゴミ箱アイコンをクリックすると、その項目が削除されます。「ルール」または「マップ」の項目を右クリックして「すべてのターゲットに適用」を選択すると、そのファイルがまだ追加されていないすべてのターゲットに追加されます。

件数 1 の「Maps」タブを開いた CrossAssembly1App.dll の詳細。「From CrossAssembly1.dll」と示された項目 CrossAssembly1.dll.map.xml と、そのゴミ箱アイコンが表示されています件数 1 の「Maps」タブを開いた CrossAssembly1App.dll の詳細。「From CrossAssembly1.dll」と示された項目 CrossAssembly1.dll.map.xml と、そのゴミ箱アイコンが表示されています件数 1 の「Maps」タブを開いた CrossAssembly1App.dll の詳細。「From CrossAssembly1.dll」と示された項目 CrossAssembly1.dll.map.xml と、そのゴミ箱アイコンが表示されています

別のターゲットが書き出したマップ

ファイルのドロップ

ファイルマネージャーからグリッドにファイルをドロップできます。

  • アセンブリを空き領域にドロップすると、ターゲットが作成されます。行またはその「入力」タブにドロップすると、そのターゲットにマージされます。
  • .snk または .pfx ファイルを行にドロップすると、そのターゲットのキーファイルになります。その行が選択に含まれている場合は、選択したすべての行に設定されます。
  • .xml ファイルを「ルール」タブまたは「マップ」タブにドロップするとルールファイルまたはマップファイルとして追加され、.dll ファイルを「プラグイン」タブにドロップするとプラグインとして追加されます。
  • .babel ファイルをドロップすると、そのプロジェクトが開きます。

その他のファイルは、「これらのファイルはここにドロップできません。」と表示されて拒否されます。

行メニュー

行を右クリックするか、メニューキーまたは Shift+F10 を押すと、その行のメニューが開きます。1 行の場合、メニューはノードのメニューと同じコマンドで始まります。複数の行を選択している場合は「ターゲットを削除」で始まります。削除には確認が必要です。

CrossAssembly2App.dll の行メニュー。「Merge into...」、「Embed into...」、「Add assemblies to merge...」、「Add assemblies to embed...」、「Add assembly references...」、「Add dependency automatically...」、「Properties」、「Remove target」、「Set obfuscation level」、「Copy settings」、「Paste settings」(使用不可)、「Move up」、「Move down」、「Show details」が表示されていますCrossAssembly2App.dll の行メニュー。「Merge into...」、「Embed into...」、「Add assemblies to merge...」、「Add assemblies to embed...」、「Add assembly references...」、「Add dependency automatically...」、「Properties」、「Remove target」、「Set obfuscation level」、「Copy settings」、「Paste settings」(使用不可)、「Move up」、「Move down」、「Show details」が表示されていますCrossAssembly2App.dll の行メニュー。「Merge into...」、「Embed into...」、「Add assemblies to merge...」、「Add assemblies to embed...」、「Add assembly references...」、「Add dependency automatically...」、「Properties」、「Remove target」、「Set obfuscation level」、「Copy settings」、「Paste settings」(使用不可)、「Move up」、「Move down」、「Show details」が表示されています

行のメニュー

コマンド効果
「難読化レベルを設定」選択した行に「レベル: 軽量」、「レベル: バランス」、「レベル: 最大」のいずれかを適用します。保護レベルを参照してください。
「設定をコピー」この行の保護設定を記憶します
「設定を貼り付け」選択した行の保護設定を、コピーした設定に置き換えます
「上へ移動」、「下へ移動」選択した行をプロジェクトの順序の中で移動します
「詳細を表示」、「詳細を隠す」選択した行の下のタブを開くか閉じます

「設定を貼り付け」では、コピー元の行で設定されていない保護も解除されるため、ターゲットの保護は同じになります。パス、依存関係、パスワード、マップとログの設定、プラグインの引数、インライン XML ルールはコピーされません。

多数のターゲットの操作

大きなプロジェクトをすばやく設定するには、次のような方法があります。

  • 1 つのターゲットを設定してから、その行で「設定をコピー」を選択し、ほかの行を選択して「設定を貼り付け」を選択します。
  • 「ターゲットを絞り込む」に名前の一部を入力し、Ctrl+A(macOS では Cmd+A)を押して一致する行を選択してから、設定の列を一度編集して、すべての行に適用します。
  • 行を選択し、「難読化レベルを設定」で出発点となる設定を適用してから、列ごとに個々の設定を調整します。
  • 1 つのターゲットにルールファイルまたはマップファイルを追加し、その項目で「すべてのターゲットに適用」を使用します。
  • 実行前に「フロー · ステップ」列と「後に実行」列を追加し、「フローでグループ化」をオンにして、順序を確認します。
Last updated on