x86 / x64 マシン コードを操作するための C ライブラリはありますか? 具体的には、実行時にプログラムのアドレス空間の関数を変更したいと考えています。
たとえば、関数foo
andbar
があり、それらの内部動作のソースまたは知識はありますが、それらが含まれているライブラリを再コンパイルすることはできず、baz
自分で書いた関数があります。今、私は次のようなことを言うことができるようにしたいと思います:「関数foo
で、への呼び出しを見つけて、そのすぐ前にbar
命令を挿入しますbaz
」。それに応じて、ツールはプログラム内の関連するすべてのアドレスを調整する必要があります。
たとえば、関数のホットパッチを行うためのツールがあるなど、すべての断片が存在することは知っています。最適化などでできることには制限があると思いますが、基本的な機能はできるはずです。私はこのようなものを見つけることができませんでした.誰かがいくつかのリンクを持っていますか?