How to use Rummage

Get started quickly

  • Open Rummage by clicking its icon in the Start menu.
  • Click the Browse button and choose an EXE file you wish to obfuscate.
  • Click Obfuscate Now.
  • Done!

Profiles

You can configure Rummage to run only some of the obfuscations it supports. Rummage is pre-packaged with two built-in profiles:

  • Reflection-safe — applies only obfuscations that are 100% guaranteed never to break applications that make heavy use of Reflection.
  • Maximum — full obfuscation. Even applications that use Reflection can use this safely in most of the cases.
  • If you wish to apply a different set of obfuscations, click on the Profile button to create a new profile and manage your profiles.

    Find out more about the individual obfuscation techniques on our technical detail pages.

    Results

    At the end of obfuscation, Rummage lists all the things it did, as well as some of the things it didn’t do and why. Follow these steps to read this information:

    • Run an obfuscation normally. You will see the summary screen with a table of numbers, which go up as the obfuscation progresses.
    • As the numbers in the summary table turn from disabled (grey) to active, you can click on them to find out more about the specific obfuscation.
    • For example, if you were expecting a particular type to be removed because it is unused, but you find that Rummage has kept it, click on the number in the Removed types/members row and the Skipped column. In the alphabetic list of types on the left, select the type you are looking for. Rummage displays the reasons for leaving the type in.

    You can also save all this information in a machine-readable XML format. Simply use the Save obfuscation map button on the summary screen. You can save it either as raw XML (use a .xml extension) or as gzip-compressed XML (use a .gz extension).

    Attributes

    If you require more control over what Rummage obfuscates, your code may be marked with a number of Rummage-specific attributes. Rummage also offers attributes to control inlining of specific methods. Please see obfuscation attributes for more information.