Optimizations

Babel Obfuscator can perform a series of optimizations related to both code and metadata. These optimizations encompass various techniques to improve the efficiency, size, and security of the obfuscated code. By optimizing the code, Babel aims to enhance its performance and reduce its footprint, making it faster and more compact. Simultaneously, metadata optimizations are applied to make the code harder to understand, reducing the likelihood of successful reverse engineering. Through a combination of code and metadata optimizations, Babel Obfuscator provides a comprehensive approach to enhancing the obfuscated code's quality and protection.

Babel Obfuscator offers a wide range of optimizations to enhance the obfuscated code. These optimizations include:

  1. Dead Code Removal Babel identifies and removes code that will never be executed at runtime, including unused methods, properties, fields, and types.

  2. Metadata Optimizations a) Automatic Class Sealing: Babel automatically seals classes to improve performance due to the optimizations made by the CLR when calling not virtual members. Moreover, class sealing prevents inheritance and modifications, adding an extra layer of protection. b) Custom Attributes Removal: Babel eliminates unnecessary custom attributes, reducing metadata size. c) System.Enum Types Removal: Babel removes System.Enum types that could potentially reveal information. d) Disgregate Removal: Babel removes properties and events constructs streamlining the code and reducing its complexity.

  3. Code Optimizations a) Inline Expansion: Babel inlines small methods or properties into the calling code, reducing function call overhead and improving performance. b) Const Fields Removal: Babel removes const fields from the code, reducing its size and improving security.

These optimizations collectively aim to enhance the performance, size, and security of the obfuscated code. By removing dead code, optimizing metadata, and improving the code itself, Babel Obfuscator creates a more streamlined, efficient, and harder-to-understand version of the codebase.

Babel UI

To enable optimizations within the Babel UI, you can access the "Optimizations" panel, which provides options for enabling various types of optimizations. You can enable optimizations by selecting the corresponding checkboxes next to each optimization type. Additionally, some optimizations may require further configuration, such as specifying attributes to be removed. After enabling the optimizations, initiate the obfuscation process, and upon completion, navigate to the obfuscation statistics section to examine the detailed information about the applied optimizations.

After the obfuscation process is complete, you can navigate to the obfuscation statistics to examine the optimization statistics chart, which presents a visual summary of all the optimizations performed.

Last updated