Tuesday, July 28, 2009

Babel Has Been Released

Babel is entirely a new application. First the dependency from Microsoft Phoenix Framework was removed, so it isn't necessary to install Phoenix Framework RDK. This means that also Visual Studio 2008 family isn't required.

This new version introduce a feature called Dead Code Elimination. Dead Code Elimination remove from the target assembly all unused methods, properties, events that are not used internally (constructor are left untouched because removing them may cause problem with reflection API).

A lot of bugs from previous 1.5 version has been fixed. Because this is a completely reworked application take care to test it very well before substitute the previous 1.5.
I did my tests and they went pretty well but I know that I may miss something so beware!



Eskryt said...

Thank you for this release!

I have not used this application before, but I tried 2.0 and like it. Cool!
You wrote, that in 1.4 version XML mapping files are generated and there are no feature to deobfuscate stack trace based on this files. Is there any changes now? Do you know about 3rd party applications doing this task? Or maybe you have source code to do this?

If there is no application and source, I can write my own implementation and contribute to this project.

Alberto Ferrazzoli said...

well, presently there isn't an application to decode stack trace nor source code. I'll be glad if you can provide one!

Lars Brandt said...

Great! Thanks Alberto :)

Lars Brandt said...

Wow it's fast!

Chris said...


and what about 64bit? Do you have some news for us? :)


Alberto Ferrazzoli said...

Well actually babel can runs on 64 bit Windows operating system under WOW64 subsystem. The obfuscated assimblies can run into fully 64 bit mode, but you have to disable emission of invalid opcode (switch --noinvalidopcodes).

The option --invalidopcodes cause the obfuscated assembly to run into WOW64 as babel does.

Anonymous said...

Beautiful application!
But you really missed something:

- Resources obfuscation/compression.

Each text file added to a resource (.resx) isn't obfuscated.

Alberto Ferrazzoli said...

You right

The feature is in the todo list.
Hope to implement soon.


abhilash said...

This is a great application. I am wondering if this could be used in Silverlight. I tried but didnt work well with default options. Since I am using lot of databinding and XAML based events, I had to use the the folowing options to get it working.
--noildasm --nomsil --noinvalidopcodes -nop --nodeadcode --nostringencrypt -non --novirtual -noe -nom -nou

But this beats the purpose as the code can be easily reproduced. Is there a way to achieve a better result?

Alberto Ferrazzoli said...

I am working on a new release of babel with better support for XAML and Silverlight.

Be patient the next release should be available soon (hope before the end of the year)


again said...

Hello Alberto,

thanks for you work. Your Google Code page says that Babel Obfuscator is licensed under LGPL, so I was searching for the code until I found out in the wiki that it is not open source. What is the license of you program?

Best regards

Alberto Ferrazzoli said...

Babel v and previous releases are provided "AS-IS" with the hope that can be usefull to someone.
You can use even for commercial application. Using babel is at user risk, anyway the source code is not available.
Next release of babel will be and the licensing terms will change because the application will be no more free. The Google Project page will be closed and a private hosting will be used instead.

Best Regards


Anonymous said...


These are sad news for Babel fans like me...
I was waiting for the
- Resources obfuscation/compression.

But, what's worse: I've stumbled about a major bug in

My TreeView stopped working. I can't move nodes around any more.

The bug disappears if using the --notypes argument.

Please provide a fixed version with above wishes included before releasing a WPF enabled "paid" version.