В ptrace я могу отладить другой процесс для вывода всех номеров системных вызовов, которые вызывает удаленный процесс.l, с помощью этих шагов.
- Присоединитесь к процессу с помощью PTRACE_ATTACH.
waitpid
(с флагами __WALL), чтобы убедиться, что удаленный процесс остановлен. - In while (cond ) print в регистре, в котором хранится номер системного вызова с помощью PTRACE_PEEKUSER
Как удаленный процесс может предотвратить это? Есть ли какой-либо сигнал, что он может зарегистрироваться и напечатать «Хватит отладить меня !!» ??
PTRACE_ATTACH отправляет SIGSTOP для удаленного процесса, но процесс не может с этим справиться. И PTRACE_PEEKUSER не отправляет никаких сигналов удаленному процессу.