Code Protection and Licensing of WPF Applications. RRS feed

  • Question


    Can anyone point me in the general direction of some links, good reading or white papers on approaches for IP code protection and licensing software - for WPF applications in particular.


     As far as I know - Xenocode Postbuild and Dotfuscator DO NOT work on WPF applications at present.


    Also just beginning to do research on licensing strategies. I'm aware of the limitations - would just like to find a strategy that is fair and relatively straightforward, protecting against casual abuse (although unlikely to defend against a determined cracker/hacker).

    Tuesday, July 24, 2007 5:49 PM

All replies

  • The major problem today with Obfuscators and WPF application is BAML.  The markup compiler encodes type references in .baml and those baml files get embedded inside of the assembly.

    Today, I believe the best thing to do is to not obfuscate any type or member names that you need to use in Xaml (as element names, properties, events or in property values such as Binding's Path property.)

    See my new post about: Obfuscation and Xaml/Baml (perhaps there will be updates there or good discussion...)


    Licensing - I don't have any expertise there...my guess is that this is just a .Net question, nothing specific to WPF.  You may want to take this part of the quesion to another forum (WinForms or general .Net perhaps?)  Please report a link back to this thread so people can find your further investigations.


    Thanks, Rob

    Rob Relyea | Program Manager, WPF & Xaml Language Team
    robrelyea.com | /blog | /wpf | /xaml

    Thursday, August 16, 2007 2:06 PM
  • In October 2007, Microsoft is planning to release its new product: Software Licensing and Protection Services software.


    There's an MSDN forum for this: http://forums.microsoft.com/MSDN/default.aspx?ForumGroupID=421&SiteID=1


    In the posts there (there are just a few so far), there are links to a couple of websites which have a bit more info (for now, just a high-level overview of what's that all about).

    Thursday, August 30, 2007 12:34 PM
  • For your licensing needs, you may consider CryptoLicensing for .Net ( http://www.ssware.com/cryptolicensing/cryptolicensing_net.htm ) - it uses cryptographic techniques to general license codes which means that a 3rd party cannot develop a 'keygen' for your app. CryptoLicensing supports a variety of scenarios like trials, activations, on-demand licneses, etc.
    Tuesday, July 14, 2009 4:52 AM
  • Try .net reactor or Intellilock: http://www.eziriz.com/

    • Proposed as answer by AbdullahNajam Monday, June 7, 2010 6:23 PM
    Tuesday, July 14, 2009 6:34 AM
  • Try SecureTeam CliSecure : http://www.secureteam.net

    Sunday, December 6, 2009 12:58 PM
  • Hi Waters and others,

    I know it's been a while since you wrote your question, but I wanted to inform you that obfuscation of XAML and BAML code is now possible.

    At Creatix we have today released the 1.0 version of CodeFort, an obfuscation tool which is able to obfuscate .NET, WPF and Silverlight assemblies, and even rename identifiers inside of XAML and BAML code. This makes it for the first time ever possible to obfuscate 100% of a WPF or Silverlight Application's types and members.

    You can learn more about the obfuscator and download the CodeFort Freeware Edition at:http://www.codefort.org

    Best regards, Christian

    Saturday, April 17, 2010 12:36 AM
  • It's been a long time coming, but PreEmptive Solutions is in the final phase of beta testing the latest Dotfuscator release. For those WPF developers who have ever tried to obfuscate (specifically rename) WPF applications, you know that most of your application has had to be excluded. In this latest release, Dotfuscator is extending renaming into your XAML/BAML. 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!

    Monday, May 10, 2010 5:52 PM
  • You can contact me on my email ... ive some code about it ... abna_ned@hotmail.com
    Monday, June 7, 2010 6:22 PM