Diobf/Deobfuscator
GitHub: Diobf/Deobfuscator
一款 Java 字节码反混淆工具,通过可配置的 transformer 组合自动还原被混淆的 jar 包,帮助逆向分析人员恢复代码可读性。
Stars: 517 | Forks: 74
# Diobfuscator
一款 Java 反混淆工具
## ✅ 如何运行反混淆器
如果您想使用这款反混淆器,需要在 IDE 中手动启动它。
### 前置条件
**重要提示:** 您需要安装两个不同版本的 Java:
- **[Java 17](https://adoptium.net/temurin/releases/?version=17)** - 用于编译和运行本项目
- **[Java 8](https://adoptium.net/temurin/releases/?version=8)** - 用于确保沙箱 (SSVM) 正常工作
### 操作说明
1. 克隆本仓库并在 IntelliJ 中打开
2. 确保在 `Project Structure` -> `SDK` 中选择了 [Java 17](https://adoptium.net/temurin/releases/?version=17)
3. 如果尚未安装,请先安装 [Java 8](https://adoptium.net/temurin/releases/?version=8)
4. 将您混淆的 jar 包放在项目根目录下。例如 `work/obf-test.jar`
5. 找到 [`Bootstrap.java`](./deobfuscator-impl/src/test/java/Bootstrap.java) 类
6. 在此类中编辑反混淆器配置
- `inputJar` - 您在第 4 步中放置的混淆 jar 文件
- `transformers` - 选择您想要运行的 transformer。您可以在 [`deobfuscator-transformers`](./deobfuscator-transformers/src/main/java/uwu/narumi/deobfuscator/core/other) 模块中找到它们。
7. 在 IDE 中手动运行该类。您可以使用我们预配置的名为 `Bootstrap` 的 IntelliJ 任务。

## ❓ 常见问题
**问:沙箱无法运行 / 提示“rt.jar is required for sandbox to run”错误**
答:沙箱需要来自 **[Java 8](https://adoptium.net/temurin/releases/?version=8)** 安装目录下的 rt.jar。反混淆器会尝试自动检测它,但如果失败:
- 请确保您已安装 [Java 8](https://adoptium.net/temurin/releases/?version=8)
- 您可以通过系统属性手动设置它:`-DrtJarPath="path/to/rt.jar"`
- 或者在您的 Bootstrap 配置中指定它:`.rtJarPath(Path.of("path/to/rt.jar"))`
- 常见的 rt.jar 路径(具体位置可能因安装情况而异):
- Oracle JDK 8: `C:/Program Files/Java/jdk1.8.0_202/jre/lib/rt.jar`
- Eclipse Adoptium JDK 8: `C:/Program Files/Eclipse Adoptium/jdk-8.0.462.8-hotspot/jre/lib/rt.jar`
## 链接


标签:SOC Prime, 云资产清单, 代码分析, 凭证管理, 反混淆, 域名枚举, 开发工具, 逆向工程