主流 JDK 支持

支持 Java 5 ~ 11主流版本
其他版本将陆续上线

全类型支持

class, interface, enum, Annotation, Inner Type, Anonymous type

全方法支持

normal, static, constructor, static block, lambda method

全注解支持

Type, Method, Parameter, Type parameter, Type argument, Local variable...

# 特 性 已支持 实施中 备 注
1 Java version Java 5-11 Java 12-17 Java 1.0.2, 1.1, 1.2, 1.3, 1.4,理论上支持,部分测试
 Java 5-11,大规模测试,超过 10万 class
Java 12-17,理论上90%支持,部分测试
2 Declaration 所有类型 class, interface, enum, Annotation
所有内部类型 Inner Type, Anonymous type
自由组合嵌套
Module, Package-info
3 Type 所有类型 primitive type, Object type, Generic type -
4 Statement 所有语句类型 -
5 Method 所有方法类型,包括lambda方法 - 为保证语法正确,部分编译产生内部方法不输出
例如:BRIDGE + SYNTHETIC 方法
6 Annotation 所有注解类型 Declaration, Type, Method, Annotation
Type parameter, Type argument, Parameter, Local variable
- 已知工具里支持最全

适用场景

源码丢失找回

谁都不想遇到,但年年有人倒霉,试试 JDecode 吧,说不定能抢救回来
 源码服务器坏了,硬盘坏了,手抖脑抽误删除了
 古董系统,源码早没了,突然业务找你改个需求
 有人根本没提交源码就离职了,有人删代码跑了
 源码服务器中勒索病毒了
 其他意想不到的的丢失源码场景......

生产问题调试

生产故障,试过各种办法找不到原因,你百思不得其解,有没有可能:
 你的源码和生产上编译的版本的不一样
 你的代码没问题,第三方 jar 包有问题
 你的代码没问题,中间件的 jar 包有问题
 你的代码没问题,JRE 的 jar 包有问题
前三种站长都遇到过,印象深刻大概有几十次,多次靠反编译定位到问题

应用系统优化

 性能-内存优化
 性能-速度优化
 并发/锁优化
 其他优化......

深度学习研究

 JVM 虚拟机和 JVM 规范
 Java 内部机理
 Java 语法糖的实现机制
 更多学习方向......

常见问题

为什么反编代码和源码不一样 ?

本质上,因为 JVM 指令和 JAVA 是两种语言,JAVA 编译的过程不完全可逆。
细节上,主要原因有:
 JAVA 语言等价性导致,如 for、while 可以等价,反编译不知道源码用的哪个
 JAVA 语法糖导致,如 for each、switch string 等,反编译很难完美还原
 JDK 编译优化导致,如常量替换、表达式压缩、语句压缩、方法压缩、字符串优化等
 JDK 编译擦除导致,如泛型擦除、本地变量表擦除等

为什么反编代码有少量错误 ?

原因非常多和复杂,主要原因有:
 JAVA 和 JVM 差异导致错误,有时正确反编译出来就是错的,如static块压缩的变量冲突
 JAVA 语法糖和 JDK 编译优化太复杂,极少数场景无法正确还原
 JDK 编译擦除,极少数场景无法正确处理变量和类型
错误有时候无法避免,只要错的有理有据,那便是极好的。

本工具的正确用法 ?

在线使用,先上传class,再下载反编译代码,然后有两种情景
 【极大概率】代码正确,万事大吉
 【很小概率】代码错误,需根据业务逻辑再修正
错误不可怕,只要容易改对就行。本站极力避免表面正确,实际和源class逻辑不符的情况
如果修复代码有困难,可以和我们联系.

有哪些同类工具 ?

 在线工具 www.decompiler.com、www.javadecompilers.com
 离线工具 JD-Core、JD-GUI、JAD、CFR、FernFlower、Procyon-Decompiler等等

这些工具站长都用过,希望有帮助。耿直的说,JDecode 比这些强多了

使用须知

各位高手、高高手,大家好

image

我是站长神经蛙,1999年开始接触 java,2005年接触反编工具,感觉非常有用,能解决不少问题,但工具就一直不太得力,深感不便
用过各种工具,反编成功率大致在七八成,代码稍微复杂点就给你来一个“INTERNAL ERROR”,只能一行行看操作码,眼睛都看瞎了
代码正确率更低,一般在五六成,复杂 class 就更惨不忍睹,错误又多又离谱,分析非常困难,让人头大如斗
一直寻找更好的工具,但一直求之不得,最后只好自己动手!就这么从一个小工具开始,经过多年开发和测试,逐步形成了 JDecode
到2020年,JDecode 终于超过同类, 反编译成功率和正确率这两个关键指标经数十万测试,目前暂居同类第一!
希望 JDecode 也能对各位高手有所帮助,那么站长绝对会深感欣慰、备受鼓舞!
JDecode 后续会持续更新,直到完美支持所有 Java 版本和功能为止 !

重要事项,敬请周知:
 本站禁止用于任何非法活动
 本站可以不注册使用,不收集、不跟踪、不保留任何访问信息
 本站绝不查看、绝不保留用户上传文件,文件24小时内自动删除。用户使用遇到问题时授权本站查看除外
 本站尽最大努力保护文件安全,使用多种加密手段提高安全级别,但安全无绝对。有特殊需要请联系站长

联系我们

点赞

1424 个赞!
觉得有用就点个赞吧

邮件

点击发邮件
Email:jdecode@163.com

QQ

点击打开QQ
QQ号:3056013637