Bipbap is a lightweight JVM obfuscator with ready-to-use presets, a Swing UI, JSON configuration support, and Android Gradle Plugin integration.
It can be used as:
- a command line jar obfuscator
- a desktop UI tool
- a JVM desktop application Gradle Plugin
- an Android Gradle Plugin that runs before R8/ProGuard
- Presets for quick usage:
-low,-mid,-high - JSON config generation and loading
- Swing UI, launched by double-clicking the jar or using
-ui - JVM desktop application obfuscation through Gradle
- Android app/library obfuscation through the Android Gradle Plugin Variant API
- ProGuard/R8-compatible Android mode enabled by default
- Generated keep rules for Bipbap Android output
Launch the UI:
java -jar bipbap.jar -uiLaunching without arguments also opens the UI:
java -jar bipbap.jarGenerate a default config:
java -jar bipbap.jar -genconfig config.jsonRun with a config:
java -jar bipbap.jar config.jsonRun with a preset:
java -jar bipbap.jar -low
java -jar bipbap.jar -mid input.jar
java -jar bipbap.jar -high input.jar output.jarPreset input/output defaults:
| Command | Input | Output |
|---|---|---|
-high |
input.jar |
output.jar |
-high input.jar |
input.jar |
input-obf.jar |
-high input.jar output.jar |
input.jar |
output.jar |
Additional CLI options:
| Option | Description |
|---|---|
-mt:4 |
Use 4 worker threads |
-mt or -mt:-1 |
Use Runtime.availableProcessors() |
-auth=https://example.com |
Configure HWID authentication endpoint |
Bipbap supports desktop Java/Kotlin JVM application obfuscation through its Gradle plugin. The plugin reads the project's jar output and writes a separate obfuscated jar without replacing the original artifact.
See the full JVM Gradle guide: JVM Gradle Plugin Usage.
Bipbap supports Android app/library obfuscation through its Gradle plugin. The plugin runs before R8/ProGuard, uses Android-safe defaults, and can generate keep rules for Bipbap's encrypted constant layer.
See the full Android guide: Android Gradle Plugin Usage.
| Preset | Activated features |
|---|---|
-low |
CodeOptimize, ConstEncrypt, Renamer(LocalVar), HideCode |
-mid |
CodeOptimize, ConstEncrypt, Renamer(LocalVar, Field, Method), InvokeDynamics, HideCode |
-high |
CodeOptimize, ConstEncrypt, Renamer(LocalVar, Field, Method), InvokeDynamics, Crasher, HideCode |
- HWIDAuthenticator
- FieldRename
- MethodRename
- LocalVarRename
- NumberEncrypt
- StringEncrypt
- InvokeDynamics
- CodeHider
- Watermark
- Crasher
- RemoveSource
- RemoveInnerClass
- RemoveDeadCodes
- KotlinOptimize
MIT License.