Hi everyone.

It’s been pretty much a year since i posted the first sneak peak at Oxfuscator, our IDE-integrated code obfuscation solution for Visual Studio in this blog post, and a few months later we first shipped Oxfuscator – exclusively – as part of Delphi Prism 2011.

Since then, we have gotten a lot of requests about whether we were planning to make Oxfuscator available separately – after all, it’s a language agnostic technology that works very well for developers sing C#, Visual Basic.NET or even any other .NET language, from Ada to Zoon. So i’m happy to let you know that Oxfuscator is now available directly and outside of Delphi Prism, directly from us.

So, What is Oxfuscator, Exactly?

As mentioned above, Oxfuscator is a tool to help obfuscate the assemblies (.exe and .dll) files generated by .NET compilers, to remove human readable class names and, generally, make the resulting executable harder to disassemble or reverse engineer with tools such as ILDASM, Reflector, etc.

The big difference between Oxfuscator and other obfuscation tools out there is that Oxfuscator integrates ot only directly with the Visual Studio 2008 and 2010 IDE, it also plugs right into the build system, so that whenever you build our project (be it from inside the IDE, or with the MSBuild command line tools, such as in an automated build scenario), your obfuscation gets run too.

From the developer’s perspective, Oxfuscator shows in the IDE as a separate project type that you simply add to your solution. Like regular language projects, it has a References node (except we call it Assemblies to Obfuscate instead of References), where you can add references to your other projects, or to external dlls – just as you would in a regular project. All the assemblies “referenced” by the Oxfuscator project will be part of the obfuscation.

Oxfuscator projects also have their own property pages that let you control the obfuscation level, define output paths and decide what parts of the executable you want to obfuscate (the most common scenario is to obfuscate the assemblies as much as possible – but sometimes there are good reasons to leave certain names in tact. for example, if your application has an extensibility API, a lot can be said for retaining the proper names of the classes ior interfaces that make up that API, as other dlls, not part of your obfuscation process, will later try to find those types in your assemblies).
(In addition to selecting obfuscation range in the proeprties, you can also excude classes or members directly in code, using the System.Reflection.Obfuscation attribute).

Get Oxfuscator Now!

If you’re a user of Delphi Prism XE, you already have the latest version of Oxfuscator as part of your Prism install (and will keep getting updates alonside Prism). If you’re a C# or Visual Basic.NET developer (or using any other language that compiles for the CLR), you can download a free 30 day trial to Oxfuscator now, here – or head right over to our online shop and buy your full license for Oxfuscator for only $149.

We hope you’ll like Oxfuscator and find it a worthwhile addition to your .NET tool chain.

Let us know what you think!

Update: oh, i almost forgot: Jim recently did a great video on Oxfuscator for RemObjects TV. check it out here.