破解class文件的第一步:深入理解JAVA Class文件 (2)

它代表该文件是一个class类型的文件,不信,你可以多打开几个class文件看看。

(2)接下来的四个字节代表jdk的版本

如上的内容代表jdk的版本为1.8。

PS:jdk1.1的版本数字为45,以后每跨一个大版本,数字+1,所以jdk1.8的版本数字为51(十进制),转化为16进制即为34。

(3)下面一个概念是常量池

以上内容是常量池的计数器,通过该数字,我们计算出常量的个数为15个(计算出的数字减1,因为该计数器的起始数不是0,而是1)

我们用javap命令打开常量池,证明常量的确是15个。

破解class文件的第一步:深入理解JAVA Class文件

(4)常量池后面就是访问标志,访问标志主要分为如下类别

破解class文件的第一步:深入理解JAVA Class文件

我们回头去看看这段class的源码(居然如此简单)

Java 代码

public class ByteCode { public ByteCode(){ } }

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wpwwgp.html