特性 | DJ Java Decompiler | JD-GUI |
---|---|---|
主页 | http://www.djjavadecompiler.com/ | http://java.decompiler.free.fr/ |
更新时间 | 不确定 | 18 Aug 2010 |
免费? | 3.7.7.81版本免费,最新版本收费,可以免费使用10次,需要注册 | 不能包含或者嵌入到商业软件中,其它情况下都是免费的,也就是说商业环境中使用也是免费的 |
内核 | jad[注一] | JD-Core |
支持平台 | windows only | windows,linux,mac osx |
支持annotations吗? | 支持 | 支持 |
支持泛型吗? | 不支持 | 支持 |
支持enum吗? | 不支持[注二] | 支持 |
是否有outline? | 有,但是只能显示方法列表 | 有,字段和方法都能显示,且界面和eclipse的outline保持一致 |
能否直接查看jar包? | 能,但是仅限于查看jar包中有哪些文件,不能直接查看jar包中的class的内容(可以先把要查看的class抽取并保存为jad文件,再用DJ Java Decompiler打开,可是这也太蛋疼了吧)。 | 能,以eclipse大纲视图打开jar包,能直接在大纲视图中选择文件并双击来查看class的内容 |
文件关联 | 提供配置项进行class、jar等文件的关联 | 没有提供 |
是否有eclipse插件? | jadclipse,非同一公司/人出品 | jdeclipse,是同一公司/人出品 |
Java反编译器比较
注:该文是之前发布在我的博客网站 ubuntudaily.net 上面的博文,由于 ubuntudaily.net 已经不可访问,现在把文章迁移到本站点上来。
先说结论:比起 DJ Java Compiler 来说,我更推荐大家使用 JD-GUI 或者 JDeclipse 。下面是DJ Java Compiler和JD-GUI的特性详细对比。
注一:Jad是一个不再维护的Java反编译器。最新版本的Jad仅支持版本为45.3, 46.0 和47.0的Java类文件,而这些都不是Java 5 生成的。