Dotfuscator User's Guide
The Instrumentation Editor

The Instrumentation Tab allows you to add, edit, and review the custom attributes that configure Dotfuscator's code-injection features (called Instrumentation).  Those features include:   

This tab displays a tree view of the input assemblies, including attributes that decorate each assembly, module, type, or member. This includes PreEmptive-defined attributes (which can be edited) and other .NET attributes.

For new projects, the default setting for the Instrumentation transform is Enabled. However, telemetry is disabled by default. See Configuring and Running Dotfuscator with Application Analytics

Adding Extended Attributes

In addition to the attributes already in the input assemblies, custom attributes can also be added and edited through the user interface. These are known as extended attributes. Dotfuscator treats extended attributes the same as it treats custom attributes embedded in the source code. To add an extended attribute:

  1. Navigate to the method or assembly you wish to place the attribute on and select it.
  2. Right-click on the element and select "Add Attribute", then choose the appropriate attribute to add and click "OK".

Extended attributes appear in blue text to distinguish them from in-code attributes, which appear in black text. You may remove an extended attribute by right-clicking on the attribute and selecting "Remove Attribute".

Modifying Attributes

PreEmptive attributes, whether in-code or added as extended attributes, may be edited through the Attribute Editior section of the user interface:

  1. Select the attribute within the tree view (possibly by using the search functionality, see below).
  2. Use the Attribute Editor to set various properties of the attribute.
    • Some properties can be configured only to a limited set of values; these properties will offer a drop-down menu when selected.
    • Other properties can be configured in more detail with a separate dialog; these properties will offer a  "..." (ellipses) button when selected (see below).
    • The remaining properties can be edited as free text.

Changes are persisted to the Dotfuscator configuration file and take precedence over the attributes in source code.

Custom Endpoint Dialog

In the Attribute Editor for the SetupAttribute, the StaticEndpoint field is where you explicitly specify the endpoint for PreEmptive Analytics messages.  If no custom endpoint is selected, PreEmptive's commercial endpoint will be used.  Click the "..." (ellipses) in the StaticEndpoint field to invoke the Select Endpoint window:

Here you are able to specify what endpoint you wish to send to.  Once you've made your selection and clicked OK, the location displays in the StaticEndpoint field:

Owner Type Selection Dialog

Certain properties, such as ExtendedKeySourceOwner, specify a type within the project. Click the "..." (ellipses) in the field to select the type.

GUID Generator

In any field where a GUID would be appropriate, click the "..." (ellipses) in the field to generate a new GUID for the field.

Browse Dialog

For attributes with the ActivationKeyFile or PrivateKeyFile property, click the "..." (ellipses) in the field to locate the file.

Attribute Search Field

The Instrumentation tab is enabled with a Find feature that enables you to locate any item in the instrumentation tree view. For example, you can find a SetupAttribute by typing the text "*Setup*" (without quotes) and clicking the Find button.

See Also






© 2017 PreEmptive Solutions, LLC. All Rights Reserved.