Skip Navigation LinksBabel .NET/Products/Babel/Release Notes
Not logged inv

Babel 5.0.0.0 Release Notes

December 22, 2011 - babel.exe Assembly Version 5.0.0.0, File Version 5.0.0.0

Enhancements

  • Added new application Babel Obfuscator User Interface
  • Added optional regular expression filter to --cleanattrs command line switch
  • Added optional regular expression filter to --proxy command line switch that allow to filter the methods where proxy calls should be generate
  • Improved obfuscation speed

Changes

  • Compiled against .NET Framework 4.0

Bug Fixes

  • Fixed obfuscated application crash with null reference exception in some special cases when using only the feature “resource encryption”
  • Fixed Exception raised by an obfuscated application when public methods are renamed: System.TypeLoadException: Method '...' in type '...' from assembly '...' does not have an implementation
  • Fixed error: Type Obfuscation: Could not resolve: <full qualified type name>
  • Fixed copy of old Import Address Table VirtualAddress
  • Fixed Encrypt Strings error: SL hash algorithm throw the exception:...
  • Fixed error: Merge stub strings: Value cannot be null.
  • Fixed incorrect generation of PrincipalPermissionAttribute attributes

Babel 4.3.0.0 Release Notes

September 30, 2011 - babel.exe Assembly Version 4.3.0.0, File Version 4.3.0.0

Enhancements

  • Added --valueencryption command to encrypt inline constants and arrays
  • Added support for Silverlight 5 Beta XAP packages
  • Improved enhanced control flow obfuscation when using encrypted values feature
  • Added regular expression to filter dynamic proxy calls
  • Improved dead code removal to force cleanup of System.Object overrides
  • Added targetAssembly optional attribute to XML rules Rules element
  • Added applyToMembers attribute to XML Rule element

Changes

  • Custom string encryption method definitions are written to the output
  • Added more aliases to command line options
  • Improved the renaming algorithm, so that it can works with already obfuscated assemblies
  • Added "Babel Command Prompt" shortcut to Babel All Programs menu

Bug Fixes

  • Fixed custom string encryption DecryptString method called recursively when contains inline strings
  • Fixed obfuscated assemblies with map input files may raise type load exception: System.TypeLoadException: Method 'a' in type 'xy' from assembly 'myapp, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' does not have an implementation
  • Fixed generation of custom attribute signature
  • Fixed command line incorrectly report an error of ambiguous option entered when the option at the command line match any of its aliases
  • Fixed babel.exe crash when obfuscating type attributes having multiple properties
  • Fixed warning message: Cannot parse BAML resource stream ... Unable to cast object of type '??' to type '??'
  • Fixed BAML generation for nested resource dictionaries.
  • Fixed babel.exe crash: Merge stub strings: Stack empty.
  • Fixed missing entity framework resources when Babel is used from within a Visual Studio project
  • Fixed map file virtual function renaming
  • Fixed merging algorithm in some circumstances type reference table may contains invalid row entries

Babel 4.2.0.0 Release Notes

June 18, 2011 - babel.exe Assembly Version 4.2.0.0, File Version 4.2.0.0

Enhancements

  • Added --controlflow underflow=on that enables stack underflow protection
  • Added ParallelExecution Boolean flag in babel.exe.config to force disable parallel phase execution
  • Added --proxy option Silverlight assemblies compatibility
  • Added --makeproject option to create an MSBuild obfuscation project from the executing command line
  • Added --project option to start obfuscation using Babel MSBuild generated project
  • Added --namelength option to set the minimum length of obfuscated names
  • Added --enumremoval optimization that enables the removal of System.Enum types
  • Optionally user can define regular expression to rename embedded resource using the type name
  • The obfuscated assembly are now compatible with Federal Information Processing Standard (FIPS)

Changes

  • XAML strip line info enabled by default (--xaml strip=on)
  • Improved hash strings encryption algorithm
  • Improved control flow obfuscation
  • Changed XML map file schema version to 2.1
  • Improved internal rules for reflected enum agent task
  • Extended command line --help to show more details about the values stored in configuration file

Bug Fixes

  • Fixed crash: Control Flow Obfuscation: Collection was modified; enumeration operation may not execute.
  • Fixed crash: Null reference exception on XAP containing localized resources assemblies
  • Fixed MSIL encryption crash obfuscated application when calling generic instance methods
  • Fixed several errors in BAML obfuscation
  • Fixed Instrumented function pointer methods throws System.InvalidOperationException: Instances of function pointers cannot be created
  • Fixed Nested backing types are generated for instrumented types that were filtered by XML rules
  • Satellite assemblies that does not have a neutral culture, entered at the command line with option --satellite, are saved in the output root folder

