【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件

文章目录

  • 零、前言
  • 一、下载反编译工具【jad】
  • 二、反编译的准备工作【jad】
  • 三、进入 dos 窗口【jad】
  • 四、输入命令,生成 java 文件【jad】
  • 五、下载和介绍 Luyten 【Luyten】
  • 六、使用 Luyten 反编译 jar 包【Luyten】
  • 七、中文乱码的情况【Luyten】
  • 八、结束语

零、前言

我的代码被存放在公司的电脑上
疫情原因使得我只能在家办公
而公司已经被隔离了 (怕公司的电脑感染新冠病毒)
我无法在公司代码的基础上继续编写代码
我有两种选择:① 重新编写代码;② 跑路
但是我选择了第三个选项:把 Java 项目打包后的 jar 文件转换为打包之前的 java 文件
在这里我推荐两款工具,这两款工具都可以把 class 文件转换为 java 文件

① jad 工具:可把 class 文件转换为 java 文件 【本文章的前四节是介绍 jad 工具的使用】
② Luyten 工具:可把 jar 包转换为 java 文件 【本文章的第四节之后的是介绍 Luyten 工具的使用】

一起来感受这两个工具的强大之处吧!

一、下载反编译工具【jad】

项目官网 http://java-decompiler.github.io/

通过下面的网址下载反编译工具:
下载网址 https://varaneckas.com/jad/
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第1张图片


解压下载成功的压缩文件
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第2张图片


解压后如下图所示;
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第3张图片

二、反编译的准备工作【jad】

把打包后的 classes 文件夹和 jad.exe 放在同一路径下
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第4张图片


创建 decodeJava 文件夹,用于存放反编译后的 java 文件
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第5张图片

三、进入 dos 窗口【jad】

按照下图操作进入 jad.exe 文件所在的 dos 命令窗口:
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第6张图片


上图操作后应该出现下图所示界面:
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第7张图片

四、输入命令,生成 java 文件【jad】

在上图界面输入下面的命令:

jad -o -r -s java -d decodeJava classes/**/*.class

decodeJava: 【.class】文件反编译后的【java】文件存放的文件夹
classes/**/*.class: classes 文件夹下的所有【.class】文件都进行反编译(包括子文件夹下的【.class】文件)


执行命令截图:
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第8张图片


生成的 java 文件截图;
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第9张图片

五、下载和介绍 Luyten 【Luyten】

我把它放在我的百度网盘里面,大家用百度网盘下载即可(大家点个赞支持哈吧!)

链接:https://pan.baidu.com/s/1YJJWNfASvs_gcUcx1nY3Ug 
提取码:8kcz

下载解压后图片如下;
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第10张图片


进入命令行窗口:
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第11张图片


执行下面的命令

java -jar luyten-0.5.4.jar

执行完上面的命令后会出现下面的界面:
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第12张图片

六、使用 Luyten 反编译 jar 包【Luyten】

选择要反编译的 jar 文件:
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第13张图片


选择 jar 文件之后:
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第14张图片


生成 & 保存反编译后的 java 文件:
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第15张图片

【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第16张图片


看结果:
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第17张图片

【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第18张图片

七、中文乱码的情况【Luyten】

需进行下面的配置,反编译后的中文才能正常显示。否则,是 Unicode 编码
【笔记17】使用 jad 工具把 java 的 class 文件转换为 java 文件;使用 luyten 把 java 的 jar 包转换为 java文件_第19张图片

八、结束语

☘️ 这个工具真的太好用了,感谢这个工具的开发者
☘️ 创作不易,请给我点个赞吧!

你可能感兴趣的:(编程笔记,java,jar,jvm)