我正在为 Java 创建一个静态分析工具,并且有一些有关我正在分析的程序的信息,如果我可以从文件中的字节码中获取这些信息,将更容易获得这些信息.class。
我不关心类文件中可能存在的每一条指令。例如,我可能只需要看看是否有任何getfield说明。
问题是,由于每条指令都有一个可变的长度,似乎在一般情况下,我需要(在我的代码中)指定每个操作码的长度,然后才能确定(例如)指令的开始和getfield结束位置。
对于其他一些指令集(例如x86),有一些规则,例如“任何低于 0x0F 的操作码都是 1 个字节,任何等于或大于 0x0F 的操作码都是两个字节。”
Java字节码指令中有类似这样方便的模式吗?