2020年支持java8的Java反编译工具汇总(推荐)

2020年支持java8的Java反编译工具汇总(推荐)

Java 反编译工具是程序员进行开发和调试过程中的常用工具。随着 Java 8 的正式发布,越来越多的 Java 异常信息都是由 Java 8 编译后的代码生成的。因此,我们需要支持 Java 8 的 Java 反编译工具来完成我们对代码的调试和分析。下面是一份支持 Java 8 的 Java 反编译工具列表,并对其进行详细解释。

1. JD-GUI

JD-GUI 是一款免费的反编译工具,由 Java 语言编写而成。它可以用来反编译 class、jar 和 executable 文件,能够生成源代码和资源文件。JD-GUI 支持 Java 8,功能强大,使用简单,是 Java 反编译领域的佼佼者。
使用示例:下载安装 JD-GUI 后,打开程序,然后使用 File > Open 命令打开需要反编译的 JAR 文件。然后 JD-GUI 将反编译该 JAR 文件,并将相关信息显示在界面上。

2. Procyon

Procyon 是一款开源、易于使用并且功能强大的 Java 反编译工具。它支持 Java 8,并且可以处理除了注解之外的最新 Java 8 代码。Procyon 还支持其他一些编程语言,包括 Python 和 Ruby。
使用示例:下载安装 Procyon 后,打开程序,使用 File > Open 命令打开需要反编译的 class 文件或 JAR 文件。该程序将反编译文件并将相关信息显示在界面上。

3. FernFlower

FernFlower 是一款开源的 Java 反编译工具,由 JetBrains 开发。它支持 Java 8,能够反编译 Java 7 和 8 下的 class 文件,并输出 Java 源代码。FernFlower 以其快速和准确的文件反编译而著称,这也是它成为反编译领域的佼佼者之一的原因。
使用示例:下载安装 FernFlower 后,打开程序,使用 File > Open 命令打开需要反编译的 class 文件或 JAR 文件。该程序将反编译文件并将相关信息显示在界面上。

4. Bytecode Viewer

Bytecode Viewer 是一款开源、易于使用且功能强大的 Java 字节码查看器和反编译工具。它支持 Java 8 下的 class 文件,可以反编译 class、jar 和 dex 文件,并生成 Java 源代码。Bytecode Viewer 另外还提供了图形化和命令行两种用户界面。
使用示例:下载安装 Bytecode Viewer 后,打开程序,使用 File > Open 命令打开需要反编译的 class 文件或 JAR 文件。该程序将反编译文件并将相关信息显示在界面上。

5. Krakatau

Krakatau 是一款开源工具,可以用于将 Java 字节码转换成 Java 源代码。它支持 Java 8 下的 class 文件,并且可以将系统类库中的某些文件反编译成 Java 代码。Krakatau 还支持其他一些编程语言,如 ASM、MIPS 和 PowerPC 等。
使用示例:下载安装 Krakatau 后,打开命令行工具,然后使用以下命令即可反编译 class 文件:

java -jar /path/to/krakatau.jar d myclass.class

结论

以上就是五款支持 Java 8 的 Java 反编译工具,它们可以分别安装来完成对 class 文件及 JAR 文件的反编译。这些工具使用方便,也可以输出高质量的源代码,其中 JD-GUI 可以在可视化界面上查看源代码,其他四项则需要使用命令行操作。对于不同的反编译任务,不同的工具可以选择进行使用。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:2020年支持java8的Java反编译工具汇总(推荐) - Python技术站

(0)
上一篇 2023年5月26日
下一篇 2023年5月26日

相关文章

  • 如何在Android studio导入jdk9及以上版本中依赖包,如’rt.jar’,’ dt.jar’等

    1、如何获取jdk9及以上版本中依赖包,如’rt.jar’,’ dt.jar’等 ​ 在jdk9及后续版本中,jdk开始使用模块化规则,实现更好的封装和定义良好的接口,近一步加强了java的自由度,开发者可以定制化SDK ​ 包括rt.jar在内的依赖均已移除,以模块化形式更高效的存诸在 JAVA_HOME/jmods目录下 ​ 如果需要可以用命令进行抽取,…

    Java 2023年4月25日
    00
  • Java 基础之NIO 学习详解

    Java 基础之NIO 学习详解 简述 NIO,全称为“New IO”,是Java 1.4 引入的一套用于更高效的 I/O 操作的API。NIO主要包括以下三个核心组件:Channel、Buffer 和 Selector。其中,Channel 和 Buffer 主要用于底层数据传输,Selector 则用于监听 Channel 上的 IO 事件。 NIO 与…

    Java 2023年5月26日
    00
  • Java 锁的知识总结及实例代码

    Java 锁的知识总结及实例代码 在 Java 中,锁机制是一个非常重要的多线程编程的知识点。下面对 Java 锁相关的知识进行总结,并提供两个示例代码说明锁机制的应用。 概念 互斥锁(mutex):用于控制对共享资源的访问。对于任一个时刻,只有一个线程可以访问共享资源,其他的线程必须等待。 读写锁(ReadWriteLock):允许多个线程同时读共享资源,…

    Java 2023年5月23日
    00
  • Springboot集成mybatis与jsp过程详解

    下面详细讲解Springboot集成mybatis与jsp的过程。 环境配置 首先需要安装Java虚拟机和Maven,可以去官网下载安装。 建立一个Springboot工程,可以使用Eclipse、IntelliJ IDEA等开发工具,也可以在https://start.spring.io/官网上生成一个基本的Springboot项目。 添加依赖包 在pom…

    Java 2023年5月19日
    00
  • 在Ubuntu系统下安装JDK和Tomcat的教程

    下面是在Ubuntu系统下安装JDK和Tomcat的教程。 1. 安装JDK 1.1 下载JDK 首先,我们需要到Oracle官网下载JDK的安装包。下载地址:https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html 选择适合自己操作系统的对应版本下载。 1.2 安装…

    Java 2023年5月19日
    00
  • springboot使用shiro-整合redis作为缓存的操作

    Spring Boot使用Shiro整合Redis作为缓存的操作 在Spring Boot应用程序中,我们可以使用Apache Shiro框架来实现安全认证和授权功能。同时,我们也可以使用Redis作为Shiro的缓存存储。在本文中,我们将详细介绍如何使用Shiro整合Redis作为缓存的操作,并提供两个示例说明。 步骤分析 在Spring Boot应用程序…

    Java 2023年5月18日
    00
  • Java冒泡排序的定义与实例代码

    Java冒泡排序是一种简单的排序算法,其基本思想是通过交换相邻元素的位置来达到排序的目的。在本篇攻略中,我将详细讲解Java冒泡排序的定义与实例代码。 定义 冒泡排序是一种交换排序。它的工作原理就像把一堆泡泡按大小排序一样。具体来说,它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。重复进行直到没有任何一个数需要交换位置为止。…

    Java 2023年5月19日
    00
  • 详解Java线程池的使用及工作原理

    详解Java线程池的使用及工作原理 线程池介绍 线程池是一种创建和管理多个线程的方式,它能够提高程序的运行性能,避免因线程创建和销毁所带来的性能损耗。Java线程池机制包括三个部分:线程池、工作线程和任务队列。 线程池的好处 降低线程创建和销毁的开销。 提高响应速度,线程已经创建,任务可以立即执行。 提高线程的可管理性。线程池作为一个工作队列,可以进行线程的…

    Java 2023年5月18日
    00
合作推广
合作推广
分享本页
返回顶部