линуксоидам - iakovlev.org
Oct. 28th, 2007 10:43 amнашел потрясающий сайт www.iakovlev.org .
Очень много хорошей инфы по линуксу, особенно порадовало хорошая дока по потрохам ядра. напр Kernel / FAQ
пример:
или вот 2.4 Internals
пример:
После чего попадаем на строку 124 . Затем грузим kernel image в физический 0x10000 . Это в нижней памяти . После загрузки , переходим в $SETUPSEG:0 (arch/i386/boot/setup.S). Загруженный kernel перемещается с 0x10000 в 0x1000 . Далее вызывается функция decompress_kernel() . Kernel разворачивается по адресу 0x100000 и запускается . Для этого используется прерывание 0x15.
Очень много хорошей инфы по линуксу, особенно порадовало хорошая дока по потрохам ядра. напр Kernel / FAQ
пример:
Включая 2.4, sys_call_table была экспортируемой таблицей. Это означает что любой LKM мог ссылаться на нее внутри своего кода. Начиная с 2.6, Linus Torvalds решил более не экспортировать эту таблицу. Была захлопнута дверь перед разного рода rootkits. Таблица sys_call_table стала менее доступна, и простейшие методы перехвата системных функций теперь не работают.
Для 2.6 kernel, вышеуказанный LKM работать не будет. Но тем не менее альтернатива остается.
или вот 2.4 Internals
пример:
После чего попадаем на строку 124 . Затем грузим kernel image в физический 0x10000 . Это в нижней памяти . После загрузки , переходим в $SETUPSEG:0 (arch/i386/boot/setup.S). Загруженный kernel перемещается с 0x10000 в 0x1000 . Далее вызывается функция decompress_kernel() . Kernel разворачивается по адресу 0x100000 и запускается . Для этого используется прерывание 0x15.