A simple yet powerful obfuscator for Java and Kotlin, built to explore the capabilities of Java ASM.
Sharkuscator is an obfuscation tool designed to make Java and Kotlin bytecode harder to read and reverse-engineer. This project was started as a way to dive deep into the Java ASM library and understand the intricacies of bytecode manipulation. It provides a variety of transformation techniques to protect your code.
git clone https://github.com/shift-jis/sharkuscator.git./gradlew buildTo run Sharkuscator, you will need to provide an input JAR, an output path, and a configuration file.
java -jar sharkuscator-version.jar --input <input.jar> --output <output.jar> --config <configuration.json>slash_class_entries: When set totrue, slashes (/) are inserted into obfuscated class names, making them appear as if they are in a directory structure.exclusions: In addition to the globalexclusionsat the root of the configuration, you can also define exclusions within each individual transformer. This allows for more granular control over which classes or packages are skipped by a specific transformation.- The exclusion patterns use a glob-like syntax. The
**wildcard is automatically replaced with.*to function as a regular expression that matches any character sequence. For example,com/example/**will exclude all classes under the com.example package and its sub-packages.
Some parts of this project were inspired by or based on the following open-source projects:
Special thanks to the authors of these tools for sharing their work.
This project is licensed under the MIT License.