実行時に (いいえ)、 Linux のLD_PRELOAD
ように C 関数をインターセプト/フックするにはどうすればよいですか? fopen()
これを Python から実行したいと思います (したがって、プログラムは既に CPython VM を実行していると想定しています)。また、Python コードに再ルーティングします。共有ライブラリ関数をフックするだけで問題ありません。また、プログラムの実行方法を変更せずにこれを行いたいと思います。
1 つのアイデアは、に基づいて独自のツールを作成するか、PLTptrace()
と一緒にまたは PLT で見つかったコードを書き換えて、生成された C 呼び出し可能な関数dlsym()
をターゲットctypes
にすることですが、最初にここで質問すると思いました。ありがとう。