复杂字节码文件的分析过程

上一次【https://www.cnblogs.com/webor2006/p/9595300.html】了解了synchronized关键字在字节码中的表现形式了,接下来则从头至尾完整的对以下这个稍复杂的字节码文件进行分析,其源文件为:

其对于应二进制字节码信息用“Hex Fiend”打开:

可以发现此次的要比上一次的要复杂多了,所以说硬着头皮再来完整的分析一遍,因为源文件该有的信息基本上都已经有了,操练一次之后关于字节码的东东基本上也就学得比较扎实了,当然这一次分析不会像上一次那么详细,毕境熟练之后分析也会用稍快的方式,在正式分析之前首先得回忆一下Java字节码的整体结构,如下:

总共有10个部分,下面一个个部分进行分析:

Magic Number:

数四个字节:

不多说了~

Version:

往后数四个字节:

为52,为JDK1.8,其中minor_version和major_version如下:

Constant Pool:

这部分内容是最多的,先来数2个字节代表有多少个常量:

也就是有71个常量,查看一下jclasslib是否是这样:

Access Flags:

The Class Name:

Super Class Nmae:

猜你喜欢

转载自www.cnblogs.com/webor2006/p/9630895.html