Я довгий час працюю як sip-без dtrace для використання dtrace, і це добре, але кілька додатків я хочу читати дані з бачених для запуску в режимі ядра (Little Snitch має кілька компонентів, наприклад). Яким би способом я не спробував, я отримую або помилку компіляції або виконання під час спроби tracemem (arg0), наприклад, у зонді, такому як
syscall::open:entry /app_is_Kmode/
....tracemem(arg0);....
run time invalid address (0x7fff5fbfdc30) in action #4
В даний час: Я виявляю програми, які знаходяться в режимі ядра ОК, оскільки трасування (ucaller) не вдається, і я ловити помилку і відзначити такі програми. Потім я можу використовувати зонд, який намагається працювати в режимі ядра з тими програмами, наприклад не використовує copyin () але tracemem (). Здається, що захист пам'яті або реалізація dtrace блокує мої спроби. Я думаю, що стек () покаже 2 кадри в просторі символів ядра ... тому є деякий обмежений доступ.
Але що викликає мою проблему, і чи можу я щось зробити?
Особливою можливістю може бути SIP -безпека без налагоджувальної захисту. Але це було б досить серйозним порушенням, щоб просто спробувати, оскільки я маю велику установку ramdisk за останні кілька місяців з моменту останнього завантаження з ACL, privs і т.д., які було б важко відновити. Я не зміг знайти ніяких документів про те, що саме робить ця область SIP. (Можливо, це має бути інше питання чисто про SIP, але, очевидно, я зацікавлений в контексті моєї проблеми.)