jar包先进行解压。

class文件是java文件编译后产生的一个文件,class文件便于在软件上运行,但是我们无法阅读中间的程序,所以我们需要将class文件转换成java文件。

1.首先要个工具:

jad.exe 要的可以到这里找需要的下载(​​点击打开链接​​)

1.使用win+R快捷键,打开“运行”界面。

java的jar包批量反编译成java 并用Beyond Compare 4 工具进行对比_反编译

2.输入cmd,打开命令窗口。

java的jar包批量反编译成java 并用Beyond Compare 4 工具进行对比_java文件_02

3.因为我的jad.exe软件在D盘里,所以我需要先转换到D盘,输入D:再按enter键进入D盘。

java的jar包批量反编译成java 并用Beyond Compare 4 工具进行对比_java文件_03

4.因为我的jad.exe在D:\java\jad158g.win里面,所以我输入cd D:\java\jad158g.win进入jad文件夹里面。

java的jar包批量反编译成java 并用Beyond Compare 4 工具进行对比_java文件_04

5.接着就是找到自己要转换的class文件所在的位置,将这个文件复制到jad.exe所在的文件夹下。

java的jar包批量反编译成java 并用Beyond Compare 4 工具进行对比_反编译_05

6.然后输入如下示的命令再按下enter键,就可以开始转换了。

转换批量转换就可以了:

例如:将需要反编译的多个文件放在指定路径下。为了方便操作,我将文件放在D盘目录下的classes_dex2jar文件夹中。打开运行--->输入cmd--->输入cd c:/,将路径指到C盘根路径下。

   再输入编译命令,命令:jad -o -r -s java -d src classes_dex2jar/**/*.class 

 

java的jar包批量反编译成java 并用Beyond Compare 4 工具进行对比_java_06

就能在根目录下发现是src的文件夹,里面都是反编译后的java源文件  如果没有生成src  文件夹, 看下你的cmd是不是管理员启动的

只有管理员可以在C 盘下创建文件夹

java的jar包批量反编译成java 并用Beyond Compare 4 工具进行对比_java_07

然后对比下转换前和转换后的文件夹:

转换前(由于这个文件时已上线的项目破解后反编译的所以就马赛克下啦):

java的jar包批量反编译成java 并用Beyond Compare 4 工具进行对比_java_08

转换后的文件:

java的jar包批量反编译成java 并用Beyond Compare 4 工具进行对比_java文件_09

   jad命令的参数含义如下:
       -o:覆盖旧文件,而且不用提示确认。
       -r:重新加载生成包结构。
       -s (java):定义输出文件的扩展名。jad为默认扩展名,我们反编译后当然是要.java源文件了。
       -d:输出文件的目录。src表示反编译后的所有文件都放在src目录下。
       classes/**/*.class:classes是需要反编译的文件夹的名字,整个表示classes目录下的所有class文件。你也可以写成这样**/*.class,这表示当前目录及其子目录下所有的class文件(包含所有的子目录)。

参考连接:

​​java的class文件批量反编译成java_Ke-Le8的博客class文件反编译成java文件​​

用工具 把反编译后的class 文件夹 进行对比

java的jar包批量反编译成java 并用Beyond Compare 4 工具进行对比_java文件_10

java的jar包批量反编译成java 并用Beyond Compare 4 工具进行对比_java_11

java的jar包批量反编译成java 并用Beyond Compare 4 工具进行对比_反编译_12