您的位置:首页 > 编程语言 > Java开发

使用 DJ Java Decompiler 将整个jar包反编译成源文件

2013-03-22 10:19 471 查看
看公司代码的时候,发现公司将基本的类包装了,想要查看包装的源文件,发现是编译成了.class文件放在robase.jar包下。
无法通过Eclipse-attach source直接查看源码。因此要将jar包下的class文件反编译成java文件以便查看源码,理解程序。

首先设置软件的系统环境变量:

变量名:PATH

变量值:D:\Program Files\decomp[软件安装路径]

我所要解压的jar包叫robase.jar,先将robase.jar放在D:\下,然后通过解压缩工具解压到同名文件夹robase下。

同时,在D:\下再建一个robase_res文件夹,存放我们反编译后的java文件。

Win+R组合键打开运行窗口,输入cmd,回车出现命令行窗口。

在命令输入框中输入如下命令:

jad -o -r -d D:\robase_res -sjava D:\robase\**\*.class

命令解读:

D:\robase_res表示编译后文件的存放路径 目标文件夹

D:\robase\**\*.class 表示需要被反编译的文件

-o - overwrite output files without confirmation (default: no) 无需确定覆写文件

-r - restore package directory structrure 恢复包目录结构

-s <ext></ext>- output file extension (by default '.jad') 如果不设置为-sjava,则默认扩展名为.jad

D:\robase\**\*.class 中的两颗接连的星,表示任意层次的子目录。

编译完成后,在robase_res文件夹中就出现了我们需要的java源文件。但是这样还不够。

eclipse中attach source 是需要attach一个jar文件而不是文件夹。因此,我们要将robase_res文件夹打包为robase_res.jar

如果你不熟悉 jar 命令打包,那就用一个讨巧的办法。

使用压缩工具先把robase_res文件夹打包为robase_res.zip

然后直接把后缀名改为robase_res.jar即可,导入后能成功查看。

参考文档:http://web.udl.es/usuaris/jordim/Progs/Readme.txt
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: