<Project>
<Assembly>
<UserString>
<Rule>
<Resource>
<Namespace>
<Type>
<Member>
<ExcludeDependency>
<Search>
<Assembly shouldVeil="true|false" name="name" obfuscate="true|false|default" obfuscatePrivateNamespaces="true|false|default" obfuscateEverything="true|false|default" obfuscateEverythingTypes="ProjectDefault|None| External|Obfuscated|Unobfuscated|Generics|All" namingScheme="ProjectDefault|Ascii|Collapsed|Hashed" serializable="Allowed|ISerializableAllowed|NotAllowed" isPrivate="true|false" source="path" destination="path" strongNameKeys="path|container" backup="true|false|default" enableMsilEncryption="true|false|default" encyrptMsil="true|false|default" enableStringEncryption="true|false|default" encryptStrings="true|false|default" encryptResources="true|false|default" compressResources="true|false|default" processSatelliteAssemblies="true|false|default" supportExceptionMapping="true|false|default" inlineCalls="true|false|default" killReflectors="true|false|default" killProfilers="true|false|default" killDebuggers="true|false|default" killCompilers="true|false|default" verifyStrongNames="true|false|default" addDiagnosticInfo="true|false|default" collect="None|Private|System|Gac|All|Override" isWholeProjectPackageTarget="true|false" excludeFromProjectPackage="true|false"
/>
addDiagnosticInfo | true|false|default | Indicates if CodeVeil should add attributes to the veiled assembly with the original un-obfuscated name. Used to diagnose naming issues during development. |
backup | true|false|default | Indicates if original assemblies should be backed up before veiling. |
collect | Determine how dependent assemblies should be collected. During the veiling process matching dependent assemblies will be copied to the outputPath. Multiple values can be separated by commas. |
|
None | Don't collect any dependencies. |
|
Private | References to private assemblies such as 3rd party assemblies and other application assemblies not included in the project. |
|
System | System assemblies included with the .NET framework. |
|
Gac | Indicates the assembly should be copied even if it is located in the GAC. |
|
All | Include all dependent assemblies. |
|
Override | Use the assembly settings and override any settings in the <Project> element. |
|
compressMap | true|false|default | Indicates if the obfuscation map used for exception translation should be compressed. Normally reduces file size by 80-90%. |
compressResources | true|false|default | Indicates if managed resources in the assembly should be compressed. |
destination | path | The path where the veiled assembly should be saved. If empty uses the source file name and the default <Project> outputPath. |
enableMsilEncryption | true|false|default | Indicates if Code Encryption is enabled for the assembly. Does not automatically add encryption. Use encryptMsil to encrypt all methods. |
enableStringEncryption | true|false|default | Indicates if string encryption is enabled. Use encryptStrings to encrypt all strings. |
encryptMsil | true|false|default | Indicates if all the methods in the assembly should be encrypted. See the Code Encryption topic for details. |
encryptResources | true|false|default | Indicates if all resources in the assembly and its satellite assemblies should be encrypted. |
encryptStrings | true|false|default | Indicates if all the User Strings in the assembly should be encrypted. See the String Encryption topic for details. |
excludeFromProjectPackage | true|false | Indicates if the assembly should not be bundled when Whole Project Bundling and Encryption is enabled. |
inlineCalls | true|false|default | Indicates if eligible calls to methods and properties should be inlined. |
isPrivate | true|false | Indicates if the assembly is intended for use only by the application and all assemblies that use it are included in the <Project> and public members can safely be renamed. |
isWholeProjectPackageTarget | true|false | Indicates if this assembly is the target for Whole Project Bundling and Encryption. |
killCompilers | true|false|default | Indicates if CodeVeil should prevent third parties from compiling against the protected assembly. See the Runtime Protection topic for details. |
killDebuggers | true|false|default | Indicates if CodeVeil should kill debuggers that attempt to debug the process with the veiled assembly. See the Runtime Protection topic for details. |
killProfilers | true|false|default | Indicates if CodeVeil should close the process when it is being profiled. See the Runtime Protection topic for details. |
killReflectors | true|false|default | Indicates if CodeVeil should add junk meta-data that cannot be processed by offline disassemblers like Reflector and ILDASM. |
name | name | The name of the assembly. |
namingScheme | The obfuscation renaming scheme to use. |
|
ProjectDefault | Use the project default. |
|
Ascii | Uses ascii printable characters with simple renaming rules. |
|
Collapsed | Collapse names into non-printable characters. May result in longer names and larger assembly but results in more difficult names. |
|
Hashed | Cryptographic hashed names based on the original name. |
|
obfuscate | true|false | Indicates if obfuscation should be enabled for all assemblies in the project. |
obfuscateEverything | true|false|default | Indicates if all method calls should be obfuscated. |
obfuscateEverythingTypes | Disguise calls to methods using advanced call shadowing. See the Obfuscate Everything Protection topic for details. |
|
ProjectDefault | Use the default project settings. |
|
None | Don't disguise calls to any methods. |
|
External | Disguise calls to methods defined in other assemblies. |
|
Obfuscated | Disguise calls to obfuscated methods in this assembly. |
|
Unobfuscated | Disguise calls to unobfuscated methods in this assembly. |
|
Generics | Disguise calls to generic methods. |
|
All | Disguise all calls. |
|
obfuscatePrivateNamespaces | true|false|default | Indicates if namespaces with all private classes should be obfuscated. |
outputPath | path | Root path to the folder where veiled assemblies should be saved and dependent assemblies collected. |
processatelliteAssemblies | true|false | Indicates if CodeVeil should automatically locate and process satellite assemblies and apply resource encryption, compression and resource renaming to satellite assemblies. |
serializable | Indicates how serializable types should be treated by default. |
|
Allowed | Serializable types are allowed to be obfuscated using the regular naming rules. |
|
ISerializableAllowed | Types that explicitly implement ISerializable are allowed to be obfuscated sing the regular naming rules. |
|
NotAllowed | Serializable types should not be obfuscated. |
|
shouldVeil | true|false | Indicates if the assembly should be included in the veiling process. If false, the assembly is only used for cross-assembly reference resolution and is copied to the <Project> outputPath. |
source | path | The path to the assembly relative to the project file. |
strongNameKeys | Keys used to re-sign the assembly. |
|
path | The path to the .SNK file to use when resigning the assembly. |
|
container | The path to the machine store where the signing keys are stored. Must begin with container://. |
|
supportExceptionMapping | true|false|default | Indicates if CodeVeil should save a map and use special naming conventions to support de-obfuscating exception stack traces. |
verifyStrongNames | true|false|default | Verify the signatures of this assembly if strongly named, and the signatures of assembly dependencies. Works even if strong name verification is disabled on the machine. |
<Rule> | Defines an obfuscation selection rule to enforce naming rules for specific assembly members. |
<Resource> | Defines a resource and its encryption and compression settings. |
<Namespace> | Namespace element containing <Type> elements. |