Documentation

Everything you need to protect your binaries with ChaosProtector.

Getting Started

ChaosProtector protects your Windows 32-bit (x86) and 64-bit (x86-64) PE executables (.exe) and dynamic-link libraries (.dll) from reverse engineering using code virtualization, obfuscation, and anti-tamper techniques. Follow these steps to protect your first binary.

1

Download ChaosProtector

Sign in with your Google account and download ChaosProtector from the Dashboard. The Trial plan is free and includes obfuscation and the full GUI application.

2

Open your executable

Launch ChaosProtectorGui.exe and click Open File to load your 32-bit or 64-bit PE executable or DLL. ChaosProtector will parse the binary and display all detected functions.

3

Select functions to protect

Use the function list to select which functions you want to virtualize. Focus on security-critical functions like license checks, cryptographic routines, and proprietary algorithms. Leave performance-critical code unprotected for the best balance of security and speed.

4

Configure protection options

Enable the protection features you need:

  • Code Virtualization — Converts selected functions to custom VM bytecode (Basic & Pro)
  • Obfuscation — Applies control-flow flattening and junk code insertion (all plans)
  • String Encryption — Encrypts string literals to prevent static analysis (Basic & Pro)
  • IAT Destruction — Hides imported API calls from the Import Address Table (Pro)
  • Anti-VM Detection — Detects virtual machines and sandboxes (Pro)
5

Protect and test

Click Protect to generate the protected binary. ChaosProtector outputs the protected executable alongside a reconstructed PDB file for debugging. Test your protected binary thoroughly before distributing it.

Command-Line Interface

ChaosProtector includes a CLI mode for automation and CI/CD integration. Use it to protect binaries in build scripts without the GUI.

ChaosProtectorGui.exe --file <path-to-exe> [options]

Options:
  --file <path>        Path to the PE executable to protect
  --virtualize         Enable code virtualization
  --anti-vm            Enable anti-VM detection
  --imports            Enable IAT destruction
  --strings            Enable string encryption
  --output <path>      Output path (default: <filename>_protected.exe)

Example: Protect an executable with all features enabled:

ChaosProtectorGui.exe --file MyApp.exe --virtualize --anti-vm --imports --strings

Best Practices

  • Selective protection: Only virtualize security-critical functions. Virtualizing your entire binary will significantly impact performance and increase file size.
  • Test thoroughly: Always test protected binaries before releasing. Code virtualization changes execution flow and may expose edge cases.
  • Keep the PDB: ChaosProtector generates a reconstructed PDB file. Store it securely — you will need it to debug crash dumps from protected builds.
  • Layer your defenses: Combine virtualization with string encryption, IAT destruction, and anti-VM detection for maximum protection.
  • Automate with CLI: Integrate ChaosProtector into your CI/CD pipeline using the CLI mode to protect every release build automatically.

Supported Formats

ChaosProtector currently supports the following:

  • Platform: Windows
  • Architecture: x86 (32-bit) and x86-64 (64-bit)
  • Format: PE executables (.exe) and dynamic-link libraries (.dll)
  • Debug info: PDB reconstruction for protected binaries