перехват на Centos 8 подал и перезагрузил систему - PullRequest
0 голосов
/ 12 марта 2020

Я написал простой хук, который меняет указатель на sys_call_table и указывает функцию execve на мою функцию, хук прекрасно работает на Ubuntu в ядре 4.15, но когда я попробовал его на системе Centos 8 в ядре 4.18, он подал и перезагрузил система. как это можно сделать в новых ядрах?

это мой код:

static int lkm_example_init(void)
{
    write_cr0(read_cr0() & (~ 0x10000));

    sys_call_table = (void*)kallsyms_lookup_name("sys_call_table");
    original_call = sys_call_table[__NR_kill];
    sys_call_table[__NR_kill] = our_sys_kill;

    execl = sys_call_table[__NR_execve];

    sys_call_table[__NR_execve] = our_execl;
}
...