Babel 4.0.0.0 Release Notes

April 25, 2011 - babel.exe Assembly Version 4.0.0.0, File Version 4.0.0.0

Enhancements

  • Added code instrumentation feature
  • Added dynamic proxy feature
  • Added debug PDB symbols file generation (supported merging of PDB files)
  • Added code optimizations feature (automatic class sealing and removing of unwanted attributes)
  • Added customizable character set to Unicode normalization switch --unicode [char set]
  • Added dead code removal driven by entry points --deadcode [regex]
  • Added --warnaserror which causes specific warnings reported as errors
  • Added quick rule definition
  • Full BAML and XAML renaming
  • Added merging for WPF and Silverlight assemblies
  • Added support for .NET Micro Framework 3.0,4.x
  • Added support for XBOX 360
  • Added support for Windows Phone 7
  • Added enhanced control flow obfuscation feature
  • Added generation of x64 images (corflags PE32+)
  • Improved renaming of compiler generated methods

Changes

  • Flexible licensing replaces the Free edition.
  • Current phase name is displayed on critical errors
  • Added -h alias to --help command switch
  • Any licensed edition does not emit the BabelAttribute attribute
  • Changed command line help layout
  • Control flow obfuscation now pass peverify.exe IL checks
  • Improved speed of generation of call graph

Bug Fixes

  • Fixed obfuscator crash with error: StartIndex cannot be less than zero.
  • Fixed obfuscator crash with error: Unable to cast object of type '?' to type '?'. when obfuscating C++ mixed code assemblies
  • Fixed obfuscator crash when merging multiple assemblies with duplicate type names
  • Fixed occasionally obfuscator hangs when using the --nounicode option
  • Fixed --nocopyattrs merge option does not disable copy of assembly level attributes
  • Fixed merging libraries with PInvoke calls to modules with names not endings with ".dll"
  • Fixed crash of Silverlight obfuscated assemblies when hash string encryption uses assembly strong name
  • Fixed symbol names are too long when there are more than 2000 symbols in an assembly
  • Fixed babel.exe returns no error code if input file was not found
  • Fixed needs of administrative rights to read license information on Windows 7 and Vista
  • Improved agent for VB.NET assemblies
  • Fixed generation of XML map files when obfuscating XAP packages
  • Fixed method not found exception in obfuscated assemblies that contains overloaded properties
  • Fixed wrong management of multiple ObfuscationAttribute attributes
  • Fixed --take and --skip commands filtering

Babel 3.5.0.0 Release Notes

April 20, 2010 - babel.exe Assembly Version 3.5.0.0, File Version 3.5.0.0

Enhancements

  • Added Resource Encryption feature (--resourceencryption command line switch)
  • Added Embed Assemblies feature (--embed command line switch)
  • Added Protection Against Reflection feature (--reflection command line switch)
  • Added Support for .NET Framework 4.0
  • Added Support for .NET Compact Framework
  • String Encryption: added hash algorithm support for Silverlight and NET 1.x assemblies
  • Rule Files: Added Target Resources to support resource encryption
  • Obfuscation: Babel does not add any dependency to obfuscated assemblies
  • Command Line: --msilencryption option now accepts an optional regular expression

Changes

  • Map File: changed schema version to 2.0
  • Babel: added check babel.exe cannot process itself
  • String Encryption: algorithm name chash has been changed to hash. The old hash algorithm was removed
  • Command Line: --stringencrypt has changed to --stringencryption
  • Command Line: --msilencrypt has changed to --msilencryption

Bug Fixes

  • Merging: Merged assemblies throw method not found exception
  • babel.exe crashes on parsing obfuscated assemblies
  • Map Files: missing static class qualifier
  • Map Files: name attribute contain wrong type names
  • Map Files: missing attribute newName on parameter
  • Public Obfuscation: Obfuscated application throw method not found exception
  • MSIL Encryption: Custom encryption method not found
  • Control Flow Obfuscation: Some methods are not being obfuscated and the number of branch instruction inserted is too low
  • Dead Code: Statistics does not show the correct number of removed methods
  • Babel stop with error: Index was out of range. This error may occurs on build call graph phase with COM interop assemblies
  • Agent: task Reflected strings added check symbols called by System.Configuration.SettingsBase::get_Item and set_Item
  • Obfuscation: application with resources crashes if obfuscated with --noflat option
  • Silverlight XAP: XAP package contains merged assemblies
  • peverify.exe Error: Method has a duplicate, token=0x06000xxx with overloaded renaming enabled
  • peverify.exe Warning: TypeDef (token=0x0200001e) has same name as TypeRef. [token:] when using --mapin option.