Нужен пример кода или учебник по перехвату системных вызовов в ядре 4.17 / 4.18 и выше - PullRequest
0 голосов
/ 03 мая 2019

Попытка перехватить sys_open, sys_creat, sys_exeve, sys_write и некоторые другие системные вызовы для перехвата активности файловой системы в ядре 4.17 / 4.18 на x86_64 и 32-битном.

Я ищу пример кода модуля ядра или учебное пособие, в котором объясняется, как перехватывать syscall в ядре 4.17 / 4.18 и далее, где добавляются оболочки syscall.

В моем ядре Ubuntu 18 4.17, / proc / kallsyms имеет __x64_sys_open, но не ksys_open.

Не уверен, нужно ли мне подключать ksys_open или __x64_sys_open или sys_open. Я получаю ошибку компиляции 'undelcared identifier' для sys_open & __x64_sys_open.

Какие правильные заголовки мне нужно использовать и какие константы мне нужно определить?

Наряду с sys_open мне нужно перехватить sys_creat, sys_openat, sys_execve, sys_truncate, sys_ftruncate, sys_write и т. Д. ...

До ядра 4.17 я смог найти символ для sys_xyz, но начиная с ядра 4.17, я не уверен, нужно ли мне подключать __x64_sys_xyz или ksys_xyz или sys_xyz.

В syscalls.h Некоторые системные вызовы комментируются как / * __ARCH_WANT_SYSCALL_DEPRECATED * /

Пожалуйста, помогите, спасибо,

Кумар Т

...