ptrace

    1

    1答えて

    私は現在CentOS 7で特定の外部プログラムに関する情報を収集できるようにするJavaプロジェクトに取り組んでいる学生調査チームに所属しています。収集する可能性のあるデータの例としては、 firefox、またはGoogle Earthの座標を使用します。これまでのところ、これを実装する方法を調べると、主にJNAとptraceを使用するようになりました。 これは、この問題に取り組むのに適した方法で

    0

    1答えて

    実行中のすべてのプロセスのコマンドライン引数を取得しようとしています。これらのプロセスの中には、/ proc/$ {pid}/cmdlineの4096文字制限を超えるコマンド行があるため、そのprocfsファイルを読むことが私の要求を満たしていません。興味のあるプロセスは一時的なものかもしれないので、私は自分のpidを知るとすぐに/ proc/$ {pid}/memのスタックからコマンドライン引数

    0

    1答えて

    私はシステムコールを傍受するためにptraceを使用しています。 execveへの16回の呼び出しを傍受していることを除いて、すべてうまく動作しているようです(プリシステムコール8回、システムコール8回)。 私はそれがない例を見ましたが、フラグPTRACE_O_TRACESYSGOODを使用しようとしています。 その他answers to ptrace problemsは、プレ/ポスト+1信号が1

    0

    1答えて

    は: void child() { do_something(); ptrace(PTRACE_TRACEME, 0, 0, 0); do_some_other_things(); } を、その後do_something()親によってトレースされますか? 私はLinuxのマニュアルで見つけましたが、そのようなものはありませんでした。それは、これがトレースで呼び出

    0

    1答えて

    ptraceの文書によると、 停止tracee次clone(2)で、自動的にはPTRACE_SEIZEが使用された場合SIGSTOP、又はPTRACE_EVENT_STOPで開始され、新たにクローニングされたプロセスを、トレースを開始します。 SIGSTOPは、ptraceが原因ではない可能性があります。ユーザーがこの信号をプロセスに送信することもできます。この場合、子プロセスがPTRACE_EV

    3

    1答えて

    私は、ptraceトレーサの観点から、SIGTRAPが生成された最後に試行された命令(またはその前の命令)の命令ポインタ(AKAプログラムカウンタ)を取得するアーチに依存しない方法を探しています。 アーチに依存する方法は、PTRACE_GETREGSを使用して、 i386ではEIP、x86_64版のRIP、ARMなどのPC ... 私は-returned構造体PTRACE_GETSIGINFOから

    0

    1答えて

    ptrace(PTRACE_ATTACH, pid, nullptr, nullptr)を実行するプログラムを作成しようとしていますが、-1を返し、errnoは3です(このようなプロセスはありません)。トレースは走っていて、私から追い出されたので、トレーサは許可を得ているはずです。私はどうしたらいいですか? また、ptraceはスレッド単位であるようです。プロセスIDを指定してすべてのスレッドID

    1

    1答えて

    SSHセッションが突然終了し、gdbが実行されていました。私は同じプロセスに再びGDBを添付しようとすると、私が手: ptrace: Operation not permitted. のtty: [[email protected] ~]# who root pts/0 2017-11-27 03:57 (10.193.26.12) root pts/1 2017-11-27 04

    0

    1答えて

    ptraceは、エントリ/終了のシステムコール時にレジスタとメモリのデータを取得できます。しかし、もしlinux syscallハンドラがいくつかのメモリを変更した場合、スタック内のいくつかの場所が含まれています。どのメモリが変更されたかを知るにはどうすればいいですか?