PreEmptive Protection - DashO v8.0 User Guide

Quick Jar 画面

このセクションでは、Quick Jar プロジェクト用の PreEmptive Protection - DashO インターフェイスの使用方法について説明します。このインターフェイスでは、新しい Quick Jar プロジェクトの作成、または既存プロジェクトの編集を実行できます。

Input Jars

Input Jars パネルは、処理する jar ファイルを指定するために使用されます。DashO は、Main-Class エントリが含まれているマニフェストについて、これらの jar ファイルを調べます。これらのエントリは、アプリケーションへのエントリ ポイントとして使用されます。Main-Class エントリがない場合、jar ファイルはライブラリとして処理されます。入力 jar 内の非クラス ファイルはすべて、出力 jar にコピーされます。

Add]ボタンをクリックすると、参照ダイアログ ボックスが表示されます。このダイアログ ボックスで、ファイル システムへ移動して、1 つまたは複数の jar ファイルを選択することができます。また、[New]ボタンをクリックして新しい jar を追加し、[Name]フィールドでその jar の名前を入力することもできます。

メモ:

入力 jar 名はプロパティをサポートしています。

Input – Options

Input – Options パネルでは、入力 jar に適用される操作を制御します。

Ignore Missing Classes

DashO は、アプリケーションが呼び出そうとするすべてのクラスの分析を試みます。このオプションを選択することで、これらのクラスを無視するよう DashO に指示できます。ただし、DashO は、アプリケーションが拡張または実装するクラスとインターフェイスをスキップできないことに注意してください。

Ignore Missing Methods

DashO は分析の一環として、メソッドの具体的な実装を探そうとします。このオプションをオンにすると、目的のメソッドを見つけられない場合でも処理が進められるようになります。このオプションは慎重に使用してください。

Bypass DashO Processing

このオプションは、Quick Jar プロジェクトではサポートされません。

Reflection Halts Build

DashO の分析では、リフレクションのターゲットをアドレス指定できるように、アプリケーションでのリフレクションの使用状況を記録します。アプリケーションのどの部分がリフレクションを使用しているか判断している場合には、このオプションをオンにします。

Determine Reflected Classes

DashO は、リフレクションのシンプルなターゲットを決定し、これらのクラスを対象選択されるクラスの一覧に自動的に追加することができます。この動作によって、ビルド時間が長くなる可能性があることに注意してください。

Rename Reflected Classes

既定では、リフレクションのターゲットの名前は変更されません。これらのクラスの名前を変更できるようにするには、このオプションを使用します。

Supporting Classpath

Supporting classpath は、アプリケーションで使用されているファイルのうち、難読化したくない、あるいは最終の jar ファイルに含めたくない、サード パーティ製の jar ファイルやクラス ファイルの一覧を含んでいます。これらのファイルは DashO にとって重要です。なぜなら、サード パーティ製のライブラリからクラスを拡張できたり、名前変更システムが安全に名前を変更する方法を決定するために、それらのクラスを調べる必要があったりするからです。

サポートする jar を追加するには、[Add]ボタンをクリックして、必要な jar を選択します。また、[New]ボタンをクリックして新しい jar を追加し、[Name*:*]フィールドでその jar の名前を入力することもできます。

メモ:

Supporting Classpath の名前は、プロパティをサポートしています。

User Properties

User Properties パネルでは、プロジェクトで参照できるプロパティを作成し、値を割り当てることができます。これを使用すると、テンプレートとして機能するプロジェクトを作成できます。プロジェクトでのプロパティの使用については、<propertylist> セクションを参照してください。

Obfuscation – Options

Rename Classes and Members

プロジェクト内のクラスおよびメソッドの名前の変更を有効または無効にします。Main-Class エントリを持つマニフェストが入力に含まれている場合は、それらのクラスと main() メソッドの名前は変更されません。jar ファイルがライブラリとして処理される場合は、パブリックでない項目のみ名前が変更されます。

Rename Annotations

内部定義されたアノテーションの名前の変更を有効または無効にします。jar ファイルがライブラリとして処理される場合、アノテーションの名前は変更されません。

Control Flow

制御フローの難読化のグローバルな適用を有効または無効にします。

Encrypt Strings

文字列の暗号化のグローバルな適用を有効または無効にします。

Optimize Byte Codes

バイト コードの最適化のグローバルな適用を有効または無効にします。

Options – Renaming Exclude

Obfuscation – Renaming Exclude パネルでは、名前の変更対象から除外されるクラスおよびメソッドを指定できます。

Excluded Classes

[Excluded Classes]一覧にクラスやパッケージを追加することで、そのクラスの名前を変更してはいけないということを DashO に知らせます。クラスのメソッドの名前は変更できます。詳細については、<classes> エントリ ポイントを参照してください。

Excluded Classes + Methods

[Excluded Classes + Methods]一覧にクラスやパッケージを追加することで、そのクラスとメソッドの名前を変更してはいけないということを DashO に知らせます。詳細については、<unconditional> セクションを参照してください。

PreMark

PreMark パネルは、DashO によって生成された難読化済みの jar ファイルに、ウォーターマークを追加するために使用されます。ウォーターマークは jar ファイルにのみ適用できます。

詳細については、Advanced インターフェイスの [PreMark][#ref_premark] セクションを参照してください。

Output – Options

Destination]では、出力 jar ファイルを指定します。DashO は、難読化されたすべてのクラスを出力 jar に書き込みます。使用する出力 jar ファイルの名前とパスがわかっている場合は、テキスト ボックスにそれらを直接入力できます。もう 1 つの方法として、[Browse]ボタンを使ってファイル システムを参照し、ファイルを出力する適切な場所を選択することもできます。jar オプションがいくつかあります。

  • Compress:データを格納するだけでなく圧縮もします。

  • Level:ファイルの圧縮を実行するレベル。有効な値の範囲は、0(圧縮なし/最速)から 9 です。既定値は 6 です。

  • Exclude Directory Entries:ファイルのエントリのみ格納し、ディレクトリのエントリは格納しません。

メモ:

指定された入力 jar ファイルの数に関係なく、出力 jar は 1 つしか生成されません。

Report file

DashO によって実行された、メソッド/フィールドの除去および名前の変更を概説するレポートの名前と場所を指定します。全体のメソッド/フィールド/定数プール エントリだけでなく、DashO 実行後における最終的な削減の数とパーセンテージを詳述する要約が提供されます。また、これには、リフレクションや forName 呼び出しも含め、動的に読み込まれるクラスに関する情報も含まれます。

Renaming Report File

これは、名前変更されたクラスとそれらの名前変更されたメンバーの、古い名前と新しい名前を列挙するレポートの名前と場所を指定します。



PreEmptive Protection - DashO Version 8.0.0. Copyright © 2016 PreEmptive Solutions, LLC