CAFEDOOD [](https://jitpack.io/#Col-E/CAFED00D)
July 4, 2025 ยท View on GitHub
Another class library with a focus on obfuscation support.
Features
- Supports Oak classes
- Drop malformed attributes from classes added by obfuscators
- Rewrite internal jvm instructions
Usage
Add dependency
Add CafeDude dependency (where VERSION is the latest version)
<dependency>
<groupId>software.coley</groupId>
<artifactId>cafedude-core</artifactId>
<version>VERSION</version>
</dependency>
implementation 'software.coley:cafedude-core:VERSION'
Reading and writing classes
The default settings have anti-obfuscation measures enabled.
// Reading
byte[] code = ...
ClassFileReader cr = new ClassFileReader();
// cr.setDropForwardVersioned(false) - enabled by default
// cr.setDropEofAttributes(false) - enabled by default
// cr.setDropDupeAnnotations(false) - enabled by default
ClassFile cf = cr.read(code);
// Writing
code = new ClassFileWriter().write(cf);
Stripping reserved hotspot instructions from classes
If you encounter a class using reserved hotspot instructions create subclass of ClassFileReader which provides IllegalRewritingInstructionsReader.
An example of this can be found in CrasherPatchingTest.java
Stripping malformed attributes and data from classes
Additional items can be removed via:
// Modifies the 'cf' instance
new IllegalStrippingTransformer(cf).transform();