@MuffinLover

Почему ptrace если не через execl не работает?

https://pastebin.com/rHfUV9DZ
Может кто подсказать, пожалуйста
Почему если я закомментирую 19 строчку и раскомментирую 20, 21 строчку, то он уже логгировать два write системных вызова не будет?
  • Вопрос задан
  • 79 просмотров
Решения вопроса 1
jcmvbkbc
@jcmvbkbc
"I'm here to consult you" © Dogbert
Потому что PTRACE_TRACEME не останавливает вызывающий процесс, а значит у родителя нет возможности заказать остановку по системному вызову. Останавливают трассируемый процесс только сигналы и явно запрошенные трассировщиком события.
В частности, вызов execve трассируемым процессом вызывает отправку ему сигнала SIGTRAP.
Можно вставить перед 20й строкой какой-нибудь asm volatile ("int3"); и это тоже вызовет доставку сигнала, останов и трассировку последующих вызовов write.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы