用于反汇编Java Byte Code的Java程序

时间:2015-08-18 13:32:17

标签: java bytecode

我最近正在阅读有关字节码分析的内容,我需要以下查询的帮助:

  

如果我想编写一个Java程序来解析Java字节代码(通过读取类文件)并打印操作码而不使用任何外部库(如ASM)而不使用,我必须查找哪些JDK软件包/ API javap命令

简单来说,有没有可用于反汇编Java字节代码的JDK API?

如果可能的话,是否有人可以共享示例代码片段?

这完全是为了我对字节码上的核心Java API支持的理解,并让我自己知道是否有用于字节码分析的核心Java库。

谢谢。

1 个答案:

答案 0 :(得分:3)

JRE中没有用于反汇编字节码的API。通过查看javadoc包树很容易找到,名称已经告诉你里面发现的功能范围。很少甚至是远程相关的,需要详细检查。

请注意,com.sun软件包没有javadoc,这些不被视为JDK的一部分。

但基本上,的所有内容都是。您可以读取文件,也可以根据需要处理它们。还提供有关字节代码和类文件的文档。所以你可以自己写一切。

因此...

  

我们是否可以编写一个简单的Java程序来反汇编Java Byte Code并打印操作码而不使用任何外部库(如ASM)而不使用javap命令?

是。 (取决于什么符合简单的条件,纯粹的反汇编程序属于边界IMO)。

  

换句话说,有没有可用于反汇编Java Byte Code的JDK API?

没有