次のような呼び出しを置き換える方法はありますか
Socket s = new Socket(Proxy.NO_PROXY);
と
Socket s = new Socket();
方法がわからないため、BCELを使用しています。InstructionList を変更する必要があることは理解していますが、それをスキャンする方法がわかりません。また、どのオペコードを探すべきかもわかりません。
AspectJまたは同様の高レベル ツールを使用すると、学習曲線が大幅に短くなる可能性があります。
低レベルのバイトコードの変更については、Java のオペコードを学習せずにはいられません。良い出発点はJVM 仕様です。また、BCEL は十分に文書化されていないため、低レベルの選択に柔軟に対応できる場合は、ASM フレームワークを使用することをお勧めします。これは、ASM を使用した単純なバイトコード変換の実装に関する対応するチュートリアルです。古い ASM バージョンに基づいていますが、考え方は同じです。