字节码表示中的 Java 类重命名



给定一个.class文件的byte[]数组:是否可以重命名字节码内给定类的所有类引用?(例如,来自测试.class->test_new_version.class包括所有构造函数或任何其他字节码引用)。如果是这样,那么实现此目的的好库是什么?

使用 ASM 库完全可以做到这一点。该库的常见问题解答甚至在其教程中给出了如何重命名类的示例。

实际上,您需要使用库实用程序附带的RemappingClassAdapter。若要生成合法字节代码,重命名的类必须与替换的类完全二进制兼容。

最新更新