I normally don’t cross-link WPF articles unless super-excited because I figure all of us in the WPF-o-sphere are reading each other’s blogs. But I was particularly interested on Rudi Grobler’s recent look into XAML obfuscation because I’ve encountered obfuscation issues from a couple of sides in a recent project, and look forward to hearing further discussion on the topic.
To sum up, XAML obfuscation is a bit of a quagmire. I haven’t found a tool (let alone a build pipeline) that would make it easy to obfuscate production XAML code, which some consulting clients certainly would prefer. I’ll be interested in the results of Rudi’s investigation.
The other side of the coin is that because WPF apps are hard to obfuscate, studying code in order to learn (rather than to “liberate” is also possible.) I have really valued using tools like Reflector to learn good WPF practices from the experts. As I mentioned before, Expression Blend, which is a WPF app itself, has been a real inspiration because the Blend team has solved some really hard problems while building Blend.
Possibly Related Articles (possibly not):
Learn WPF by example (a recipe)
“Mate, this is the Future”
WPF Developer Tools I Can’t Code Without
Posted Jun 17th, 2008
into Developer, Microsoft, WPF
with tags obfuscation, XAML

Hi Rob,
I’m proud to say that we have yet finished work on the 1.0 version of CodeFort – an obfuscation tool for .NET and Silverlight apps which enabled fully automatic obfuscation of XAML and BAML based applications, including obfuscating the XAML and BAML code itself. This means that you can now for the first time obfuscate 100% of your code.
Please take a look at:
http://www.codefort.org/
and tell me your thoughts.
Best regards,
Christian
Another option worthy of consideration is the latest version of the commercial version of Dotfuscator. It is in the final phase of beta testing. Dotfuscator is now extending renaming into your XAML/BAML resources. This has three benefits; more of your assembly is protected, your XAML/BAML is protected, and you save time since configuration is now much simpler.
If you would like to run your application through this beta version of Dotfuscator, just email me (sebastian@preemptive.com) and I will have our support team send you credentials. This is beta – there are no fees – and you will have access to our support – but you cannot use this version for any production work. .NET 1.1 or higher is the only requirement.
We are seeing good results – for example, three production applications yielded the following increased coverage:
• Medical imaging – increased protected surface from 27% to 100%.
• Measuring device – increased protected surface from 26% to 78%.
• Software development tool – increased protected surface from 61% to 100%.
…but we want to be sure we are covering all bases – so challenge us with your most complex WPF applications and let’s see how we do. Thanks!
Hi Rob,
DeepSea Obfuscator v3 supports both XAML and WPF obfuscation.
The preview is available now.
Kind regards,
Ewout