Col-E/CAFED00D

GitHub: Col-E/CAFED00D

一个具备抗混淆能力的 Java 类文件读写库,能够容错解析并清理混淆器产出的畸形类文件。

Stars: 139 | Forks: 16

# CAFEDOOD [![](https://jitpack.io/v/Col-E/CAFED00D.svg)](https://jitpack.io/#Col-E/CAFED00D) ![](https://github.com/Col-E/CAFED00D/actions/workflows/display_test_results.yml/badge.svg) ## 功能 * 支持 [Oak](https://en.wikipedia.org/wiki/Oak_(programming_language)) 类 * 丢弃由混淆器添加的畸形属性 * 重写 [内部 JVM 指令](https://github.com/openjdk/jdk/blob/769f14db847813f5a3601e9ec21e6cadbd99ee96/src/hotspot/share/interpreter/bytecodes.cpp#L491) ## 用法 ### 添加依赖 添加 CafeDude 依赖_(其中 `VERSION` 为最新版本)_ ``` software.coley cafedude-core VERSION ``` ``` implementation 'software.coley:cafedude-core:VERSION' ``` ### 读取和写入类 默认设置已启用反混淆措施。 ``` // 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); ``` ### 剥离类中的保留 hotspot 指令 如果你遇到使用了保留 hotspot 指令的类,请创建 `ClassFileReader` 的子类,并提供 `IllegalRewritingInstructionsReader`。 相关示例可以在 [`CrasherPatchingTest.java`](core/src/test/java/software/coley/cafedude/CrasherPatchingTest.java) 中找到 ### 剥离类中的畸形属性和数据 可以通过以下方式移除额外项: ``` // Modifies the 'cf' instance new IllegalStrippingTransformer(cf).transform(); ```
标签:JS文件枚举, 后台面板检测, 域名枚举