ウォーターマーク
PreEmptive Protection™ DashO™ for Android & Java では、ソフトウェアにウォーターマークを設定することができます。 ウォーターマークは、実行時の動作に影響を与えることなく、データをアプリケーションに目立たないように埋め込みます。 アプリケーションにウォーターマークを設定する方法には 2 つがあります。つまり、DashO GUI の PreMark™ ページを使用するか、PreMark コマンド ライン ユーティリティを使用することで、クラスを処理する際にウォーターマークを適用するように DashO を構成します。
メモ:ウォーターマークの設定は Android モードでは使用できません。
DashO GUI で構成されたウォーターマークは、DashO によりすべての jar 出力に適用されます。 ウォーターマークはディレクトリや APK には適用できないため、配布しようとしているソフトウェアのさまざまなコピー間でウォーターマークを変更したい場合には通常、ウォーターマークは最良の選択肢にはなりません。 ウォーターマークは、著作権などの情報に適しています。
PreMark コマンド ライン ユーティリティでは、ウォーターマークは既存の jar に配置されます。 ウォーターマークを機能させるために jar を DashO で難読化しておく必要はありません。 jar を追跡可能にするために、jar の各コピーにシリアル番号などの異なるウォーターマークを簡単に適用することもできます。
ウォーターマーク オプション
DashO GUI と PreMark コマンド ライン ユーティリティのどちらを使用している場合でも、以下のオプションが構成可能です。
ウォーターマーク
ウォーターマークは、出力 jar に埋め込まれる文字列です。 ウォーターマークには、選択した文字コードでエンコードされた文字を含めることができます。
オーバーフローの動作
jar に格納できるウォーターマークのサイズ(つまり文字数)は、以下の要因によって決定されます。
- jar のサイズと複雑性
- 使用する文字コードのサイズ
- ウォーターマークをパスフレーズで暗号化するかどうか
DashO は、出力 jar を生成した後でのみ、それにウォーターマークを格納できるかどうかを判定できます。 指定したウォーターマーク文字列が jar に格納できない場合は、エラー メッセージを表示してビルドが停止するか、できるだけ多くの文字を使ってウォーターマークを切り捨てて警告メッセージを発行するように、DashO を構成することができます。
文字コード
DashO では、PreMark に対し、異なる文字セットを提供する 5 つの異なる文字コードが定義されています。 より複雑な文字セットを使用する場合は、1 文字あたりのビット数を大きくしなければならなくなるため、よりシンプルな文字コードで使用できるのと同じ文字数をウォーターマーク内で使用できなくなります。
説明(GUI 内で使用) | 名前(プロジェクト ファイル/PreMark コマンド ライン ユーティリティ内で使用) | 含まれる文字 | 1 文字あたりのビット数 |
---|---|---|---|
6 bit Uppercase Alphanumeric and symbols(6 ビット 大文字の英数字および記号) | 6bit-a |
ABCDEFGHIJKLMNOPQRSTUVWXYZ-0123456789!@#$%^&*(){}=+_,./<>?\" |
6 |
6 bit Alphanumeric(6 ビット 英数字) | 6bit-b |
ABCDEFGHIJKLMNOPQRSTUVWXYZ-abcdefghijklmnopqrstuvwxyz0123456789 |
6 |
7 bit Alphanumeric and symbols(7 ビット 英数字および記号) | 7bit-a |
ABCDEFGHIJKLMNOPQRSTUVWXYZ-abcdefghijklmnopqrstuvwxyz0123456789!@#$%^&*(){}=+_,./<>?\"| |
7 |
4 bit Hexadecimal (4 ビット 16 進数) | 4bit-a |
0123456789ABCDEF |
4 |
UTF-8 | utf8 |
任意の文字 | 8 |
パスフレーズ
ウォーターマークを暗号化および復号化するためのパスフレーズを指定することができます。 パスフレーズを使用すると、ウォーターマークにさらに多くの領域が必要になるので、指定の jar のウォーターマークに格納できる文字数が減ります。 暗号化アルゴリズムでは、一定のブロック サイズが必要なため、パスフレーズの長さを大きくしても、利用可能な文字数が減ることはありません。