0

我正在学习用于字节码检测的 ASM 框架并编写了几个示例来实现相同的目的。我看到在大多数示例中 JVM OPCodes 用于 ex:DUP、AASTORE、LSTORE 等,但查看 ASM Opcodes 的 javadocs 我不'看不到任何针对不同操作码的适当文档

例如

加载

静态最终 int AALOAD

DUP

静态最终 int DUP

这个 javadoc 链接http://asm.ow2.org/asm40/javadoc/user/org/objectweb/asm/Opcodes.html提供了可用的操作码列表,但没有清楚地描述为什么/何时使用每个操作码。我明白这些只是 JVM 操作码,但是有没有一个位置可以让我获得有关何时/为什么应该使用这些操作码的更多详细信息?

我目前正在使用 ASMIFIER 来了解我应该注入的代码的 BYTECODE 表示应该是什么样子,但是更好地理解 OPCodes 将帮助我更好地理解我必须注入的 BYTECode。

谢谢

维斯瓦纳特B

4

1 回答 1

4

如果您想了解操作码的作用,只需阅读 JVM 规范的“ Java 虚拟机指令集”一章。

如果你想知道如何选择指令序列来做你想做的事,那只是编程。

于 2013-09-16T13:07:34.797 回答