The Most Advanced Java Obfuscator
qProtect 2.0 is a next-generation bytecode obfuscator for Java and Android applications. Built from the ground up with security-first design, it offers an unmatched combination of transformations that make reverse engineering virtually impossible — from polymorphic string encryption to a fully custom bytecode virtualizer with native execution.
⚡ Bytecode Virtualizer
Our flagship feature. qProtect translates your Java bytecode into a proprietary instruction set executed by a custom virtual machine — completely replacing the original code. With native mode, the VM itself is compiled to platform-native code, making the protection layers nearly impossible to analyze even with advanced tooling.
- Custom instruction set with 130+ opcodes covering all JVM operations
- Native execution via compiled binaries (Windows, macOS, Linux, ARM)
- Per-method granularity with inclusion/exclusion controls
🔐 Multi-Layer Encryption
- String Encryption — AES with configurable key sizes, polymorphic algorithms, pool encryption, and string splitting
- Number Encryption — Direct encryption, number pooling, and Mixed Boolean Arithmetic (MBA) obfuscation
- Reference Encryption — Hides method and field references behind encrypted indirection layers
🌀 Control Flow Obfuscation
Eight specialized sub-transformers work together to destroy the logical structure of your code:
- Control Flow Flattening — Restructures methods into state machines
- Block Splitter — Fragments code blocks into non-linear sequences
- Variable Transformer — Converts local variables into opaque array operations
- Condition Mutator — Transforms conditionals using MBA expressions
- LVT Scrambler — Scrambles the Local Variable Table
- Enhanced GOTO replacement, exception range abuse, and System.exit hiding
🔄 Renaming Engine
- Full renaming of packages, classes, methods, fields, and local variables
- Multiple dictionary modes: lookalike characters (il/oO), alphanumeric, custom dictionaries
- Randomized package depths for maximum confusion
- Mapping export (.qmap) for debugging your own builds
🛡️ Additional Protections
- Method Inliner — Eliminates method boundaries by inlining call sites
- Debug Stripper — Removes source files, line numbers, local variable info, and Kotlin metadata
- Access Transformer — Modifies access modifiers to confuse decompilers
- Member Shuffler — Randomizes method and field ordering
- Anti-Analysis Detection — Identifies reverse-engineering test samples automatically
📋 Platform Support
- Java 8 through Java 25
- Android APK and AAB bundles (Experimental)
- Windows, macOS (x64 + ARM), and Linux
- TOML-based configuration with per-transformer exclusion/inclusion rules
- Annotation-based control for fine-grained method-level protection