St3ix Obfuscator
Java bytecode obfuscator for JAR files
St3ix Obfuscator
A Java bytecode obfuscator that transforms JAR files to make reverse engineering harder. Class names, numeric constants, booleans, strings, and array dimensions are obfuscated while preserving runtime behavior.
Requirements
- Java 17 or later
- Gradle (wrapper included)
Quick Start
# Build the obfuscator (JAR + scripts)
./gradlew dist # → build/dist/
# Obfuscate a JAR (output in build/dist/Obfuscate/)
java -jar build/dist/st3ix-obfuscator-v*.jar -i myapp.jar -o myapp-obfuscated.jar
# Run the result
java -jar build/dist/Obfuscate/myapp-obfuscated.jarWindows: Use gradlew.bat for building. For the GUI: run run.bat from build/dist/ or double-click the JAR.
Features
Class renaming
Short or random names, configurable length
Method & field renaming
Excludes main, constructors, toString, equals, hashCode
String obfuscation
XOR encryption; static final String in <clinit>
Number obfuscation
int via math expressions; long/float/double via XOR
Configuration
config.yml next to the JAR
Output
Obfuscated files are saved to the Obfuscate/ folder in the obfuscator JAR directory. Existing files with the same name are overwritten.