Skip to content

SpartanB312/Bipbap

Repository files navigation

Bipbap

CodeFactor

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

Highlights

  • 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

Command Line Usage

Launch the UI:

java -jar bipbap.jar -ui

Launching without arguments also opens the UI:

java -jar bipbap.jar

Generate a default config:

java -jar bipbap.jar -genconfig config.json

Run with a config:

java -jar bipbap.jar config.json

Run with a preset:

java -jar bipbap.jar -low
java -jar bipbap.jar -mid input.jar
java -jar bipbap.jar -high input.jar output.jar

Preset 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

JVM Gradle Plugin

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.

Android Obfuscation

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.

Presets

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

Features

Obfuscation

  • HWIDAuthenticator
  • FieldRename
  • MethodRename
  • LocalVarRename
  • NumberEncrypt
  • StringEncrypt
  • InvokeDynamics
  • CodeHider
  • Watermark
  • Crasher

Optimization

  • RemoveSource
  • RemoveInnerClass
  • RemoveDeadCodes
  • KotlinOptimize

License

MIT License.

Releases

Packages

Contributors

Languages