Command Line Option Summary
Command line options may begin with the '/' or the '-' characters.
Usage: dotfuscator [options] [config_file]
The following is a summary of the traditional command line options.
|/g||Launch the standalone GUI|
|/p=<property list>||Specifies values for user defined properties in the configuration file. Comma separated list of name-value pairs (e.g. /p=projectdir=c:\\temp,projectname=MyApp.exe)|
|[config_file]||configuration file containing runtime options.|
The -v option induces Dotfuscator to provide information about its progress during execution. The level of detail here will likely change between releases.
The -i option tells Dotfuscator to not create any output assemblies files. If the configuration file specifies a map file, the results of the run will be found there (this option is close to worthless without generating a map).
The -q option tells Dotfuscator to run completely without printed output. This is suitable for inclusion into application build sequences. This option overrides verbose mode.
The –p option tells Dotfuscator to set external properties at the command line. Setting these properties here will override those specified in the <properties> section of the configuration file.
The <proplist> is a list of comma-separated name-value pairs. For example, property declaration and assignment in conjunction with the –p option, might look like:
Properties may be quoted if they contain spaces as illustrated below:
/p=MyProperty="value has spaces"
Property names are case sensitive.
The –g option tells Dotfuscator to start up the standalone GUI. You can start the GUI with external properties and a specific configuration file using this option:
Dotfuscator /g /p=projectdir=c:\temp project_template.xml
The GUI will also start up if Dotfuscator is run with no command line arguments.
The configfile is a configuration file that is required for every run of Dotfuscator. Notice you do not enter configuration information or target assemblies on the command line. This information must be found in the configuration file.
Extended options are designed to allow for basic obfuscation from the command line, without requiring you to first create a configuration file. If you use a configuration file with an extended command line option, the command line option will supplement or override the commands in the configuration file. See Supplementing or Overriding a Configuration File from the Command Line for more information.
Extended options are recognized by the first four characters.
The following is a summary of the extended command line options. An asterisk denotes the default setting if an option is missing and no configuration file is specified.
|/in <file>[,<file>]||Specify input assemblies. Default is governed by assembly file extension (EXEs are private; .DLLs are run in library mode).|
|/out:<directory>||Specify output directory. Default is ".\Dotfuscated".|
|/makeconfig:<file>||Save all runtime options (from command line and configuration file if present) to <file>.|
|/disable||Disable all transforms regardless of other options|
|/mapout:<file>||Specify output mapping file.
Default is ".\Dotfuscated\map.xml".
|/clobbermap:[on|off*]||Specify map file overwrite mode.|
|/keep:[namespace|hierarchy|none*]||Specify type renaming scheme.|
Obfuscates my.dll as a library (visible symbols preserved and unpruned) with renaming, control flow, pruning, and string encryption turned on. The output assembly is written to a directory called .\Dotfuscated, and the map file is written to .\Dotfuscated\map.xml since no output directories were specified.
Obfuscates myapp.exe and private.dll together as a standalone application. Even visible symbols inside the DLL are obfuscated. Pruning is enabled based on the entry point method contained in myapp.exe.
dotfuscator -in:myapp.exe -mapo:MyNames.xml
This command obfuscates myapp.exe as a standalone application. An output renaming map is specified.