Dotfuscator ユーザーズ ガイド
コマンド ライン オプションの概要

コマンド ライン オプションは先頭にスラッシュ(/)またはハイフン(-)を付けます。

コマンド ライン オプション
コードのコピー

使用法:dotfuscator [options] [config_file]

既存のオプション

以下に、既存のコマンド ライン オプションの概要を示します。

既存のオプション 説明
/i 調査のみ実行する。
/p=<property list> 構成ファイルでユーザーが定義したプロパティの値を指定する。プロパティ リストには、名前と値のペアのリストをカンマで区切って記述する。(例:/p=projectdir=c:\\temp,projectname=MyApp.exe)
/q メッセージを何も出力しない。
/v 詳細な情報を出力する。
/nologo Dotfuscator の著作権およびライセンス情報を出力しない。
/? ヘルプを表示する。
/?? 拡張オプションを出力する。
[config_file] 実行時オプションが記述されている構成ファイルを指定する。

/v オプションを指定すると、実行中に処理の進行状況に関する情報が表示されます。このオプションで表示される情報の詳細レベルは、Dotfuscator のリリースによって異なる可能性があります。

/i オプションは、Dotfuscator に対して、出力アセンブリ ファイルを一切作成しないように指示します。構成ファイルによって割り当てファイルが指定されている場合、実行の結果はその割り当てファイルに格納されます(割り当てを生成しないでこのオプションを指定することはほとんど無意味です)。

/q オプションは、Dotfuscator に対して、出力をまったく表示しないで実行するように指示します。このオプションは、アプリケーションのビルド工程に組み込んで使用する場合に適しています。このオプションを指定すると、詳細出力モードはオーバーライドされます。

/p オプションは、コマンド ラインで外部プロパティの値を設定するために使用します。コマンド ラインでプロパティの値を設定すると、構成ファイルの <properties> セクションで指定したプロパティの設定はオーバーライドされます。

<proplist> には名前と値のペアのリストをカンマで区切って記述します。p オプションによるプロパティの宣言と値の割り当ては、たとえば次のような形で指定します。

-p オプションによるプロパティの宣言と値の割り当て:
コードのコピー

/p=projectdir=c:\temp,projectname=MyApp

プロパティ値にスペースが含まれている場合は、次の例のように引用符で囲んで指定します。

プロパティ値を引用符で囲む
コードのコピー

/p=MyProperty="value has spaces"

メモ:プロパティの名前では大文字と小文字が区別されます。

dotfuscatorUI.exe の実行により、外部プロパティや特定の構成ファイルを指定してスタンド アロンのグラフィカル ユーザー インターフェイスを起動することができます。

スタンド アロン GUI の起動
コードのコピー

Dotfuscator /g /p=projectdir=c:\temp project_template.xml

configfile は、Dotfuscator の毎回の実行に必要な構成ファイルです。構成情報や対象のアセンブリはコマンド ラインからは指定できないことに注意してください。これらの情報は構成ファイルに記述しておく必要があります。

追加オプション

追加オプションは、構成ファイルを事前に作成する必要なしにコマンド ラインから基本的な難読化処理を実行できるようにするためのものです。コマンド ラインの追加オプションで構成ファイルを使用した場合、構成ファイルで指定されているコマンドは、コマンド ラインで指定したオプションによって補完またはオーバーライドされます。詳細については、「コマンド ラインでのオプション指定による構成ファイルの補完またはオーバーライド」を参照してください。

追加オプションは先頭の 4 文字によって認識されます。

以下に、コマンド ラインの追加オプションの概要を示します。アスタリスク(*)は、そのオプションが指定されず、構成ファイルも指定されていない場合に使用される既定の設定を示します。

