The most recent release of Dotfuscator includes a new feature that has been a top customer request: increasing the level of protection for Windows Presentation Foundation applications. Up until now, obfuscators were unable to transform items in code-behind that are referenced from the layout of Windows Presentation Foundation applications. Excluding all of the necessary items from being renamed and removed decreased the level of protection and increased the testing required to ensure stability. With the 4.7.1000 release of Dotfuscator WPF applications are now able to be protected with an unprecedented level of obfuscation. Dotfuscator now analyzes and rewrites BAML (the compiled XAML) in WPF applications and applies consistent renaming across the layout and application code as well as ensuring that items referenced in the BAML are not pruned from the output. With full renaming support information leakage of namespaces, class, event and property names is reduced to the bare minimum. The below sample WPF application decompilation demonstrates the effectiveness of this groundbreaking feature.
Before |
After |
![]() |
![]() |
In addition to WPF obfuscation Dotfuscator 4.7.1000 also includes support for resigning Silverlight 4 XAP packages and updated support for integrating with InishTech SLPS.
There are two functional changes for this release, the first is that for new projects Library mode is now the default for all assemblies and packages. This improves the out of the box experience but with the trade off of not renaming any publicly accessible types and public members of those types. For applications that require the maximum amount of protection PreEmpitve recommends turning off library mode wherever possible. A second functional change is tamper notifications are turned off by default. Using tamper detection and defense does not require the sending of tamper notifications and this change makes it easier to test tamper detection with minimal configuration overhead.
Additional changes include support for the .NET 4.0 extensions to ClickOnce applications, support for ClickOnce packages that include native assemblies, and bug fixes. See the change log for full details.
Keep tuned to this blog, we have many more exciting announcements coming soon.

