分岐されたプロセスでLinuxシステムコールを傍受する(「キャプチャ」)ptraceよりも良い方法はありますか?

分岐されたプロセスでLinuxシステムコールを傍受する(「キャプチャ」)ptraceよりも良い方法はありますか?

フォークされたプロセスからのすべてのシステムコールをキャプチャして変更し、カーネルに送信してからフォークされたプロセスに戻したいと思います。可能ですか?では、どうすればよいですか?
私は少し調査してptraceを見つけましたが、多くの作業(レジスタの変更など...)を実行しているので、少し重い作業のようです。しかし、私が間違っている場合は訂正してください。

ベストアンサー1

カーネルの5.11バージョンを待つことができれば新しいシステムコールブロックメカニズムシステムコールの高速(または遅すぎない)シミュレーション用に設計されています。元のユースケースはWine用ですが、シグナルハンドラが機能する限り(依存するSIGSYS)他の目的にも使用できます。

おすすめ記事