The .NET Obfuscation Checker is a tool that shows you which assemblies in a directory are:

You can then see the state of the build you're shipping and know whether it's safe to ship.

The .NET Obfuscation Checker is an experimental tool, and not supported.

It is free, but requires a license of .NET Reflector. You can use a free trial for two weeks, but will then need to activate the copy of .NET Reflector in c:\Program Files\Red Gate\.NET Obfuscation Checker 1\Reflector.exe.

You can download the .NET Obfuscation Checker here.

Overview - checking obfuscation in a directory

To see the obfuscation and security status of files in a folder:

  1. Open the Obfuscation Checker if it is not already running, and click Browse.
    A file browser dialog is displayed.
  2. Navigate to the folder you are interested in and click OK.
  3. Click Scan.

The Obfuscation Checker scans through the folder you selected, and displays information about the security and status of the files.

The command line interface

The Obfuscation checker has a simple command line interface so you can integrate it with your build process. The checker itself is an experimental beta tool, and we'd like to stress that the command like version is even more so - it's as stable as we could make it in limited time.

The command line outputs the results of an obfuscation check as an XML file.

Command line syntax

To use the command line, specify a folder to scan and a file to output.

The arguments are:

For example:

C:\YourFilePath>ObfuscationChecker.exe /folder:"C:\Program Files\Red Gate\.NET Obfuscation Checker 1" >> D:\output.xml

The XML schema

The XML output has the schema:                                   

<obfuscationCheck version='1.0'>
    <checkDetails dateRun='12-Dec-2012'>
        <user>automated.build@company.com</user>
        <rootFolder>C:\Program Files</rootFolder>
    </checkDetails>
	<folder relative="Red Gate">C:\Program Files\Red Gate
	   <folder relative="SQL Compare">C:\Program Files\Red Gate\SQL Compare
	        <file obfuscated='true' strongNamed='true' digitallySigned='true' isDotNet='true' version='10.0.1.2'>SQL Compare.exe
	            <references>
	                 <reference name='mscorelib' obfuscated='true' strongNamed='true' version='1.2.1.4'>C:\somewhere </reference>
	             </references>
	             <obfuscator version='6.0.1.2'>
	                  SmartAssembly
	              </obfuscator>
	         </file>
	   </folder>
	</folder> 
</obfuscationCheck>