2

BCEL を使用して、SomeClass のメソッドへのすべての呼び出しを SomeOtherClass のメソッドへの呼び出しに置き換えるコードを書いています。

現在、私の理解では、次の方法でこれを行うことができます。

  1. 命令リストの反復
  2. invokevirtualすべての、invokestaticまたはinvokespecialSomeClass を参照する命令の検索
  3. それらを SomeOtherClass を参照する適切な invokeX に置き換えます

これには、多くの呼び出しを書き直す必要があり、少なくとも 3 つの異なるケース ( と呼び出し) を処理する必要がinvokevirtualありますinvokestaticinvokespecial代わりに、定数プールを操作し、SomeClass を指すすべての定数を SomeOtherClass に置き換えることによってそれを行うことは可能ですか? もしそうなら、どのように?

4

0 に答える 0