【笔记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 编码
在这里插入图片描述

八、结束语

☘️ 这个工具真的太好用了, 感谢这个工具的开发者
☘️ 创作不易,请给我点个赞吧!
相关文章
|
12天前
|
Java
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
java实现从HDFS上下载文件及文件夹的功能,以流形式输出,便于用户自定义保存任何路径下
75 34
|
18天前
|
安全 Java 编译器
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
Kotlin教程笔记(27) -Kotlin 与 Java 共存(二)
|
18天前
|
Java 开发工具 Android开发
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
Kotlin教程笔记(26) -Kotlin 与 Java 共存(一)
|
25天前
|
Java 开发者
修改JAR文件工具
本文介绍了一款名为JarEditor的IDEA插件,该插件允许用户直接对JAR包内的文件进行增删改查操作,无需先行解压。通过简单的安装与使用步骤,大大简化了传统上需要解压缩、反编译、重新编译及打包的过程。此外,JarEditor还支持对混淆过的JAR文件进行字节码级别的修改,并提供了强大的搜索功能,支持大小写、全词匹配和正则表达式搜索。对于开发者而言,这款插件无疑极大提高了处理JAR文件的效率和便捷性。
54 14
|
25天前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
29 2
|
29天前
|
消息中间件 存储 Java
RocketMQ文件刷盘机制深度解析与Java模拟实现
【11月更文挑战第22天】在现代分布式系统中,消息队列(Message Queue, MQ)作为一种重要的中间件,扮演着连接不同服务、实现异步通信和消息解耦的关键角色。Apache RocketMQ作为一款高性能的分布式消息中间件,广泛应用于实时数据流处理、日志流处理等场景。为了保证消息的可靠性,RocketMQ引入了一种称为“刷盘”的机制,将消息从内存写入到磁盘中,确保消息持久化。本文将从底层原理、业务场景、概念、功能点等方面深入解析RocketMQ的文件刷盘机制,并使用Java模拟实现类似的功能。
40 3
|
18天前
|
Java 数据库连接 编译器
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
Kotlin教程笔记(29) -Kotlin 兼容 Java 遇到的最大的“坑”
34 0
|
1月前
|
Java 编译器 Android开发
Kotlin教程笔记(28) -Kotlin 与 Java 混编
Kotlin教程笔记(28) -Kotlin 与 Java 混编
13 0
|
Java 网络安全 数据安全/隐私保护
[Java工具] 邮件发送工具
注册邮箱 去163邮箱(或其他邮箱)注册一个邮箱,并开启SMTP授权码。 程序 需要注意的是,由于阿里云服务器不让使用默认的25端口,所以会出现Windows下测试发送邮件成功,Linux服务器下发送邮件却出错的问题(broke pipe、timeout、can not connect等)。
1767 0
下一篇
DataWorks