Babel Task Reference
The Babel task has various attributes that allow you to configure the obfuscation process. These attributes control the command-line options available to the babel tool.
Miscellaneous
License
String
Full path to the license file or list of license file search directories
DbgHelpDllDir
String
Set the path to the dbghelp.dll
DetectIfObfuscated
String
The action to take if the target assembly is already obfuscated
EnableObfuscationAgent
Boolean
Whether to enable the obfuscation Agent
NoConfig
Boolean
Whether to ignore configuration file
NoWarnings
String
List of warning message codes to ignore
QuickRules
String
RandomSeed
String
Initialize the random number generator used during obfuscation
SatelliteAssemblies
String
List of satellite assembly files
SearchSatelliteAssemblies
Boolean
Whether to enable the search of satellite assemblies
SearchDirectories
String
List of assembly search directories
ShowLogo
Boolean
Outputs Babel copyright information
ShowStatistics
Boolean Key=Value
TargetAssemblyName
String
Set target assembly name origin. Can be nochange, inputfilename, outputfilename, name=assemblyname
ToolExe
String
Executable name that can be babel.exe or babel.dll
ToolPath
String
Directory to babel tool
Trace
String
By passing a regular expression, it is possible to trace the symbols to spot the reason why they are not obfuscated. It can be used to debug obfuscation rules
Use
Key=Value
VerboseLevel
Int
Set the log verbosity level
WarningsAsErrors
String
Any messages that would ordinarily be reported as warnings are instead reported as errors by stopping the obfuscation process
WarningsAsInfos
String
Messages that would typically be reported as warnings will be displayed as informational messages, reducing their severity while still providing useful feedback
XmlRules
String
Input Files
DependenciesManifest
String
The path to target assembly .deps.json file
InputFile
String
The path of the source target assembly
KeyFile
String
Path of the strong-name key file
KeyContainer
String
Key container name (Windows only)
KeyPwd
String
Strong name certificate password
MapInFiles
String
List of obfuscation rules files to process
RulesFiles
String
List of XML map files to process
Output Files
GenerateLogFile
Boolean
Whether to generate an obfuscation log. The default log file name will be <target assembly>.log
GenerateMapOutFile
Boolean
Whether to generate an obfuscation map file. The default map file name will be <target assembly>.xml.map
LogFile
String
Obfuscation log file path
MapOutFile
String
Obfuscation map file path
OutputFile
String
Obfuscated target file path
PdbFile
String
Debug symbols file path
PdbPwd
String
Set debug symbol file password
Plugins
Plugins
String
List of pluginf assembly files
PluginsArguments
Key=Value
Set plugin arguments as key-value pairs
Merge and Embed
CopyAttributes
Boolean String
Whether assembly level attributes of merged assemblies are copied into the target assembly
EmbedAssemblies
String
List of assembly files to embed into the primary assembly
Internalize
Boolean
Whether merged types have their visibility restricted to the assembly
JsonManifest
Boolean
Whether to handle merged dependencies in JSON manifest
MergeAssemblies
String
List of assembly files to merge into the primary assembly
Renaming
FlattenNamespaces
Boolean String
Whether to remove namespace information. Set type namespace name.
NameLength
Int String
Set the minimum obfuscated symbol's name length. Additionally, key-value pairs can be specified to assign the value to a particular symbol kind.
NamePrefix
String
Set obfuscated symbol name prefix. It can be $name or any string. Additionally, key-value pairs can be specified to assign the prefix to a particular symbol kind.
ObfuscateTypes
Boolean
Whether to obfuscate type names
ObfuscateEvents
Boolean
Whether to obfuscate event names
ObfuscateMethods
Boolean
Whether to obfuscate method names
ObfuscateParameters
Boolean
Whether to obfuscate parameter names
ObfuscateProperties
Boolean
Whether to obfuscate property names
ObfuscateFields
Boolean
Whether to obfuscate field names
ObfuscateXaml
Boolean Key=Value
(Boolean) Whether to obfuscate XAML/BAML code.
OverloadedRenaming
Boolean
Whether to overload symbol names
UnicodeNormalization
Boolean String
Whether to generate names using Unicode symbols. If disabled, ASCII characters will be used. Optionally a list of comma-separated characters can be specified.
VirtualFunctions
Boolean Key=Value
XmlDocFiles
String
List of XML documentation files to be processed
Control Flow Obfuscation
ControlFlowObfuscation
Boolean Key=Value
ControlFlowIterations
Int
The number of iterations used in the control flow obfuscation algorithm
EmitInvalidOpcodes
Boolean
Whether to emit invalid MSIL op-codes
Encryption and Protection
DebuggingProtection
Boolean
Whether to enable anti-debugging protection
DynamicProxy
Boolean Key=Value
DynamicProxyCallFilters
String
List of regular expressions that determine which method calls should be proxied.
MsilEncryption
Boolean String
Whether to enable code encryption. Optionally a given regular expression can be specified to encrypt the methods that match their signature
ResourceEncryption
Boolean Key=Value
StringEncryption
Boolean String
SuppressIldasm
Boolean
Whether to prevent ILDASM from disassembling the obfuscated target
SuppressReflection
Boolean
Whether to prevent tools using reflection API to inspect metadata
TamperingDetection
Boolean
Whether to enable anti-tampering protection
ValueEncryption
Boolean Key=Value
Optimizations
CleanAttributes
Boolean String
Whether to clean up unwanted attributes. A list of regular expressions that filters out the full names of unwanted attribute types
ConstRemoval
Boolean
Whether to enable constant fields removal
DeadCodeElimination
Boolean
Whether to remove unused methods from the target assembly
DisgregateRemoval
Boolean
Whether to enable properties and event metadata removal
EnumRemoval
Boolean
Whether to enable System.Enum types removal
InlineExpansion
Boolean
Whether to enable the method's inline expansion
SealClasses
Boolean
Whether to seal classes whenever possible
Code Generation
AddReference
String
List of assembly files to add as a reference in the primary assembly
Framework
String
Set the target assembly framework name
GenerateDebug
Boolean
Whether to enable debug symbols generation for the target assembly
Instrument
Boolean String
Whether to enable code instrumentation. A list of regular expressions that filters out the method's full names that will be instrumented
InstrumentEmptyMethods
Boolean
Whether to enable the instrumentation of methods with an empty body
ModuleInitializer
Boolean
Whether to add module initializer code to the primary assembly
ModuleInitializerTarget
String
Set module initializer target method name
ModuleVersionId
String
Set module MVID GUID string
Packages
AndroidSigningKeyAlias
String
Android key store alias (APK Package)
AndroidSigningKeyPass
String
Android key store password (APK Package)
AndroidSigningKeyStore
String
Android key store file (APK Package)
AndroidSigningStorePass
String
Android store password (APK Package)
SkipFiles
String
A list of deployed assemblies files that should not be obfuscated
TakeFiles
String
A list of deployed assemblies files that should be obfuscated
RemoveFiles
String
A list of deployed assemblies that should be removed from the package
XapCompressionLevel
Int
Package compression level (XAP Package)
Last updated