Six layers of protection. Everything a JVM obfuscator needs — and more.
Classes, methods and fields get random names. Hierarchy-aware: doesn't break inheritance or interfaces.
Dead code is removed. Unused classes, methods and fields disappear from the output JAR.
Every string constant is encrypted with XOR and decrypted at runtime. No more readable text in bytecode.
Fake conditional jumps are injected into every method. Decompilers spit out nonsense.
SourceFile, LineNumberTable, local variable names, generic signatures — all gone.
Bastion can obfuscate itself. Bootstrap-tested, self-hosted, recursively protected.
Three steps. No configuration hell, no Gradle plugins, no XML.
Compile your Java project the usual way. Bastion takes a JAR and returns a JAR.
Pass the input JAR, output path and keep-rules. Either via CLI or the GUI.
Get an obfuscated JAR plus a mapping file for de-obfuscating stack traces.
Dark theme, red accent, full-screen GUI.