Как использовать ptrace (2) для изменения поведения системных вызовов?

Есть ли какие-либо руководства или примеры (особенно ARM) или библиотеки использованияptrace повлиять на выполнение другого процесса? Например, чтобы заставить его поверить в то, что в дескрипторе файла появились некоторые данные (т.е. выпустить select / poll с некоторым результатом и "ответ" следующее чтение системного вызова перед ядром). Ожидается что-то с участием PTRACE_SYSEMU.

Это можно сделать портативным способом? Я хочу что-то вроде трюка с переопределением libc LD_PRELOAD, но который можно подключить во время выполнения.

Это можно сделать с помощью некоторых команд GDB?

Идеальным вариантом было бы, если бы была какая-то библиотека, где я мог бы легко и удобно подключаться к системным вызовам и редактировать их до или после фактического вызова (или эмулировать их), напримерпри этом используя LD_PRELOAD.

@ссылка на сайтЕсть хорошие руководства по использованию PTRACE_SYSEMU?

Ответы на вопрос(1)

Ваш ответ на вопрос