Command Line

Babel Obfuscator provides a command line tool on Windows, Mac and Linux. This paragraph will describe how to use Babel Obfuscator from the command line.
Babel Obfuscator is available as a command line tool, which makes it easy to integrate into your build pipeline and automate the obfuscation process. The command line tool, named "babel", allows you to easily specify the input assemblies, output file, and various obfuscation options. To start babel from the command line, open the PowerShell on Windows or the Terminal on Mac OS and enter:
> babel
The "babel" command launches the babel executable command line tool. This command accepts the following syntax:
babel <primary assembly source> [<other assemblies>...] [options]
The first parameter, <primary assembly source>, is the target assembly (or primary assembly) you want to obfuscate and is a mandatory parameter.
The [<other assemblies>...] is an optional list of assemblies that will be merged with the primary assembly.
The [options] are a list of command line switches to configure Babel Obfuscator. Each command line switch is prefixed by a double hyphen, for example:
Command line parameters can be bundled using the short syntax for command line options. Use a single hyphen to enter multiple parameters in a bundled expression:
babel myapp.exe --types --methods --properties --fields --events
It is equivalent to:
babel myapp.exe -tmpfe
To show all available command line switches enter the command line:
babel --help
You can show a detailed description of every command line switch by entering:
babel --help [command name]
For example
babel --help controlflow
will output detailed help for the controlflow command line switch:
> babel --help controlflow
controlflow (nocontrolflow, no-controlflow, control-flow, no-control-flow, i)
usage: --[no]controlflow
Enable ([no]disable) MSIL control flow obfuscation (default: disabled)
Use this option to alter the method control flow.
Key-value pairs can optionally be entered to configure code scrambling:
Produces verifiable MSIL code
goto=[on/off] Whether to insert irrelevant branches
switch=[on/off] Whether to enable switch scrambling
case=[on/off] Whether to hide case constants
if=[on/off] Whether to enable if scrambling
call=[on/off] Whether to enable random calls
value=[on/off] Whether to use value encryption
token=[on/off] Whether to enable emission of method tokens
Produces not verifiable MSIL code
underflow=[on/off] Whether to enable stack underflow ()
--controlflow switch=on --controlflow case=on
This option can be entered multiple times.
Last modified 7mo ago