有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

反编译程序如何反编译java类文件?

我知道有人问过类似的问题,但没有人回答过如何用java反编译java类。我想用java制作一个java反编译器,但我不知道如何获取类文件的内容并将其转换为java文件

我很确定我将能够打开一个jar文件并查看其内容,但我的问题是如何在jar中反编译类文件?我不想要反编译器;我想做我自己的

我假设每个java编译器都以相同的方式对代码进行加密,我只想知道这是什么,或者如何反转它。我不太了解java代码是如何编译的,但我很确定它与jdk开发工具包有关

假设我将整个类加载到字节数组中。如何将字节数组转换为可读代码

我现在有一个java反编译器,但它是一个可执行文件,所以我不能反编译它,看看它是如何完成的

我知道回答这个问题需要很多信息,而且我对Java如何编译Java文件知之甚少,所以如果你能给我指出正确的方向,让我了解Java如何编译东西你能简单地发布一些教程或我应该阅读的东西的链接,以了解如何反编译一个类,或者java如何首先编译类吗


共 (1) 个答案

  1. # 1 楼答案

    我会从调查class file format开始。构建一些东西来解析它的结构,然后从那里跳进去

    当您最终在类文件中编写处理code attributes的代码时,给定方法的所有字节码都将在一个数组中。从这里开始,您将开始应用JVM specification来了解如何反编译特定指令

    还有一些libraries已经提供了很多这种功能,可以帮助您自己引导