Click here to Skip to main content
Licence CPOL
First Posted 16 Sep 2010
Views 6,433
Bookmarked 3 times

Obfuscating Silverlight

By | 16 Sep 2010 | Technical Blog
(untagged)
“Obfuscation is the concealment of intended meaning in communication, making communication confusing, intentionally ambiguous, and more difficult to interpret.”Obfuscation has been used in programming for ages helping protect intellectual property! WPF and Silverlight is a li
A Technical Blog article. View original blog here.[^]

“Obfuscation is the concealment of intended meaning in communication, making communication confusing, intentionally ambiguous, and more difficult to interpret.”

Obfuscation has been used in programming for ages helping protect intellectual property! WPF and Silverlight is a little more tricky to obfuscate because of the way XAML work! While searching for a solution I found that Dotfuscator does support Silverlight XAML & WPF BAML obfuscation

“With XAML Obfuscation, developers can protect Intellectual Property and prevent tampering by renaming XAML resources, trim and compress Silverlight assemblies to optimize load time and performance, and automatically re-sign assemblies. Developers can fully obfuscate and instrument Silverlight XAP files resulting in a streamlined automated build process.”

 

WARNING: Dotfuscator is NOT a FREE tool

 

Lets try it out! What I have done is created a extremely simple Silverlight application. Next I opened Dotfuscator and added my XAP to the project and obfuscated it (I left all the settings on their defaults) and compared the 2 XAPs

The original XAP is 3,730 bytes and the obfuscated XAP is 4,134 bytes… Lets open it with reflector and compare:

Here is the MainPage un-obfuscated

And here is the same page obfuscated

Here is the un-obfuscated XAML

And here is the same XAML obfuscated

Dotfuscator has hundreds of settings to control the way it obfuscate code… so play with the settings and let me know what you think!

PS. Dotfuscator is not the only tool that has some XAML support… If you found any other that you like, please let me know!!!

 

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

About the Author

rudigrobler



South Africa South Africa

Member



Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
You must Sign In to use this message board. (secure sign-in)
 
Search this forum  
 FAQ
    Noise  Layout  Per page   
  Refresh
GeneralMy vote of 1 Pinmemberredcheek16:24 23 Sep '10  
GeneralMy vote of 1 PinmemberS.H.Bouwhuis22:23 20 Sep '10  

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.

Permalink | Advertise | Privacy | Mobile
Web04 | 2.5.120517.1 | Last Updated 16 Sep 2010
Article Copyright 2010 by rudigrobler
Everything else Copyright © CodeProject, 1999-2012
Terms of Use
Layout: fixed | fluid