Описание тега ptrace
The ptrace() system call provides a means by which a parent process may observe and control the execution of another process, and examine and change its core image and registers.
1
ответ
Могут ли два процесса присоединиться к одному и тому же PID через ptrace
Итак, название говорит само за себя. Возможно ли, что у одного процесса есть два трассировщика? Я играю с ptrace и вижу, что всякий раз, когда кто-то присоединяется к процессу, в /proc//status в TracerPID будет PID трассировщика. Однако возможно ли …
02 окт '18 в 13:29
0
ответов
PTRACE_GETREGS (кажется) для возврата ненужных значений
Я пытаюсь использовать ptrace для доступа к регистрам определенного потока в дочернем процессе. Однако ценности, которые я получаю, кажутся бесполезными - они, похоже, выходят из положения через несколько недель. Вот что я имею в виду: RAX: ffffffff…
08 июл '15 в 15:36
5
ответов
Отключение vsyscalls в Linux
Я работаю над программным обеспечением, которое отслеживает системные вызовы других процессов с помощью ptrace(2). К сожалению, большинство современных операционных систем реализуют какие-то быстрые системные вызовы в пользовательском режиме, которы…
26 ноя '11 в 16:55
0
ответов
PTRACE_SINGLESTEP не перемещается%rip
Итак, я пишу отладчик. В отладчике я хочу постоянные точки останова. Сейчас я просто работаю над тем, чтобы настроить его только на одну точку останова. Когда я говорю отладчику продолжить, я делаю это... ptrace( PTRACE_GETREGS, child, NULL, &re…
10 окт '13 в 17:59
2
ответа
Захват всех вызовов компилятора и параметров командной строки во время сборки
Я хочу запустить инструменты для статического анализа кода C/C++ (и, возможно, Python, Java и т. Д.) Для большого программного проекта, созданного с помощью make, Как известно, make (или любой другой инструмент сборки) вызывает компилятор и подобные…
19 фев '18 в 15:50
1
ответ
Как получить память процесса и использование времени?
Я пытаюсь получить память процесса и использование времени, и вот [мой код], но память, о которой сообщают, так много для такого простого приложения, потребляющего почти 8500 КБ. Что-то, что я сделал, сообщило о неправильном использовании памяти или…
12 мар '14 в 01:21
1
ответ
Java-программа ptrace с использованием C/C++
У меня есть проблема, аналогичная моей предыдущей, представленной здесь. На этот раз я хочу использовать программу, написанную на c/ C++, для отслеживания выполнения JAVA-программы. Как я уже говорил ранее, тот же код, который отслеживает печать std…
20 июл '13 в 04:53
3
ответа
Как получить правильное значение orig_eax при остановке в системном вызове?
Я присоединяюсь к процессу с помощью ptrace(PTRACE_ATTACH...), пока он находится в системном вызове (например, nanosleep()). Я могу использовать PTRACE_GETREGS для получения содержимого регистра, и eip находится в ожидаемом месте (в __kernel_vsyscal…
29 июн '12 в 20:49
1
ответ
Позиционно-независимые исполняемые файлы и ptrace
Я хотел бы проследить PIE на Linux и, например, разбить по указанному адресу инструкции. Из разборки у меня есть относительный адрес инструкции - как я могу узнать местоположение, в которое был загружен исполняемый файл, чтобы я мог получить абсолют…
26 ноя '17 в 16:26
1
ответ
Многопоточность, многопроцессорность с сигналами STOP и Continue
Я работаю над проектом, где мне нужно получить собственный стек Java-приложения. я могу достичь этого частично. благодаря ptrace/multiprocessing и сигналов. в Linux обычное Java-приложение имеет минимум 14 потоков. из этих 14 меня интересует только …
02 сен '10 в 11:18
2
ответа
Как остановить процесс через согласованный промежуток времени, чтобы выполнить функцию измерения?
Я использую Linux ptrace API в профилировщике, который я пишу. Мой псевдо-код C выглядит так: setjmp(); measure(); alarm(N); while(1) { waitpid(child, &status, WNOHANG); if(child_process_exiting) { measure(); break; } } Обработчик сигнала тревог…
25 июл '13 в 13:34
1
ответ
Что такое ловушка ветвления процесса?
Сначала немного предыстории: я пишу отладчик, а сейчас пытаюсь различить разные типы точек останова процесса. PTRACE_GETSIGINFO запрос ptrace() может помочь получить подробную информацию о сигнале трассировки. для SIGTRAP Сигнал, существует нескольк…
26 авг '17 в 12:14
2
ответа
Использование ptrace для отслеживания всех вызовов execve() между детьми
Я пытаюсь написать инструмент для Linux CentOS для отслеживания всех порожденных процессов и того, что запускается. По сути, я заинтересован в том, чтобы пройтись по всем форкам / клонам и выпустить все командные строки из execve(), Strace уже делае…
15 мар '11 в 19:57
1
ответ
Подсчет системных вызовов программы и проверка правильности результатов с помощью strace
Я использую ptrace для подсчета системных вызовов программы.Проблема в том, что для данной программы A моя программа распечатывает количество выполненных системных вызовов (открытие, закрытие, чтение, запись). Результаты моей программы и strace (с п…
07 апр '13 в 22:07
1
ответ
Android поддерживает PTRACE_SINGLESTEP?
Хорошо, это простой вопрос. Поддерживает ли Android PTRACE_SINGLESTEP, когда я использую системный вызов ptrace? Когда я хочу получить программу Android apk, я обнаруживаю, что не могу обработать трассировку SINGLESTEP. Но ситуация изменилась, когда…
14 апр '14 в 10:40
2
ответа
Ptrace/ ждать не ребенка
int Enable ( int pid) { int status; #if 1 { printf ( "child pid = %d \n", pid ); long ret = ptrace (PTRACE_ATTACH, pid, NULL, NULL); do { int w = waitpid(-1, &status, 0); if (w == -1) { perror("waitpid error :"); exit(EXIT_FAILURE); } if (WIFEXI…
04 дек '13 в 02:23
0
ответов
Почему мой ptrace не работает?
Я играю с ptrace. У меня есть одна простая программа, которая загружает общую библиотеку, которую я создал, и затем вызывает две функции в ней. И общая библиотека, и основная программа имеют несколько вызовов sleep(), чтобы дать мне время присоедини…
02 авг '17 в 16:41
0
ответов
Почему Ptrace остановится на SYS_EXECVE дважды после того, как закончит в Golang
Я пытаюсь написать строчку в Go, но у меня есть хитрая проблема. Почему Ptrace остановится на SYS_EXECVE дважды после завершения? Мой код: // main.go package main import ( "fmt" "os" "os/exec" "syscall" ) func main() { var regs syscall.PtraceRegs cm…
14 окт '18 в 08:50
1
ответ
Отслеживание системных вызовов процесса и всех разветвленных процессов
Я использую ptrace проследить системные вызовы процесса. После разветвления процесса я использую PTRACE_TRACEME чтобы начать отслеживать процесс. Код выглядит так: while (true) { int status; int gotPid; gotPid = waitpid(pid, &status, 0); if (WIF…
23 ноя '12 в 15:42
3
ответа
Как получить чар * с помощью ptrace
В настоящее время я разрабатываю инструмент, в котором мне нужно отследить программу, чтобы узнать его системные вызовы. На данный момент я могу получить числовые параметры системных вызовов, но не могу правильно обратиться к строкам. Вот как я прод…
30 апр '12 в 14:56