zoukankan      html  css  js  c++  java
  • Java反编译利器-Jad, Jode, Java Decompiler等及其IDE插件

    转自:http://blog.csdn.net/superbeck/article/details/5189231

    对于长年使用Java的程序员,大部分应该都会或多或少的使用到反编译软件。毕竟,不可能你所使用到的每一个包都会提供完善的javadoc,而且,有时候代码比javadoc更容易理解。这里将讲述笔者所了解的一些反编译软件以及它们各自的IDE插件版。

    简介 


    现在业内的反编译软件据说有几十种。其中有jad,以及基于jad而开发的其他反编译软件(Front End Plus、mDeJava、Decafe Pro、Cavaj Java Decompiler、DJ Java Decompiler、NMI’s Java Class Viewer和国产的小颖JAVA源代码反编译专家);还有jode,以及以jode为核心开发的JCavaj Java Decompiler、BTJ (Back To Java)、jEdit’s JavaInsight plugin);还有DAVA等,以及当前笔者最推崇的Java Decompiler。

    在这些反编译软件中,笔者使用过jad,jode,Java Decompiler以及基于这些软件开发的其他软件如Cavaj,小颖等,还有这些软件的eclipse插件版。

    其中,jad是一个使用VC++开发的著名反编译引擎,性能非常快;jode是一个使用java开发的开源的反编译引擎,而Java Decompiler似乎也是java开发的反编译软件,并且这三款软件都有相应的eclipse插件版。

    使用效果对比 


    笔者在eclipse中使用了以上三款软件。

    使用环境为:eclipse Galileo,jad 1.5.8g + jadclipse 3.3.0,jodeEclipse 1.0.6,JD-Eclipse 0.1.3。

    试用结果如下:

    反编译性能: jad == jode > Java Decompiler

    反编译品质:Java Decompiler > jode >= jad

    从速度方面来看,你会明显的感觉到Java Decompiler比较的慢,总是以慢一拍的速度展示反编译后的代码;而jode和jad都表现的非常高速,接近于打开源代码的速度。

    从反编译的品质来看,无疑是Java Decompiler最好。最根本的原因就是,jad和jode的最新版都是在JDK 5.0出来以前发布的,所以对JDK 5.0及以上版本的特性基本上不支持。之所以认为jode的反编译效果比jad好,是因为jad的eclipse插件不怎么好用,自己添加的jar包有时候不能反编译出来。

    插件的使用 


    插件的使用方面,需要稍微的注意一下。

    jode和JD-Eclipse都是直接安装好就可以使用;而jad则需要另外指定jad.exe的路径,可以把jad.exe文件放到“%JAVA_HOME%/bin”目录下,然后在eclipse中按照以下顺序找到jad的设置窗口,Window -> Preferences, 打开Preferences窗口,然后依次选择 Java -> JadClipse,确保"Path to decompiler:"的值为"jad.exe"。

    其中,jad和jode还有一些别的IDE的插件版,有需要的话,可以到sourceforge上去搜索。

    总结


    如果使用的是JDK 5.0及以上,请使用Java Decompiler,毕竟效果才是最重要的。如果使用的是JDK 1.4的话,还是建议使用jode,如果不在eclipse中使用的话,可以选择jad,加以复杂的命令,可以实现很多的功能。

    本文主要是稍微介绍一下三款反编译软件的对比结果,所以具体的使用方法等可以见参考资料中的文章。

    参考资料


    Jad官网:http://www.kpdus.com/jad .html (好久没有更新了,下载请使用下面网址)

    jad下载:http://www.varaneckas.com/jad

    jadclipse:http://sourceforge.net/projects/jadclipse/

    jode:http://sourceforge.net/projects/jode/

    jodeeclipse:http://sourceforge.net/projects/jodeeclipse/

    Java Decompiler: http://java.decompiler.free.fr/

    java 反编译插件的介绍总结:http://zhidao.baidu.com/question/79760697.html

    http://hi.baidu.com/darmn/blog/item/56678e7f14f81a0129388af7.html

    http://hi.baidu.com/zhangge9477/blog/item/adeced08c9663a3ae8248849.html

  • 相关阅读:
    redis数据结构详解之Hash(四)
    Redis数据结构详解之Set(三)
    Redis数据结构详解之List(二)
    Redis数据结构详解(一)
    memcached安装及.NET中的Memcached.ClientLibrary使用详解
    Quartz.net开源作业调度框架使用详解
    quartz.net 时间表达式----- Cron表达式详解
    MongoDB高级查询详细
    MongoDB下载安装与简单增删改查
    MSSQLSERVER添加c# clr程序集的使用方法
  • 原文地址:https://www.cnblogs.com/x_wukong/p/3909924.html
Copyright © 2011-2022 走看看