タグ ptrace
人気順 10 users 50 users 100 users 500 users 1000 usersデバッガと和解せよ
2022/08/28 Kernel/VM探検隊online part5 (https://kernelvm.connpass.com/event/256248/) の @nullpo_head (https://twitter.com/nullpo_head) の発表資料です。 ptraceを使って対象コマンドの全子プロセスにattachしてDwarfを見つつデバッグしたいプロセスを探し、最終的には他のデバッガに処理を流すような不思議なデ... 続きを読む
システムコールを速く漏れなくフックする方法 | IIJ Engineers Blog
ptrace、Syscall User Dispatch:カーネルが提供している ptrace や Syscall User Dispatch のような機能は、ユーザ空間でシステムコールのフックを実装するために利用できます。ですが、これらを利用すると、元のユーザ空間プログラム内部でのシステムコール呼び出しのコストが大きくなり、結果として、性能が大きく劣... 続きを読む
ptrace より 100 倍速いシステムコールフック作った - かーねるさんとか
新しい高性能で汎用的なシステムコールフックの仕組みを作ってみました。 モチベーションとして、システムコールをフックしてユーザー空間でエミュレートしたくなったのですが、現状、性能と汎用性を両立する仕組みがなさそうだったので、新しい方法を考えました。 今回のシステムコールフックの仕組みは以下のような特... 続きを読む
supermanプロセスにSIGKILLは効かない.md · GitHub
トラップはよい機能だけど完全に信頼できるというわけではないよ。SIGKILLとSIGSTOPはトラップできない。 大昔のいくつかのUnixにはSIGKILLをトラップする怪しげな方法があった。もしプログラムがptraceされていたら、どのようなシグナルでも(SIGKILLでも)、そのプロセスを停止させてptraceをしている側のプロセスに通知するという動作になっていた。 そこで僕は"sh"という名... 続きを読む
ptraceとELFとLinuxレジスタ - sonots:blog
ptrace(2)に入門。ptrace(2) は Linux を含む Unix 系OS にあるシステムコールで、実行中のプロセスに対して、メモリ上のデータやレジスタの値を抜き出したり、書き換えたりすることができる。 これを使ってごにょごにょすると、実行中の関数とその引数を取り出して、実行中のプロセスを止めずにスタックトレースを取得したり、 デバッガを作ったり 、 標準出力を横取りして audit ... 続きを読む
いやなブログ: 普通のやつらの下を行け: ptrace で実行中のプロセスにちょっかいを出す
普通のやつらの下を行け: ptrace で実行中のプロセスにちょっかいを出す Linux などの多くの Unix 的なOS には ptrace というシステムコールがあります。 ptrace を使うと実行中のプロセスに対して、レジスタの書き換えやメモリ上のデータの書き換えといったさまざまな操作を行うことができます。 普通のやつらの下を行けの第6回として、今回は ptrace を使って実行中のプロセ... 続きを読む