LINUX.ORG.RU

Сообщения Wareznik

 

перехват функций

Мне необходимо програмно реализовать даный подход: ----------------------------------------------------------------------- Популярный прием, называемый методом "подмены библиотеки": * создаем "обертку" (wrapper) вокруг интересующей нас библиотеки, экспортирующей те же самые функции, что и она; * оригинальную библиотеку переименовываем или размещаем в другом месте; * функции-обертки определяют идентификатор вызывающего их процесса, и, если это действительно "их" процесс, совершают заранее запланированные действия (пишут вызов в log, подменяют аргументы или код возврата и т.д). Как определить id процесса? Это легко, ведь функции-обертки вызываются из контекста процесса, который их использует, и решение задачи сводится к выяснению идентификатора текущего процесса, возвращаемого функцией getpid(); * функция-обертка передает управление оригинальной функции основной библиотеки или своей собственной подложной функции; ------------------------------------------------------------------------ 1)Возможно, уже есть программы, которые это делают? Подскажите, кто что знает, пожалуйста... 2)Нахожусь на финальном этапе разработки кодогенератора для оберток... Не могу понять, что необходимо делать с определенным идентификатором процесса. С чем его сравнивать?

>>>

Wareznik
()

RSS подписка на новые темы