java - 读取class文件并替换class文件的内容

标签 java bytecode java-bytecode-asm

我正在编译这个 Java 文件,并得到一个类文件。 我的任务是更改Class文件中的静态内容“Hello”并替换为“Hi”。 如何先读取Class文件,以及如何替换静态内容?

public class test {

 public static void main(String[] args) {
     System.out.println("Hello");
 }

}

有没有标准代码(模板)?

最佳答案

您需要使用一些 Java 字节码检测库,例如 ASM。适合开始阅读的链接是:

关于java - 读取class文件并替换class文件的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50445783/

相关文章:

java - Jsoup - CSS 查询选择器问题(?)

java - 'main' 方法中的 JVM 指令 ALOAD_0 指向 'args' 而不是 'this' ?

java - 如何使用 javaassist 或任何其他 api 获取所有方法的正确行号?

java - 创建对象时如何处理注释并设置默认值

java - JVM:编译器需要在方法字节码的哪些位置指定堆栈映射帧?

java - 汇编 : find descriptor of a generic type

java - 未找到 JsonObject

java - Guice 可以断言单例不是直接实例化的吗?

java - 如何在 jar 中包含子项目类?

javassist.CannotCompileException : [source error] no such field: $1