LINUX.ORG.RU

hook на обращения к файловой системе

 , ,


1

1

всем доброго вечера! меня тут друг озадачил проблемкой, с которой я ни разу не сталкивался:
«есть в линуксе способ, повесить какой-нибудь hook на обращения к файловой системе? что-бы, фильтровать некоторые обращения, от определенного процесса, и подсовывать другие данные
т.е. скажем так, я знаю, что некий процесс, иногда запускается, и смотрим mount, и некоторое количество файлов проверяет (дату модификации, их чексуму считает)
мне надо бы ему присунуть другие данные
желательно, конечно, не лазя в ядро :)
т.к. ядро для телефона я пока не собрался билдить»

подскажите, пожалуйста :)
или таки я ошибся форумом и без патча ядра тут не обойтись?

Если тот процесс не вызывает вручную сисколлы, то LD_PRELOAD

deadNightTiger ★★★★ ()
Ответ на: комментарий от deadNightTiger

Если тот процесс не вызывает вручную сисколлы, то LD_PRELOAD

хм... спасибо, а какую либу подменить? что-то я туплю... :-\

metawishmaster ★★★★ ()
Ответ на: комментарий от deadNightTiger

я определенно туплю %)

но разве получится так, что в своей libc можно написать только обвертки для пары функций, а что линкер не найдет в этой «libc» он будет искать в /usr/lib/libc.so, а не станет ругаться на unknown symbol?

или тупо «переписать» все функции libc, которые вызываются из проги? // по-ходу, тупняк начинает проходить %)

metawishmaster ★★★★ ()
Последнее исправление: metawishmaster (всего исправлений: 2)

ptrace этим занимается.

гугли на слово libptrace

и да, если у тебя процесс не хитрожопый, и особо ничего мутить-крутить не надо, может(только может) хватить перехвата через LD_PRELOAD. но надо понимать, что этот путь приведет к тому, что тебе САМОМУ надо будет возможно в несколько потоков разруливать все запросы.

ckotinko ☆☆☆ ()
Последнее исправление: ckotinko (всего исправлений: 1)

nocache - маленькая утилитка, умеющая перехватывать запросы к ФС (с целью предотвращения «засорения» кеша ненужными в последствии данными).

gag ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.