Я не очень хорошо знаком с программированием на C и пытаюсь найти начальный и конечный адреса таблицы системных вызовов в 64-разрядной версии Linux. Я попробовал решение, описанное в ссылке ниже: https://memset.wordpress.com/2011/03/18/syscall-hijacking-dynamically-obtain-syscall-table-address-kernel-2-6-x- 2/а>
Но он разработан для 32-битного ядра, поэтому есть некоторые несовместимости, которые вызывают ошибки и останавливают создание make-файла. В настоящее время я получаю эту ошибку:
warning: cast from pointer to integer of different size [-Wpointer-to-int-cast]
printk("Syscall table found at %x\n", (unsigned ) syscall_table);
^ cc1: some warnings being treated as errors
что может быть связано с тем, что начальный и конечный адреса в 64-битном ядре отличаются от адресов, указанных для 32-битного, но я не совсем уверен.