views:

519

answers:

5

Hi

I have two assemblies, A and B, where A depends on B. I'm trying to obfuscate both of them together, i.e. in a way it doesn't break the app with the babel obfuscator.

Is there a way to do that? Apparently this obfuscator doesn't handle multiple assemblies.

If that's an issue, which other .NET obfuscator- that handles multiple assemblies- would you recommend?

A: 

Is Linking them together an option? Dotfuscator allows you to Link Assemblies together and obfuscate the whole.

Check out this article if it is useful in your situation.

Yannick M.
Dotfuscator also does not require linking them together, it can easily obfuscate multiple assemblies at one time (and rename referenced types between them consistently)
Joe Kuemerle
+3  A: 

Dotfuscator Community edition. And here is its MSDN article.

If you want more power and ready to pay then go for XenoCode Post Build.. They also supply evaluation version.

Mahin
In addition to the free community edition of Dotfuscator, which does handle multiple input assemblies, you can also request a free evaluation of the pro version of Dotfuscator with more obfuscation functionality.
Joe Kuemerle
+3  A: 

You can use ILMerge to merge the assemblies and then babel to obfuscate the merged assembly.

ILMerge is a free Microsoft tool that can be downloaded at: http://research.microsoft.com/en-us/people/mbarnett/ILMerge.aspx

Alberto Ferrazzoli
This is exactly how I handle the problem - works great, especially with the /internalize switch on ILMerge, which then lets Babel obfuscate the members that were public.
Erik Forbes
+1  A: 

Crypto Obfuscator supports multiple assemblies and cross-assembly obfuscation.

logicnp
A: 

You need an obfuscator that obfuscated multi assemblies: that is, when one member is renamed, it must be renamed in every assembly in the obfuscation proyect. try BitHelmet. Regards

Daniel Dolz