Assemblur is an obfuscator for .NET projects that works as a Visual Studio 2005
add-in. It's pretty simple to use: you pick your assemblies (ideally, by specifying
outputs from a Visual Studio project, though you can also add assemblies from a
fixed disk location), specify signing and output properties if you want to override
what's built into the solution, and specify renaming rules and exceptions. Assemblur
then hooks itself right into the build chain, so that when you build the project,
it automatically gets obfuscated as a final step, with Assemblur's output appearing
in the output window as you would expect. The whole is quite painless.
The nicest feature here is the Preview tab of the user interface, which lets you
do a "dry run" of obfuscation to confirm the results of your renaming and exception
choices before an actual build. It presents two treeviews showing types, members,
string resources, and so on. To the left you see what's in the assembly right now,
and to the right you see what will be in the assembly after Assemblur gets done
with it. So if you've got a complex set of rules and exceptions (Assemblur supports
excluding types from renaming based on their protection level or name, for example)
you can confirm that the resulting assembly will have the interface that you expect.
Assemblur supports obfuscation in C#, VB, and managed C++ projects. The obfuscation
appears to be limited to simple member renaming and some string obfuscation - there's
no attempt to apply the sort of code-level obfuscation that higher-end packages
include. The version currently available is free; the help refers to a distinction
between a free version that can obfuscate a single assembly, and a paid version
that handles multiple assemblies, but currently there appears to be no provision
to register the application. If your obfuscation needs are light (being limited
to a single assembly and member and type renaming), then Assemblur provides a free
and painless way to handle them.