как получить нулевой уровень в линуксе?

Тема в разделе "WASM.UNIX", создана пользователем proglammer, 28 янв 2005.

  1. proglammer

    proglammer New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2005
    Сообщения:
    2
    Адрес:
    piter
    задолбался я шарить по докам C/C++ в поисках толкового примера модуля ядра, все что у меня есть по C устарело.

    я вообщем думал создать модуль выполняюший переданный ему код на нулевом уровне, на Си мне его толково не скомпилить - insmod выдает что модуль сделан для более старой версии ядра, я не знаю как от этого избавится.

    написал эту хрень на асме код то оно выполняет но на уровне юзера(cli sti не работают).а доков по асму у меня мало.



    короче баальшая просьба всем асм-гуру владеюшим "GNU as,nasm или fasm" - состряпать код добычи "ring 0" и выложить его тут в назидание всем асм новичкам, и в знак своей неоспоримой крутости.

    вроде все...
     
  2. intuit

    intuit New Member

    Публикаций:
    0
    Регистрация:
    1 июн 2003
    Сообщения:
    28
    proglammer

    для начала определись в какой из веток ядер будет выполняться твой LKM(2.4 или 2.6).



    > на Си мне его толково не скомпилить - insmod выдает что модуль сделан для более старой версии ядра, я не знаю как от этого избавится.



    Если ты определился и твой выбор пал на ядра ветки 2.4(для 2.6 есть ряд особенностей), то тебе нужно в секции .modinfo определить символ __module_kernel_version со своей версией ядрышка, примерно так:

    .section .modinfo

    __module_kernel_version:

    .ascii "kernel_version=2.4.18"



    > все что у меня есть по C устарело.



    "C" не устаревает, а появляются/исчезают лишь некоторые макросимволы и макроопределения из сорцов модулей, необходимые для правильной работы этих самых модулей под конкретной веткой ядер.
     
  3. proglammer

    proglammer New Member

    Публикаций:
    0
    Регистрация:
    28 янв 2005
    Сообщения:
    2
    Адрес:
    piter
    спасибо за совет, как будет выходной попробую, а ядро

    2.4.18-3. но скоро обновлю, а что там за особенности в 2.6?