Здравствуйте необходимо как то реализовать возможность обнаружения и сохранения системных вызовов к ядру(т.е. процесс к примеру вызывает open или mkdir, а я это дело обнаруживаю и что с этим делаю), при этом важно знать еще и передаваемые параметры.
Есть идея заюзать перехват ф-ий в самом ядре (через модуль), но это не есть красиво по понятным причинам, особенно в ядре 2.6, а если использовать ptrace, то будет сложно отловить sys call'ы ото всех процессов в системе(а надо именно так!), может есть какой то этичный способ? может готовое решение, общее падение производительности в целом не критично (в 2-4 раза можно точно +) )
И еще по поводу перехвата, уже пробовал делать, взял из файла System.map адрес sys_call_table и пробовал там поменять адрес одного вызова на другой, безрезультатно, судя по всему из-за защиты памяти(причем модуль обратно уже НЕ выгружался но и перехвата не было), собсна если чего ткните носом по поводу отключения защиты памяти или что там мне мешает сделать замену :'(