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

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

零、前言

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

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

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

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

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

通过下面的网址下载反编译工具:
下载网址 https://varaneckas.com/jad/
在这里插入图片描述

---
解压下载成功的压缩文件
在这里插入图片描述


解压后如下图所示;
在这里插入图片描述

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

🎄 把打包后的 classes 文件夹和 jad.exe 放在同一路径下
在这里插入图片描述


🎄 创建 decodeJava 文件夹,用于存放反编译后的 java 文件
在这里插入图片描述

三、进入 dos 窗口【jad】

按照下图操作进入 jad.exe 文件所在的 dos 命令窗口:
在这里插入图片描述


上图操作后应该出现下图所示界面:
在这里插入图片描述

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

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

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

执行命令截图:
在这里插入图片描述


生成的 java 文件截图;
在这里插入图片描述

五、下载和介绍 Luyten 【Luyten】

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

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

下载解压后图片如下;
在这里插入图片描述


进入命令行窗口:
在这里插入图片描述


执行下面的命令

java -jar luyten-0.5.4.jar

执行完上面的命令后会出现下面的界面:
在这里插入图片描述

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

选择要反编译的 jar 文件:
在这里插入图片描述


选择 jar 文件之后:
在这里插入图片描述


生成 & 保存反编译后的 java 文件:
在这里插入图片描述

在这里插入图片描述


看结果:
在这里插入图片描述

在这里插入图片描述

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

需进行下面的配置,反编译后的中文才能正常显示。否则,是 Unicode 编码
在这里插入图片描述

八、结束语

☘️ 这个工具真的太好用了, 感谢这个工具的开发者
☘️ 创作不易,请给我点个赞吧!
相关文章
|
9天前
|
druid Java Maven
杨校老师课堂之java_关于如何下载jar包的教程
杨校老师课堂之java_关于如何下载jar包的教程
25 0
|
9天前
|
Java 数据库 数据安全/隐私保护
Java操作Excel文件导入导出【内含有 jxl.jar 】
Java操作Excel文件导入导出【内含有 jxl.jar 】
21 0
|
9天前
|
前端开发 Java
java加载class文件的原理
java加载class文件的原理
|
15天前
|
Java 索引
[笔记] 疯狂JAVA讲义(第3版)第4章 流程控制与数组
[笔记] 疯狂JAVA讲义(第3版)第4章 流程控制与数组
|
1天前
|
Java BI C#
技术笔记:SM4加密算法实现Java和C#相互加密解密
技术笔记:SM4加密算法实现Java和C#相互加密解密
|
1天前
|
Java Maven Python
技术笔记:Lombok介绍、使用方法和总结
技术笔记:Lombok介绍、使用方法和总结
|
2天前
|
Java 数据库连接 数据库
Error:Internal error: (java.lang.NoClassDefFoundError) Could not initialize class com.intellij.util.
Error:Internal error: (java.lang.NoClassDefFoundError) Could not initialize class com.intellij.util.
|
3天前
|
Java Maven
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
java运行jar包提示 “XXX中没有主清单属性”,配置maven插件
8 0
|
4天前
|
Java
java反射-使用Class对象创建对象
java反射-使用Class对象创建对象
5 0
|
4天前
|
Java
java反射-获取类的Class对象方式
java反射-获取类的Class对象方式
4 0

热门文章

最新文章