Babel Obfuscator is a powerful protection tool for the Microsoft .NET Framework.
Resources
Obfuscation and protection
Babel Obfuscator is a powerful protection tool for the Microsoft .NET Framework. Programs written in .NET languages, such as C# and Visual Basic .NET, are typically easy to reverse engineer because they are compiled into the Microsoft Intermediate Language (MSIL), a CPU-independent instruction set built into .NET assemblies, along with metadata that allows the reconstruction of the original source code. The Babel Obfuscator is able to transform assemblies to hide the code, so that reversal is extremely difficult.
Renaming symbols
Babel Obfuscator can rename types, methods, properties, events, fields, namespaces, and method parameters. The name of the original symbol is changed, so it is no longer possible to retrieve the meaning of the obfuscated member. This makes it extremely difficult to understand code and reverse engineering. You can choose two different renaming conventions: alphabet characters and unprintable Unicode symbols. Both minimize the number of character symbols used by reducing the overall metadata size and load time.
Overloaded rename
With overloaded renaming, the same name is used to rename methods with different signatures, as long as allowed by .NET Framework design rules. This makes it even more difficult for a hacker to reverse engineer the code. Babel also renames overloads when only the return type of the method is different, making it impossible to completely decompile code for high-level languages such as C# and VB.NET, where return type overload is not allowed.
Custom Unicode Characters
Babel accepts a custom Unicode character set used to generate obfuscated member names. The user can customize their character set, increasing the illegibility of the disassembled code.
Renomeação de XAML e BAML
Babel Obfuscator can analyze XAML and BAML features and rename all members mentioned in the XAML/BAML code to produce better obfuscation by increasing the percentage of obfuscated symbols. This also makes it difficult to read your XAML code. Babel can also merge into a single assembly file with multiple assemblies that contain XAML/BAML resources.
Cross-mount renaming
The Babel Obfuscator can obfuscate public members across multiple assemblies and then align the names of the obfuscated symbols referenced in each assembly. This maximizes the overall number of renamed symbols, further improving obfuscation.
Built-in value and matrix encryption
Constant values and arrays can contain sensitive information, such as encryption keys, that the user wants to hide for the disassemblers. Babel Obfuscator can encrypt constant values and arrays, providing an extra layer of protection.
Resource encryption
Managed resources can be compressed and encrypted to protect your assets and also to reduce the overall size of the assembly. Encrypted resources are loaded at runtime when they are eventually needed.
Obfuscation of the control flow
Obfuscation of the control flow consists of changing the execution path of a method. Babel can make the statements more complex to read, insert multiple irrelevant branches, add multiple swap statements without changing the behavior of the method, so that it is very difficult to analyze after decompiling.
Code encryption and virtualization
Babel Obfuscator can encrypt and virtualize the byte code of a method to make it totally unrecognizable to any decompiler. The method runs at run time on a virtual machine. This process is done entirely in managed code: there is no use of unmanaged stubs, native CPU instructions, or external platform invocation calls. The encrypted method is not available to decompilers and is extremely difficult to debug.
Dynamic proxy call
With dynamic proxy calls, you can hide all calls to external and internal methods, within the types of delegates dynamically created at runtime.
Violation detection
The .NET Framework can detect that an application was tampered with when the assembly was signed. Babel Obfuscator can add an extra layer that will allow custom logic to run if the application has been tampered with.
System Requirements
You don't know what software you need or you haven't found what you were looking for? We have a team ready to help you choose the right software for your company.