ptrace
- системный вызов. Даже если вы переименуете эту функцию в своем коде C
, фактический вызов ptrace
все равно придется выполнить, поэтому он будет виден, например, на выходе strace
(со всеми параметрами).
Использование трюка с макросом сделает его немного менее очевидным (вам понадобится два greps
вместо одного, чтобы найти его в базе кода). Так что я не вижу смысла. (Трюк с макросом ничего не изменит в скомпилированном коде.)
Вы можете попробовать запустить сам системный вызов с помощью syscall
, но это большая работа и все равно не будет ничего скрывать до strace
до этого момента. В GDB было бы немного сложнее прорваться туда.
Итак, ИМО: то, что вы пытаетесь сделать, не стоит усилий.