`
iuhiqnehc
  • 浏览: 13764 次
社区版块
存档分类
最新评论

在eclipse中反编译并查看jar包中的class文件

 
阅读更多

第一种:直接用F3或者ctrl点击查看。
Eclipse反编译工具Jad及插件JadClipse配置:
Jad是一个Java的一个反编译工具,是用命令行执行,和通常JDK自带的java,javac命令是一样的。不过因为是控制台运行,所以用起来不太方便。不过幸好有一个eclipse的插件JadClipse,二者结合可以方便的在eclipse中查看class文件的源代码。配置如下:
A.下载相应版本的JadClipse,
http://jadclipse.sourceforge.net/wiki/index.php/Main_Page#Download。将net.sf.jadclipse_3.3.0.jar拷贝到Eclipse下的plugins目录(也可以用links安装)。如果是MyEclipse8.x,将net.sf.jadclipse_3.3.0.jar 拷贝到myeclipse安装目录\Genuitec\Common\plugins\下。在myeclipse安装目录下dropins/创建eclipse文件夹,然后在eclipse文件夹中分别创建features、plugins文件夹,将net.sf.jadclipse_3.3.0.jar 分别拷贝到features和plugins文件夹中。
B.下载相应版本的Jad,
http://www.varaneckas.com/jad。解压后将Jad.exe拷贝到JDK的bin目录下(方便,与java,javac等常用命令放在一起,可以直接在控制台使用jad命令)
C.重启Eclipse,在Eclipse->Window->Preferences->Java会多出一个JadClipse目录,单击,在Path to decompiler中输入jad.exe的位置(E:\JDK\jdk1.7.0_03\bin\jad.exe),在Directory for temporary files中可指定临时文件的路径。
D.在Eclipse->Window->Preferences->General->Editors->File Associations可以看到.class文件的默认打开方式有两个,JadClipse和Eclipse自带的Class File Viewer,而JadClipse是默认的。
E.配置完成,选择需要查看的类,按F3即可查看源码。
可以看到最上面的一行"/*jadclipse*/// Decompiled by Jad v1.5.8g. Copyright 2001 Pavel Kouznetsov.",说明是由jad反编译的。

第二种:批量反编译。将一个jar全部反编译,同时保留树类之间的关系等,还是使用jad工具(或小工具jd-gui.exe)。

因为之前我们已经将jad加入到了%JAVA_HOME%\bin中,只要配置了环境变量,我们就可以在命令行中方便的使用。在这里,以dom4j-1.6.1.jar为例来说明具体的操作步骤。

解压dom4j-1.6.1.jar和jaxen-1.1-beta-7.jar。为了方便,我将JAR包解压放到F盘根目录,在cmd中,进入到F盘根路径下,输入命令:jad -o -r -s java -d src org/**/*.class

我解释一下这些参数的含义:

-o:覆盖旧文件,而且不用提示确认。

-r:重新加载生成包结构。

-s:定义输出文件的扩展名。jad为默认扩展名,我们反编译后当然是要.java源文件了。

-d:输出文件的目录。src表示反编译后的所有文件都放在src目录下。

org/**/*.class:org是解压后的文件夹的名字,整个表示org目录下的所有class文件。你也可以写成这样**/*.class,这表示当前目录及其子目录下所有的class文件(包含所有的子目录)。

反编译dom4j-1.6.1.jar必须得有jaxen-1.1-beta-7.jar,因为dom4j里面有对xpath的调用,而这些东西都是引用jaxen里的API,如果不加则会有错误。

到此,关于反编译的内容全部说完了,不过我还想补充一点,有可能JAR包中的class文件不是老外的,而是我们自己写的,里面可能会有中文的情况,这时,虽然反编译通过了,但里面却是gb2312形式的unicode编码,因此我们还得做一个工作,将这些编码转换成中文。

用ant脚本来完成这个工作,内容比较简单,加了注释,应该很好明白,脚本文件名为build.xml,它放在src目录下,和反编译所得的包处在同一层。

<?xml version="1.0" encoding="GBK"?> <project name="decompile" basedir="." default="native2ascii">

     <!-- 定义输出目录 -->

     <property name="build" value="build"/> <!-- 清除输出目录 -->

     <target name="clean">

         <delete dir="${build}"/>

     </target>

     <!-- 创建输出目录 -->

     <target name="init" depends="clean">

         <mkdir dir="${build}"/>

     </target>

     <!-- 编码转换 reverse="true"为反向转换 -->

             <target name="native2ascii" depends="init">

         <native2ascii reverse="true" src="${basedir}" encoding="gb2312" dest="${basedir}/${build}" />

     </target>

 </project>


有一个地方需要补充一下,在native2ascii元素中,src和dest这两个属性表示着路径。如果反编译后,src目录下,有多个不同的文件夹,这时使用ant来转换编码,请先想好要对哪些文件进行反编码;如果按上面的写法,将会把src目录下的所有文件夹中的所有文件进行反编码。假设,现在有com和org两个文件夹(其实是两个包),我只需要对com中的文件进行反编码,那么可以这样改写:src="${basedir}/com" dest="${basedir}/${build}/com" 其它的都不变。在cmd中进入到src路径下,输入ant,回车即可。

分享到:
评论

相关推荐

    【精华】jar包中class文件的反编译插件

    jar包中class文件的反编译插件,我在网上搜了很多反编译插件的资料,都是不支持eclipse和myeclipse的,都无法反编译jar包中class文件,后面我拿着反编译插件自己进行配置,终于配置出支持eclipse和myeclipse的反编译...

    eclipse查看jar包class文件源码插件,jar包反编译查看工具

    Eclipse中查看class源码的插件,jar包反编译查看工具,两种方式查看jar包对应的源代码。亲测可用

    eclipse离线插件compiler反编译jar包进行debug调试

    eclipse离线插件:compiler反编译jar包、class文件,进行debug调试。

    eclipse反编译class文件

    eclipse反编译class文件所需要的jar包和exe文件

    eclipse编译.class所需jar包

    eclipse查看源码可以通过反编译成.class文件,插件所需要有jad.exe net.sf.jadclipse_3.3.0.jar

    Eclipse中反编译Class文件详解

    我之前上传了反编译插件jad的jar包:http://download.csdn.net/source/1665663,但有用户反映不能使用,特上传该说明文档,希望有帮助。

    eclipse反编译插件安装

    1.将jad.exe放到安装jdk的bin目录下 D:\xxxx\jdk...重启后即可查看.class反编译文件 附:jad版本下载目录:https://varaneckas.com/jad/ JadClipse:http://sourceforge.net/project/showfiles.php?group_id=40205

    Eclipse反编译插件和安装方法

    资源中包含jad.exe以及反编译jar包,包含反编译的安装方法,使用时可以使用ctrl + 鼠标左键进入封装在jar包中的方法。具体安装方法在压缩包中的word文档中。 安装方法: 1. 将net.sf.jadclipse_3.3.0.jar 拷贝到...

    java反编译工具及eclipse插件.2018_03_16

    2.eclipse的反编译插件net.sf.jadclipse_3.3.0.jar(方便查看源代码) 插件安装方法:  1、下载eclipse插件:jadclipse_3.1.0.jarhttp://jadclipse.sourceforge.net/  2、 下载Jad反编译工具:jad.exehttp://...

    jd-eclipse 反编译插件

    其中反编译要用到的有,“features”文件夹下的jar文件;“plugins”文件夹下的jar文件。 2.将这个两个jar分别放到eclipse安装文件夹下对应的features、plugins文件夹内。 重新启动eclipse。 3.eclipse-&gt;windows-&gt;...

    Eclipse中查看没有源码的Class文件的方法

    对于存在源代码的类,它不会强行反编译,也就是说它还是会用eclipse自带的Class File Viewer查看class文件,手动设置Window-&gt;Preferences-&gt;Java-&gt;JadClipse,把Ignore existing source选中,就不会管有没有源码,都会反...

    eclipse反编译class文件jad工具

    eclipse反编译class文件jad.exe工具和net.sf.jadclipse-3.3.0.jar包

    eclipse(myeclipse)中直接打开.class文件的插件

    eclipse(myeclipse)的jad.exe反编译插件,安装该插件后可以直接双击jar包中的class文件,自动打开反编译好的源代码查看,非常方便试用于大量分析jar中的class文件和关联的jar文件

    在Eclipse中把jar里面的任何一个.class文件反编译成.java.doc

    在Eclipse中把jar里面的任何一个.class文件反编译成

    Eclipse jadclipse反编译插件安装

    eclipse_反编译插件_jad_3.3.0 + jad.exe 安装步骤: 1.把下载包中的jadclipse_3.3.0.jar放入到 eclipse的安装目录下,..\eclipse\plugins 目录下;...设置完成后,双击*.class文件,eclipse将自动反编译

    jd-eclipse Eclipse官方反编译插件jdeclipse_update_site

    jd-eclipse反编译插件 版本0.1.3 eclipse的插件 1,先下载Jd-eclispe插件的压缩包 2,jdeclipse_update_site.zip下载好了之后,解压,将plugins文件下的jd.ide.eclipse_0.1.3.jar和jd.ide.eclipse.win32.x86_0.1.3....

    eclipse反编译

    启动eclipse,点击反编译的类文件,此时会激活jadclipse插件,在eclipse菜单中会多出一个jadclipse菜单,如下图所示: jadclipse插件 一般地它会自动反编译相应的class文件,如果没有自动反编译,请点击jadclipse-&gt;...

    Eclipse反编译插件及安装方法

    eclipse的反编译插件 安装方法: 1. 将net.sf.jadclipse_3.3.0.jar 拷贝到eclipse的plugins目录下(在关闭eclipse的情况下进行,若不在关闭的情况下进行,添加进去后重启eclipse,或者关闭eclipse再打开) 2. 设置...

    Eclipse 反编译插件

    1。将net.sf.jadclipse_3.3.0.jar放到 eclipse\plugins文件夹...可以在Eclipse的Windows--&gt; Perference--&gt;General-&gt;Editors-&gt;File Associations中修改“*.class”默认关联的编辑器为“JadClipse Class File Viewer”。

    java反编译工具及eclipse插件

    内含: 1.将class文件反编译为java文件的工具jad.exe 2.eclipse的反编译插件...设置完成后,双击*.class文件,eclipse将自动反编译。  注意:jadclipse_3.1.0.jar的版本与eclipse的platform版本号相关

Global site tag (gtag.js) - Google Analytics