ASM
关于ASM使用方法的简单介绍
E5dison
这个作者很懒,什么都没留下…
展开
-
2 如何用ASM进行插桩
假如我们现在有这样一个文件,代码如下: public class Hello { public String name = "hello"; public static void main(String[] args){ System.out.println("Hello, world"); } } 我们想要知道它的哪些指令被执行了,因此我们需要对其编译过后的class文件中的指令进行插桩。下面讲解具体做法。 首先,我们需要读取要被插桩的文件: InputStre原创 2021-04-01 21:56:13 · 755 阅读 · 0 评论 -
1 用ASM生成一个class文件
1 简介 ASM是一个可以用来生成、转换和分析以字节数组表示的已编译 Java 类的工具。 ASM 库提供了两个用于生成和转换已编译类的 API,一个是核心 API,以基于事件的形式来表示类,另 一个是树 API,以基于对象的形式来表示类。 基于事件就是每个把方法声明、字段、指令看成事件,这些事件有必须遵循的发生顺序。 基于对象就是把方法声明、字段、指令看成看成对象,每个对象都有一些引用,指向表示其组成部分的 对象。 下面介绍如何使用ASM来生成一个类,并让它能够输出"Hello, world!"。 2 实原创 2021-04-01 11:49:30 · 294 阅读 · 0 评论