Command Line Option Summary

Command line options may begin with the '/' or the '-' characters.

Usage: dotfuscator [options] [config_file]

Traditional Options

The following is a summary of the traditional command line options.

Traditional Options Description
/g Launch the standalone GUI
/i Investigate only
/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)
/q Quiet output
/v Verbose output
/? Print help
[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:

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

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.

The /g option is not required for Community Edition, since the GUI is always launched, regardless of command line options.

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 your optional configuration file.

Extended Options

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.

  Extended Options Description
  /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".
  /honor:[on|off*] Toggle honoring obfuscation attribute directives found in all input assemblies.
  /strip:[on|off*] Toggle stripping obfuscation attributes from all input assemblies.
  /makeconfig:<file> Save all runtime options (from command line and configuration file if present) to <file>.
  /disable Disable all transforms regardless of other options
  /rename:[on|off*] Enable/disable renaming.
  /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.

Examples:

dotfuscator -in:my.dll

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.

dotfuscator -in:myapp.exe,private.dll

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.

© 2002-2007 PreEmptive Solutions. All rights reserved.