如何反编译java
反编译 Java 的常用方法
反编译 Java 字节码(.class 文件)可以通过多种工具实现。以下是几种常见的方法和工具:
使用 JD-GUI
JD-GUI 是一款开源的 Java 反编译工具,支持图形化界面操作,适合快速查看和导出源代码。

- 下载并安装 JD-GUI(可从 GitHub 或官方页面获取)。
- 打开 JD-GUI,直接将
.class文件或.jar文件拖入窗口。 - 工具会自动显示反编译后的 Java 代码,支持导出为
.java文件。
使用 FernFlower
FernFlower 是一款高性能的反编译引擎,被集成到 IntelliJ IDEA 中,也可以通过命令行使用。
- 下载 FernFlower 的独立版本(通常为
.jar文件)。 - 通过命令行运行以下命令:
java -jar fernflower.jar input.jar output_dirinput.jar是待反编译的文件或目录。output_dir是输出目录,反编译后的文件会保存在此。
使用 CFR
CFR 是另一款功能强大的反编译工具,支持现代 Java 版本特性。

- 下载 CFR 的
.jar文件。 - 运行以下命令:
java -jar cfr.jar input.jar --outputdir output_dirinput.jar是目标文件。output_dir是输出目录。
使用 Procyon
Procyon 是一款开源的反编译器,支持 Java 8 及更高版本。
- 下载 Procyon 的
.jar文件。 - 运行以下命令:
java -jar procyon-decompiler.jar input.jar -o output_dir
使用在线工具
如果不想安装本地工具,可以使用在线反编译服务(如 Java Decompiler Online):
- 上传
.class或.jar文件。 - 在线工具会返回反编译后的代码。
注意事项
- 反编译可能受混淆或加密代码的影响,结果可能不完整或难以阅读。
- 反编译他人代码可能涉及法律问题,需确保符合相关许可协议。
- 某些工具对 Java 新版本特性(如 Lambda 表达式)的支持有限,需选择合适工具。






