I've been working late nights and weekends on my pet project for the last several months, and it's high time to see what other people think about it. If you haven't figured it out from the name already, here's what Assemblur is and what it does.
Assemblur (coined from assembly and blur) is yet another obfuscator for the .NET platform. Even though I just wrote 'yet another', I believe Assemblur has enough distinctive features that make it potentially interesting to a wider circle of people.
Assemblur's so called unique value propositions are simplicity and reliability (well, we'll see about that during beta testing). It lacks many features available in advanced obfuscators, but hopefully it does a good job at what's been advertised.
Speaking of which, here's a feature list:
- .NET Framework 2.0 support
Obfuscation of generic types and methods
- Managed C++ assembly obfuscation
Processing of assemblies that contain unmanaged code
- Cross-assembly obfuscation
Consistent renaming of identifiers across multiple assemblies
- Flexible exclusion mechanism
Exclusion of namespaces, types, methods, fields and even individual properties and events
Automatic global exclusion of resources, enumerated and serializable types
- Obfuscation preview (simulation)
Experimenting with different obfuscation settings without having to recompile code
- Full Visual Studio integration (add-in version)
Automatic detection and use of Visual Studio project settings
Transparent integration into the Visual Studio build process
Last but not least: Assemblur is (and will be) free for use in software projects consisted of a single compiled assembly.
Currently there's only a Visual Studio 2005 add-in version. The standalone version is a few weeks of work away but it will have to stay a moving target for a while.
Here are some screenshots and an idyllic, 9 MB (12-minute) flash presentation of Assemblur in action, trying to digest Paint.NET (I won't spoil the movie ending):
If you are interested in beta testing it, where "beta testing" really means "spending considerable time using it on a daily basis and providing feedback", then please contact me.