Babel Obfuscator
HomeDocumentationShop
  • Introduction
    • General Features
  • Getting Started
    • Install
    • Product Activation
  • Command Line
    • Command Line Reference
      • Miscellaneous
      • Input Files
      • Output Files
      • Plugins
      • Merge and Embed
      • Renaming
      • Control Flow Obfuscation
      • Encryption and Protection
      • Code Generation
  • MSBuild Task
    • Babel Task Reference
    • Customizing Intellisense
  • NuGet Package
    • NuGet Pakage Reference
  • User Interface
    • Obfuscation
    • Tools
    • Custom Themes
  • Obfuscation Rules
    • XML Rules
      • Example Rules
    • Custom Attributes
    • Obfuscation Agent
  • Merge and Embed
    • Assembly Merging
    • Assembly Embedding
  • Symbols Renaming
    • XML Map Files
    • Cross Assembly Renaming
    • XAML Renaming
    • Decoding Stack Traces
  • String Encryption
    • Custom String Encryption
  • Control Flow Obfuscation
  • Code Encryption
    • External Code Files
    • Password Protected Code
    • Dynamic Code
  • Dynamic Proxy
  • Resource Encryption
  • Value And Array Encryption
  • Tampering Detection
  • Anti Debugging
  • Enhancing Code Security
  • Optimizations
    • Dead Code Removal
    • Metadata Optimizations
    • Code Optimizations
  • Appendix
  • Examples
    • Examples
    • General Samples
      • ClickOnce Deploy
      • Detecting Babel Obfuscation
      • Obfuscate .NET MAUI
      • Blazor Web App
    • Code Encryption
      • Feature Based Licenses
    • Cross Assembly Renaming
      • Publish .NET App
    • Build Servers
      • GitHub Actions
      • Unit Tests
    • Babel Obfuscator NuGet
      • Android Application
  • Plugins
    • Babel Obfuscator Plugins
    • Encrypt Plugin
      • Getting Started
      • Source Code
Powered by GitBook
On this page

Was this helpful?

Optimizations

Last updated 5 months ago

Was this helpful?

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. Babel identifies and removes code that will never be executed at runtime, including unused methods, properties, fields, and types.

  2. 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. 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.

Dead Code Removal
Metadata Optimizations
Code Optimizations
Babel UI Optimizations Settings
Babel UI Optimizations Statistics