源代码反编译工具JD-GUI详解
JD-GUI 介绍 是什么JD-GUIJava Decompiler GUI是一款免费的 Java 反编译工具用于将编译后的 .class 文件还原为可读的 Java 源代码。它支持 JAR、ZIP、FOLDER 等多种格式可以直接打开 JAR 包浏览所有类的源码。 主要特点 GUI 界面操作直观⚡ 快速反编译实时显示源码 支持跳转点击类名/方法名可跳转到定义位置 可以一次性打开整个 JAR 包 完全免费 官方下载项目链接/说明官网https://java-decompiler.github.io/GitHub Releaseshttps://github.com/java-decompiler/jd-gui/releases最新版本v1.6.6Windows/Mac/Linux直接进 GitHub Releases 页面找 jd-gui-*.exe 或 jd-gui-osx-* 下载即可。 典型使用场景1. 丢失源码后的代码恢复.jar 包还在但源码没了JD-GUI 可以帮你还原出可读的 Java 代码2. 学习第三方库想看某个开源库比如 Spring、Jackson某个方法的具体实现直接反编译查看3. debug 问题排查生产环境只有 class 文件没有源码用 JD-GUI 反编译后直接分析逻辑4. 验证代码完整性检查编译后的 class 是否和预期源码一致有没有被动过手脚5. 逆向分析合法场景分析竞品或第三方 SDK 的实现逻辑仅限合规研究️ 使用方法方式一直接运行Windows1. 下载 jd-gui-x.x.x.jar 或 exe 版2. 双击运行exe 版无需安装3. 将 .class 文件或 .jar 包拖入窗口4. 即可浏览反编译后的源码方式二命令行运行# 需要先安装 Javajava -jar jd-gui.jar方式三JAR 包打开# 直接打开 JAR 文件java -jar jd-gui.jar yourfile.jar 常用操作操作说明打开文件File → Open File / 直接拖拽搜索类/方法Ctrl Shift F 全局搜索跳转到类Ctrl O 搜索类名跳转方法Ctrl 鼠标点击方法名导出源码File → Save All Sources导出整个 JAR 的源码为 ZIP刷新F5 刷新当前文件⚠️注意事项反编译出来的代码变量名通常是 var1、var2... 而不是原始命名可读性略有下降对于经过混淆的代码如 Android 热修复包、部分游戏客户端反编译效果有限请勿用于破解商业软件或侵犯知识产权 相关工具生态工具用途JD-GUIGUI 反编译主工具JD-Eclipse / JD-IntelliJIDE 插件直接在 Eclipse/IDEA 里看反编译结果CFR更强大的反编译器支持 Java 8 lambdaProcyon高保真反编译代码还原度较高FernflowerIDEA 内置反编译器来源