robburke.NET
© 2010 Robert Burke
All Rights Reserved.

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):

3 Responses to “XAML and Obfuscation”

  1. Christian 16th Apr 2010 @ 8:11 pm

    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

  2. sebastian 10th May 2010 @ 1:59 pm

    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!

  3. Ewout Prangsma 19th Aug 2010 @ 2:04 pm

    Hi Rob,

    DeepSea Obfuscator v3 supports both XAML and WPF obfuscation.
    The preview is available now.

    Kind regards,
    Ewout

Trackback URI | Comments RSS

Leave a Comment