工具用的顺手吗?
你的反馈能帮助我们做得更好
将 Java class、JAR、WAR 或 EAR 文件反编译为可阅读的 Java 源码,并下载源码 ZIP。
点击选择文件拖放文件到此处,或点击选择
.class · .jar · .war · .ear
最大 1 MB
上传上限:游客 1 MB,普通会员 2 MB,高级会员 5 MB,专业会员 20 MB。
混淆、优化、缺少调试符号或 WAR/EAR 中嵌套的 JAR 都可能影响结果。
概览
了解工具能解决的问题、计算或处理逻辑,以及数据边界。
Java 编译器会把类和接口转换为 Java 虚拟机可读取的 class 二进制文件。class 文件包含常量池、字段、方法、字节码指令和属性等结构;反编译器根据这些信息重建接近 Java 语法的源码。它适合阅读程序逻辑,不等同于从编译产物找回原始工程。
本工具接收单个 .class 文件,或包含 class 文件的 .jar、.war、.ear 归档,输出可预览的源码文件并打包为 ZIP。JAR 常用于分发类库或应用;WAR、EAR 常用于 Java Web 或企业应用。归档中若再嵌套其他 JAR,嵌套内容不一定会被逐层解包反编译。
Java 虚拟机规范将 class 文件定义为与硬件和操作系统无关的二进制格式;SourceFile、LocalVariableTable 等调试属性则是可选信息。因此,输入中没有保存的源码文件名、局部变量名或调试信息,通常无法可靠恢复。Oracle《Java 虚拟机规范》§2.1 介绍 class 文件格式,第 4 章列出 class 文件结构与属性。以上规范适用于 Java SE 21;于 2026-09-28 核验。
指南
按步骤完成操作,并通过示例核对输入与结果。
选择 .class、.jar、.war 或 .ear 文件。若要查看完整包结构,优先使用包含相关类文件的 JAR,而不是只上传单个类。
把文件拖到上传区域或点击选择。单文件上限会按账号等级变化:游客 1 MB、普通会员 2 MB、高级会员 5 MB、专业会员 20 MB。超限时可换用较小的目标文件或先在本地拆分归档。
完成后,在结果区域按文件名筛选并打开可预览的文本源码。先查看包名、类名、方法和主要分支,再判断是否需要下载完整归档。
点击下载 ZIP 保存全部处理结果。ZIP 是源码输出包,不是可直接构建的原工程;依赖库、构建脚本、资源和配置不会因为反编译而自动补齐。
如果结果为空或报格式错误,确认所选文件确实包含 Java 字节码,并检查文件是否损坏、加密或只是包含嵌套归档。很大的企业包可先挑出需要分析的模块,减少无关类和上传时间。
场景
查看这项工具在不同工作与生活流程中的用法。
源码目录丢失但仍有旧构建产物时,上传目标 .class 或 JAR,阅读方法行为并重建关键实现线索。结果可作为人工恢复的起点,不能保证与原始源码逐字相同。
在你有权检查的项目中,对照旧版和新版归档的类、方法与调用流程,定位行为变化或兼容问题。若只需关注一个模块,先从完整包中筛出对应 JAR 或 class。
把简单示例编译成 class 后查看反编译输出,观察循环、条件分支、泛型签名或异常处理在字节码中留下的痕迹。将输出与原始示例对照,理解哪些信息会在编译时被省略。
这些场景都依赖输入文件本身包含可识别的 Java class。单独的源码 JAR、没有字节码的归档或其他 JVM 语言产物可能得到空结果、不同风格的源码,或无法处理的提示。
问答
集中解答高频疑问与容易混淆的问题。
不会。注释、空格、变量命名和部分源码结构可能在编译时丢失;反编译器只能依据 class 文件中的字节码和仍存在的属性重建可读代码。结果适合分析,不保证能直接替代原工程。
工具会处理所选归档中的可识别类,但不会保证递归展开每个嵌套 JAR,也不会下载归档外的依赖。遇到缺失类型时,源码中仍可能出现无法解析的引用。
文件损坏、字节码版本或特殊属性不受当前引擎支持、混淆、加密以及类依赖缺失都可能造成失败或不完整输出。可以尝试上传单个目标类或包含更多依赖信息的归档。
不一定。ZIP 提供生成的源码文件,并不承诺包含原项目的依赖、资源、构建配置或准确的模块结构。要重新构建,仍需自行补齐依赖并检查代码。
须知
使用前了解适用范围、结果限制与必要提醒。
反编译是对编译产物的近似重建,不是解密,也不保证语义、命名或结构与原始源码完全相同。代码混淆、编译优化、缺失调试属性、语言版本和外部依赖都会影响可读性;用于修复或发布前,应由熟悉项目的人逐项核对。
文件会上传到云端进行处理,源文件和结果文件按服务端存储生命周期规则清理,处理完成不代表立即删除。不要上传密码、密钥、个人信息、商业机密或未经授权的第三方程序;请先确认你有权分析该文件,并遵守适用的软件许可和法律要求。
输出用于代码理解、兼容性排查和学习,不构成对原项目完整性或可构建性的保证。
推荐
查找相关工具、专题与可用的 API 能力。