Another class library with a focus on obfuscation support.
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'
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);
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
Additional items can be removed via:
// Modifies the 'cf' instance
new IllegalStrippingTransformer(cf).transform();
$ claude mcp add CAFED00D \
-- python -m otcore.mcp_server <graph>