Tôi muốn tạo mô-đun hạt nhân từ đầu mà chốt vào phiên người dùng và theo dõi từng cuộc gọi hệ thống được thực hiện bởi các quy trình thuộc về người dùng đó.Mô-đun hạt nhân để theo dõi syscalls?
Tôi biết mọi người đang nghĩ gì - "sử dụng strace" - nhưng tôi muốn có một số ghi nhật ký và phân tích của riêng mình với dữ liệu tôi thu thập được và strace có một số vấn đề - ứng dụng có thể sử dụng "mmap" ghi vào một tệp mà không có nội dung tệp nào xuất hiện dưới dạng đối số của cuộc gọi hệ thống "mở" hoặc ứng dụng mà không có quyền ghi nào có thể tạo coredumps để sao chép dữ liệu nhạy cảm.
Tôi muốn có thể xử lý các trường hợp đặc biệt này và thực hiện một số lần đăng nhập của riêng mình. Tôi tự hỏi - làm thế nào tôi có thể định tuyến tất cả các syscalls thông qua mô-đun của tôi? Có cách nào để làm điều đó mà không cần chạm vào mã hạt nhân?
Cảm ơn
Bạn nên sử dụng syscall 'ptrace' (thực sự được sử dụng bởi' strace' và 'gdb'). Chúc may mắn, bạn sẽ cần một số. Nhưng có thể bạn không cần mã bất kỳ mô-đun hạt nhân nào, chỉ để phát triển một ứng dụng bằng cách sử dụng 'ptrace' một số lượng lớn. –