Перехват обращений к файлу в ядре Linux.

Тема в разделе "WASM.UNIX", создана пользователем linkmaze, 13 янв 2012.

  1. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    Вы верно заметили, GPF_DISABLE и GPF_ENABLE там используются неверно =) Поясните, что значит "слежка". Вообще, есть ещё один механизм - LSM, но он в последнее время тоже не экспортируется :)))
     
  2. linkmaze

    linkmaze New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2007
    Сообщения:
    60
    Слежка в смысле прехват всех обращений к файлу (открытие, чтение, запись, закрытие) и всех данных записываемых считываемых.
     
  3. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    Да, тогда проще всего будет модифицировать записи в таблицах системных вызовов. Имейте в виду, наличие 2х таких таблиц в 64-битной системе и, соответственно, различие значений констант-номеров системных вызовов.
     
  4. linkmaze

    linkmaze New Member

    Публикаций:
    0
    Регистрация:
    23 авг 2007
    Сообщения:
    60
    Спасибо. Буду пробовать.
     
  5. z0mailbox

    z0mailbox z0

    Публикаций:
    0
    Регистрация:
    3 фев 2005
    Сообщения:
    635
    Адрес:
    Russia СПБ
    чо вы хотите от системы разрабы которой ненавидят отладчики в принципе
    http://linuxmafia.com/faq/Kernel/linus-im-a-bastard-speech.html
     
  6. valterg

    valterg Active Member

    Публикаций:
    0
    Регистрация:
    19 авг 2004
    Сообщения:
    2.105
    Почитайте здесь:
    http://www.opennet.ru/base/dev/intercept_lnx.txt.html
     
  7. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    В статье описан годный метод поиска sys_call_table для простейшего случая - использования int $80. Всё остальное - шлак, т.к. через /dev/mem пытаться что-то сделать уже бесполезно: современные ядра ограничивают возможность работы с этим файлом 1M адресов.
     
  8. kejcerfcrv

    kejcerfcrv New Member

    Публикаций:
    0
    Регистрация:
    16 дек 2011
    Сообщения:
    320
    7mm
    Ваши современные ядра не могут нормально даже строки копировать(в багрепортах были оверфловы примитивнейшие в ядре). Не говоря уже про всё остальное. Думаю если копнуть, окажется что это решето. Хотя это и так все знают.
     
  9. 7mm

    7mm New Member

    Публикаций:
    0
    Регистрация:
    15 дек 2009
    Сообщения:
    442
    Инде, пруф в студию или не засоряйте эфир пустоблудием :)
     
  10. UbIvItS

    UbIvItS Well-Known Member

    Публикаций:
    0
    Регистрация:
    5 янв 2007
    Сообщения:
    6.077
    Код (Text):
    1. bash-4.2$ strace -p 2401 -o /tmp/out.txt
    2. Process 2401 attached
    3. ^CProcess 2401 detached
    4. bash-4.2$ cat /tmp/out.txt
    5. bash-4.2$ cat /tmp/out.txt|grep ^write\(
    6.  
     
  11. SadKo

    SadKo Владимир Садовников

    Публикаций:
    8
    Регистрация:
    4 июн 2007
    Сообщения:
    1.610
    Адрес:
    г. Санкт-Петербург
    Да, человек, наверное, не знал, что strace существует и достаточно посмотреть исходники этой тулзы.