Monday, March 23, 2009

Babel 1.5 Released

Babel 1.5 is ready to be downloaded and I would like to tell you some good news.
I fixed a major bug in this new version about obfuscation of generic static fields. 
Moreover obfuscation agent was improved and now application that use built in System.Configuration.SettingsBase type should behave correctly.
The agent now knows some of the types provided by WPF that should not be obfuscated...
Onestly I have made some test on WPF applications (very little GUI apps) and babel performed well, but for large projects I have some doubts regarding its reliability.

If you had the time to test babel with WPF, WCF and these kind of new technologies please let me know your impressions. 

Last but not least, thank you very much for using babel and helping me to improve it. 




Jason Haley said...

I'm not sure if this is the place to ask questions or not ... but - I'm having problems getting interfaces to obfuscate the method and property names - will Babel do that?

Alberto Ferrazzoli said...

Hello Jason.
I am not sure that I have understood your question.

babel does not provide any public interface that controls the obfuscation process via code.

babel obfuscate all the interfaces with their methods and properties if they are not visible outside the assembly.

With Regards


Jason Haley said...

Ok, thanks. That answers my question.

Defkon1 said...

First of all, my best congratulations for this wonderful tool!

I've got a solution with several project in it and i would like to build and "babelize" them all in one shot.

So i've inserted Babel.targets in each project, but actually the babelized dll/exe are copied only in respective /bin/release folders and not in the main build (the main executable /bin/release folder with all dll compiled).

there's a way to reproduce this approach? in my case it could be a really pain-saver...

thanks in advance!

-alessio marinelli

Alberto Ferrazzoli said...

Hello Alessio

You should be able to override BabelOutputFile xml element into your project file (use msbuild variables).

The output file should not be the same as the processed file because this one is locked by babel during obfuscation.

Best Regards


Anonymous said...

Does not work on Vista 64.

Program installs in
C:\Program Files (x86)\Babel

Think that might be the problem..

Error :
Unhandled Exception: System.IO.FileNotFoundException: Could not load file or ass
embly 'phx, Version=0.64.30627.0, Culture=neutral, PublicKeyToken=31bf3856ad364e
35' or one of its dependencies. The system cannot find the file specified.
File name: 'phx, Version=0.64.30627.0, Culture=neutral, PublicKeyToken=31bf3856a
at ?.Main(String[] args)

Alberto Ferrazzoli said...


Seems that you don't have installed the right version of Phoenix SDK

Best Regards

Defkon1 said...

thanks alberto, i'll try asap.

another question:

i've got a solution with following structure:

- 1 main winform project
- 7 class library projects
- 2 win installer project

i've linked babel with msbuild in projects files, but i don't think that installers will contains obfuscated dll...

what do you think about it?

my installers will distribute normal dll/exe or obfuscated?

Alberto Ferrazzoli said...

Probably you are right.
First you should be able to see babel output into the Visual Studio output tool window for every project linked with babel.
Then be sure that your setup project links the correct obfuscated binaries. Usually setup project are linked to the project output binaries that are also the input of babel. So you have to tweak your setup project to get the correct obfuscated dll or exe.