小编LEO*_*EON的帖子

如何使用ASM修改常量池?

我已经从这篇文章中了解了如何在运行时使用ASM操作类。

但是我还有一个关于如何修改常量池的问题。以下是我要修改的示例Java程序

主jar文件:

    public class test {    
    private static final String a = "Hello World";
    private static final String b = "ASM is awasome";

    public static void main(String[] args) { 
         int x = 10;
         int y = 25;
         int z = x * y;
         System.out.println(a);
         System.out.println(z);
         System.out.println(b);

    }

}
Run Code Online (Sandbox Code Playgroud)

我想将变量a从修改"Hello World"为"Multiply Of x*y is: "

我的特工班

import java.lang.instrument.*;
import java.security.ProtectionDomain;
import org.objectweb.asm.*;

public class ExampleAgent implements ClassFileTransformer {
    private static final String TRANSFORM_CLASS …
Run Code Online (Sandbox Code Playgroud)

java java-bytecode-asm jvm-bytecode

1
推荐指数
1
解决办法
613
查看次数

标签 统计

java ×1

java-bytecode-asm ×1

jvm-bytecode ×1