コマンド ライン リファレンス
コマンド ラインを使用する方法の詳細については、コマンド ライン インターフェイスのページを参照してください。
コマンド ライン オプションの概要
コマンド ライン オプションは先頭にスラッシュ '/' またはハイフン '-' を付けます。
コマンド ライン オプション:
使用法: dotfuscator [オプション] [構成ファイル]
既存のオプション
以下に、既存のコマンド ライン オプションの概要を示します。
既存のオプション | 説明 | |
---|---|---|
/i |
調査のみ実行する。 | ドライ ラン(試行テスト)のみ実行します。出力アセンブリを書き込みません。シミュレートしたビルドの結果は、割り当てファイルに記載されています。 |
/p=<property list> |
構成ファイルでユーザーが定義したプロパティの値を指定する。その際、プロパティ名とプロパティ値のペアの間をカンマで区切って記述する(例:/p=outdir=c:\\temp,name=MyApp.exe)。 | |
/q |
メッセージを何も出力しない。 | すべての出力を抑制します。このオプションを指定すると、詳細出力モードはオーバーライドされます。 |
/v |
詳細な情報を出力する。 | 実行中に処理の進行状況に関する追加情報が表示されます。 |
/nologo |
Dotfuscator の著作権およびライセンス情報を出力しない。 | |
/? |
ヘルプを表示する。 | |
/?? |
拡張オプションを出力する。 | |
[config_file] |
Dotfuscator 構成ファイルのパス。 |
<property list>
は、プロパティ名とプロパティ値のペアの間をカンマで区切ったリストです。
–p
オプションによるプロパティの宣言と値の割り当ては、たとえば次のような形で指定します。
-p オプションによるプロパティの宣言と値の割り当て: |
---|
/p=outdir=c:\temp,name=MyApp |
プロパティ値にスペースが含まれている場合は、次の例のように引用符で囲んで指定します。
プロパティ値を引用符で囲む |
---|
/p=MyProperty="value has spaces" |
メモ:プロパティの名前では大文字と小文字が区別されます。
追加オプション
追加オプションは、構成ファイルを事前に作成する必要なしにコマンド ラインから基本的な難読化処理を実行できるようにするためのものです。 コマンド ラインの追加オプションで構成ファイルを使用した場合、構成ファイルで指定されているコマンドは、コマンド ラインで指定したオプションによって補完またはオーバーライドされます。 詳細については、コマンド ラインでのオプション指定による構成ファイルの補完またはオーバーライドを参照してください。
追加オプションは先頭の 4 文字によって認識されます。
以下に、コマンド ラインの追加オプションの概要を示します。 アスタリスク(*)は、そのオプションが指定されず、構成ファイルも指定されていない場合に使用される既定の設定を示します。
追加オプション | 説明 |
---|---|
/in [+|-]<file>[,[+|-]<file>] |
入力を指定する。アセンブリ、パッケージ ファイルまたはディレクトリ ファイルのあらゆる組み合わせが指定できる。プレフィックスにより、入力アセンブリをライブラリ モード(+)とプライベート(-)のいずれとして難読化するかを指定する。既定値のモードはアセンブリ ファイルの拡張子によって決定される(EXE はプライベート、.DLL はライブラリ モードで実行)。 |
/out:<directory> |
出力ディレクトリを指定する。既定値のディレクトリは .\Dotfuscated。 |
/honor:[on|off*] |
すべての入力アセンブリで見つかった難読化属性の使用命令を有効/無効にする。 |
/strip:[on|off*] |
すべての入力アセンブリからの難読化属性の除去を有効/無効にする。 |
/makeconfig:<file> |
非推奨。genconfig を使用すること。大部分の実行時オプション(コマンド ラインで指定されたオプション、および構成ファイルが存在する場合はそのファイルで指定されているオプション)を <file> に保存する。ビルドは実行する。 |
/genconfig:<file> |
すべての実行時オプション(コマンド ラインで指定されたオプション、および構成ファイルが存在する場合はそのファイルで指定されているオプション)を <file> に保存する。ビルドは実行しない。 |
/debug:[on|off*|auto] |
出力アセンブリでデバッグ シンボルを出力する。現在、このオプションで on 設定を使用することは推奨していません。代わりに、auto 設定を使用するようにしてください。 |
/license:<license-key> |
Dotfuscator ライセンス キーを指定してアクティブ化し、この Dotfuscator 実行用に使用する。通常、このライセンス キーはフローティング ライセンスです。別のライセンス キーが環境変数またはライセンス ファイルで指定されている場合でも、このプロパティの値が使用されます。 |
/suppress:[on|off*] |
サポートされる出力アセンブリへ SuppressIldasmAttribute を追加する。 |
/disable |
他のオプションの設定にかかわらず、すべての変換を無効にする。 |
/mono-compatible:[on|off*] |
Mono 互換の変換のみを使用する。 |
/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:<naming option> |
識別子の名前変更規則を指定する。<naming option> には loweralpha 、upperalpha 、numeric 、または unprintable のいずれかを指定できる。 |
/controlflow:[high*|medium|low|off] |
制御フローの難読化レベルを設定する。 |
/encrypt:[on*|off] |
文字列の暗号化を有効化/無効化する。 |
/prune:[on*|off|const] |
不要なコードの除去を有効化/無効化する。あるいは定数のみ除去を有効化する。 |
/rmout:<file> |
除去レポート ファイルを指定する。指定がない場合(既定)、レポートは作成されません。 |
/rmclobber:[on|off*] |
既存の除去レポートをバックアップしないで、その除去レポートを上書きすることを有効/無効にする。 |
/link:[[+] |
名前付き出力アセンブリにリンクするアセンブリを指定する。‘+’ のプレフィックスは、プライマリ アセンブリであることを示す。リストを省略すると、入力のうち最初の入力をプライマリ アセンブリとして、すべての入力がリンクされる。コマンド ラインでは、複数のリンク オプションを指定できる。 |
/link:off |
リンクを無効にする。リンク機能は、構成ファイルと共にリンク オプションを渡さない限り、既定値ではオフである。このオプションは、そのようなシナリオで役立つ。 |
/premark:[on|off*|only] |
ウォーターマークを有効化/無効化する。 "Only" オプションは、他のすべての変換処理を無効にする。 |
/watermark: |
ウォーターマーク文字列を指定する。引用符の使用は任意。既定で、すべての入力アセンブリがこの文字列によってウォーターマーク処理される。 |
/passphrase: |
パスフレーズの指定は任意で、これはウォーターマーク文字列を暗号化する場合に使用される。 |
/charmap: |
ウォーターマーク文字列のエンコードに使用する文字コードを指定する。name は、サポートされている文字コードのうちの 1 つでなければならない。文字コードを参照。 |
/smart:[on|off] |
スマート難読化を有効化/無効化する。SmartObfuscation を参照。 |
/soreport:[all|warn|none] |
スマート難読化機能のレポート出力の詳細レベルを設定します。SmartObfuscation を参照。 |
/soout:<file> |
スマート難読化レポート ファイルを指定する。指定がない場合(既定)、レポートは作成されません。 |
/soclobber:[on|off*] |
既存のスマート難読化レポートをバックアップしないで、そのレポートを上書きすることを有効/無効にする。 |
コマンド ラインでのオプション指定による構成ファイルの補完またはオーバーライド
Dotfuscator は、すべてまたは一部の設定を記述した構成ファイルを適用した上で、コマンド ラインでのオプションの指定によって構成ファイルの設定を補完またはオーバーライドできるという優れた特徴を備えています。 そのため、標準的な構成ファイルをテンプレートとして使用しながら、その設定を必要に応じてすばやく調整することができます。
コマンド ライン オプション | 構成ファイル オプション | メモ |
---|---|---|
/in [+|-] |
input セクション | 追加 |
/out: <directory> |
output セクション | オーバーライド |
/honor:[on|off* ] |
inputassembly セクション | オーバーライド |
/strip:[on|off*] |
inputassembly | オーバーライド |
/debug:[on|off*|auto] |
debugauto 、debug 、debugimpl 、debugopt 、および pdb オプション |
オーバーライド |
/suppress:[on|off*] |
"suppressildasmattribute" オプション | オーバーライド |
/disable |
renaming、controlflow、stringencrypt および removal の各セクションで "disable" オプションを設定 | オーバーライド |
/rename:[on:off] |
"renaming" セクションで "disable" オプションを設定(または設定解除) | オーバーライド |
/mapout:<file> |
"mapoutput" セクション | オーバーライド |
/mapin:<file> |
"mapinput" セクション | オーバーライド |
/clobbermap:[on|off] |
"mapoutput" セクションの "overwrite" 属性 | オーバーライド |
/keep:[namespace|hierarchy|none] |
"keepnamespace" ,"keephierarchy" 名前変更オプションを設定(または設定解除) | オーバーライド |
/enhancedOI:[on|off] |
"enhancedOI" 名前変更オプションを設定(または設定解除) | オーバーライド |
/refsrename:[on|off] |
"mapinput" 要素の "obfuscatereferences" 属性 | オーバーライド |
/naming:<naming option> |
renaming セクションの "scheme" 属性を設定する。<naming option> には loweralpha 、upperalpha 、numeric 、または unprintable のいずれかを指定できる。 |
オーバーライド |
/controlflow:[high|medium|low|off] |
"controlflow" セクションの "level" 属性を設定。off フラグは "disable" オプションを設定する。 | オーバーライド |
/encrypt:[on|off] |
stringencrypt セクションで "disable" オプションを設定(または設定解除) | オーバーライド |
/prune:[on|off] |
removal セクションで "disable" オプションを設定(または設定解除) | オーバーライド |
/rmout:<file> |
removal セクションで "removalreport" オプションを設定 | オーバーライド |
/soout:<file> |
smartobfuscation セクションで "smartobfuscationreport" オプションの "file" 属性を設定 | オーバーライド |
/link:[[+]<name>[,[+]<name>],]out=<name> |
オーバーライド | |
/link:off |
linking セクションで "disable" オプションを設定 | オーバーライド |
/premark: [on|off*|only] |
premark セクションで "disable" オプションを設定(または設定解除)。"only" 設定は構成ファイルに保存されない。 | オーバーライド |
/watermark |
オーバーライド | |
/passphrase |
オーバーライド | |
/charmap |
premark セクションで "encoding" 属性を設定 | オーバーライド |
例
例 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
をスタンドアロン アプリケーションとして難読化します。
このコマンドでは名前変更の出力割り当てファイルが指定されています。