用BCEL替换类

时间:2016-06-29 13:25:23

标签: java bcel

我正在编写一些代码,我希望使用BCEL来调用SomeClass方法的所有调用,并调用SomeOtherClass的方法。

现在,根据我的理解,我可以通过以下方式实现:

  1. 遍历指令列表
  2. 查找引用SomeClass的所有invokevirtualinvokestaticinvokespecial说明
  3. 用引用SomeOtherClass
  4. 的相应invokeX替换它们

    这需要我重写很多调用,我必须处理至少三种不同的情况(invokevirtualinvokestaticinvokespecial调用)。 相反,是否可以通过操纵常量池并用SomeOtherClass替换指向SomeClass的所有常量来实现它?如果是这样,怎么样?

0 个答案:

没有答案