JD-GUI和JAD对War包和Jar包进行反编译教学

简介: JD-GUI和JAD是两个用于反编译Java字节码的工具。代码调试:当你需要调试Java代码时,可以使用JD-GUI将Java类反编译为可读的源代码,以便进行调试和分析。代码分析:如果你需要对Java类进行深入的分析,例如了解代码结构、方法调用关系等,可以使用JD-GUI来反编译Java类,并查看反编译后的源代码。代码重构:如果你需要修改现有的Java类,可以使用JD-GUI将Java类反编译为可读的源代码,然后进行修改。注意,反编译后的源代码可能不完全与原始源代码相同,因此在进行修改时需要谨慎。

其他系列文章导航

Java基础合集

设计模式合集

多线程合集

分布式合集

ES合集


文章目录

其他系列文章导航

文章目录

前言

一、JD-GUI下载及对Jar包的反编译

1.1选择自己的操作系统进行下载编辑

1.2下载完后进行解压双击exe文件打开

1.3点击File菜单栏的Open File打开需要的jar包

1.4然后用快捷键ctrl+alt+s将反编译的java文件保存

二、JD-GUI对War包的反编译

三、JAD下载及对Jar包和War包的反编译

3.1选择自己的操作系统进行下载

3.2下载完后进行解压,将解压后的exe文件放到要反编译的文件夹同层

3.3然后在这个文件夹中启动cmd

3.4输入一行命令一键搞定

四、总结


前言

JD-GUI和JAD是两个用于反编译Java字节码的工具。它们通常在以下情况下使用:

    1. 代码调试:当你需要调试Java代码时,可以使用JD-GUI将Java类反编译为可读的源代码,以便进行调试和分析。
    2. 代码分析:如果你需要对Java类进行深入的分析,例如了解代码结构、方法调用关系等,可以使用JD-GUI来反编译Java类,并查看反编译后的源代码。
    3. 代码重构:如果你需要修改现有的Java类,可以使用JD-GUI将Java类反编译为可读的源代码,然后进行修改。注意,反编译后的源代码可能不完全与原始源代码相同,因此在进行修改时需要谨慎。
    4. 辅助学习:如果你是一名Java初学者,可以通过JD-GUI和JAD反编译现有的Java类,了解Java类的结构和实现方式,从而加深对Java语言的理解。

    一、JD-GUI下载及对Jar包的反编译

    下载链接:Java Decompiler

    1.1选择自己的操作系统进行下载image.gif编辑

    1.2下载完后进行解压双击exe文件打开

    image.gif编辑

    1.3点击File菜单栏的Open File打开需要的jar包

    image.gif编辑

    1.4然后用快捷键ctrl+alt+s将反编译的java文件保存

    image.gif编辑


    二、JD-GUI对War包的反编译

    反编译步骤和反编译Jar包一样,唯一要注意的就是:

    将自己的war后缀改为.zip,然后解压出来,在WEB-INF多出了一个classes的文件,进去后可以看到是我们java文件的编译文件,都是.class文件。

    打开jd-gui工具,将.class文件拖拽进去。我们可以看到自动的将我们java项目原结构分离出来。我们只需要保存,编译后的java代码。然后拷入我们的项目就可以了。

    JD-GUI对要同时反编译多个class太不友好了!!!!!!!

    如果对于单个文件的情况,可以使用JDGUI来打开看一下,多个文件也可以,甚至一个jar包或者war包都可以,但只能在GUI里打开看看,对于想反编译成一个项目,直接使用源代码的朋友来讲,真的很不方便。

    所以接下来我要介绍JAD了!!!!极力推荐!!!!


    三、JAD下载及对Jar包和War包的反编译

    下载链接:JAD Java Decompiler Download Mirror (varaneckas.com)

    3.1选择自己的操作系统进行下载

    image.gif编辑

    3.2下载完后进行解压,将解压后的exe文件放到要反编译的文件夹同层

    image.gif编辑

    3.3然后在这个文件夹中启动cmd

    image.gif编辑

    3.4输入一行命令一键搞定

    jad -8 -o -r -sjava -d src classes/**/*.class

    image.gif

      • -8 指的是将Unicode字符转换为ANSI字符串,如果输出字符串是中文的话一定要加上这个参数才能正确显示。
      • -o - 覆盖输出文件而不进行确认
      • -r - 恢复软件包目录结构
      • -s - 输出文件扩展名(默认:.jad)这里是 .java
      • -d - 输出文件的目录

      四、总结

      单个文件或少量文件推荐JD-GUI,它拥有可视化界面,更好操作。

      多个文件或整个项目建议使用JAD,比较高效,也支持中文反编译。

      目录
      相关文章
      |
      1天前
      |
      Java Maven
      向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录(一)
      向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录
      18 0
      |
      1天前
      |
      Java 测试技术 Maven
      maven 打jar包:mvn clean package
      maven 打jar包:mvn clean package
      25 7
      |
      1天前
      |
      Java Go Maven
      向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录(二)
      向 Maven 中央仓库上传一个修改过的基于jeecg的autoPOI的 jar包记录
      11 0
      |
      1天前
      |
      前端开发 Java Linux
      宝塔Linux:部署His医疗项目通过jar包的方式
      宝塔Linux:部署His医疗项目通过jar包的方式
      |
      1天前
      |
      安全 Java Docker
      |
      1天前
      |
      Java
      如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
      如何解决使用若依前后端分离打包部署到服务器上后主包无法找到从包中的文件的问题?如何在 Java 代码中访问 jar 包中的资源文件?
      53 0
      |
      1天前
      |
      Java Maven
      springboot jar包启动提示没有主清单属性
      springboot jar包启动提示没有主清单属性
      |
      1天前
      |
      Java Docker 容器
      |
      1天前
      |
      运维 Java Shell
      Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
      Linux非常详细的shell运维脚本一键启动停止状态SpringBoot打成可运行jar包
      38 0
      |
      1天前
      |
      Java Maven 微服务
      springboot项目开启远程调试-jar包
      springboot项目开启远程调试-jar包
      26 0

      热门文章

      最新文章