追加オプション 説明
/in [+|-]<file>[,[+|-]<file>] 入力を指定する。アセンブリ、パッケージ ファイルまたはディレクトリ ファイルのあらゆる組み合わせが指定できる。プレフィックスにより、入力アセンブリをライブラリ モード(+)とプライベート(-)のどちらとしてとして難読化するかを指定する。既定値のモードはアセンブリ ファイルの拡張子によって決定される(EXE はプライベート、.DLL はライブラリ モードで実行)。
/out:<directory> 出力ディレクトリを指定する。既定値のディレクトリは .\Dotfuscated
/honor:[on|off*] すべての入力アセンブリで見つかった難読化属性の使用命令を有効/無効にする。
/strip:[on|off*] すべての入力アセンブリからの難読化属性の除去を有効/無効にする。
/makeconfig:<file> すべての実行時オプション(コマンド ラインで指定されたオプション、および構成ファイルが存在する場合はそのファイルで指定されているオプション)を <file> に保存する。
/debug:[on:off*|impl|opt|pdb] 難読化されたアセンブリに対してデバッグ シンボルを生成し、JIT の動作を制御する。
/suppress:[on|off*] サポートされる出力アセンブリへ SuppressIldasmAttribute を追加する。
/disable 他のオプションの設定にかかわらず、すべての変換を無効にする。
/rename:[on|off*] 名前の変更を有効/無効にする。
/mapout:<file> 出力割り当てファイルを指定する。 既定値のファイルは .\Dotfuscated\map.xml
/mapin:<file> 入力割り当てファイルを指定する。
/clobbermap:[on|off*] 割り当てファイルの上書きモードを指定する。
/keep:[namespace|hierarchy|none*] 型の名前変更規則を指定する。
/prefix:[on:off*] 名前変更後のすべての型にプレフィックスを付ける。
/enhancedOI:[on|off*] 拡張オーバーロード誘導を使用する。
/refsrename:[on*|off] 入力割り当てファイルにのみ定義されている、参照されるメタデータの名前を変更する。
/naming:[loweralpha*|upperalpha|numeric|unprintable] 識別子の名前変更規則を指定する。
/controlflow:[high*|medium|low|off] 制御フローの難読化レベルを設定する。
/encrypt:[on*|off] 文字列の暗号化を有効化/無効化する。
/prune:[on*|off|const] 不要なコードの除去を有効化/無効化する。あるいは定数のみ除去を有効化する。
/link:[[+]<name>[,[+]<name>],]out=<name> 名前付き出力アセンブリにリンクするアセンブリを指定する。'+' のプレフィックスは、プライマリ アセンブリであることを示す。リストを省略すると、入力のうち最初の入力をプライマリ アセンブリとして、すべての入力がリンクされる。コマンド ラインでは、複数のリンク オプションを指定できる。
/link:off リンクを無効にする。リンク機能は、構成ファイルと共にリンク オプションを渡さない限り、既定値ではオフである。このオプションは、そのようなシナリオで役立つ。
/premark:[on|off*|only] ウォーターマークを有効化/無効化する。"Only" オプションは、他のすべての変換処理を無効にする。
/watermark:<string> ウォーターマーク文字列を指定する。引用符の使用は任意。既定で、すべての入力アセンブリがこの文字列によってウォーターマーク処理される。
/passphrase:<passphrase> パスフレーズの指定は任意で、これはウォーターマーク文字列を暗号化する場合に使用される。
/charmap:<name> ウォーターマーク文字列のエンコードに使用する文字コードを指定する。name は、サポートされている文字コードのうちの 1 つでなければならない。「文字コード」を参照。
/smart:[on|off] スマート難読化を有効化/無効化する。「SmartObfuscation」を参照。
/soreport:[all|warn|none] スマート難読化機能のレポート出力の詳細レベルを設定します。「SmartObfuscation」を参照。
/offlineactivation:<activation_file> <activation_file> に含まれているアクティブ化データを使って Dotfuscator を手動でアクティブ化する。

例:

例 1
コードのコピー

dotfuscator -in:my.dll

名前の変更、制御フローの難読化、不要コードの除去、および文字列の暗号化を有効にして、my.dll をライブラリとして難読化します(公開されているシンボルは除去されずに保持されます)。出力ディレクトリを指定していないので、出力アセンブリは既定の .\Dotfuscated ディレクトリに出力され、割り当てファイルとして .\Dotfuscated\map.xml が使用されます。

例 2
コードのコピー

dotfuscator -in:-myapp.exe,-private.dll

myapp.exe および private.dll を 1 つのスタンドアロン アプリケーションとしてまとめて難読化します。DLL 内の公開されているシンボルも難読化されます。不要コードの除去は、myapp.exe 内のエントリ ポイント メソッドに基づいて有効化されます。

例 3
コードのコピー

dotfuscator -in:myapp.exe -mapo:MyName.xml

myapp.exe をスタンドアロン アプリケーションとして難読化します。このコマンドでは名前変更の出力割り当てファイルが指定されています。

 

 


© 2017 PreEmptive Solutions, LLC.All Rights Reserved.

www.preemptive.com