Мне необходимо програмно реализовать даный подход: ----------------------------------------------------------------------- Популярный прием, называемый методом "подмены библиотеки": * создаем "обертку" (wrapper) вокруг интересующей нас библиотеки, экспортирующей те же самые функции, что и она; * оригинальную библиотеку переименовываем или размещаем в другом месте; * функции-обертки определяют идентификатор вызывающего их процесса, и, если это действительно "их" процесс, совершают заранее запланированные действия (пишут вызов в log, подменяют аргументы или код возврата и т.д). Как определить id процесса? Это легко, ведь функции-обертки вызываются из контекста процесса, который их использует, и решение задачи сводится к выяснению идентификатора текущего процесса, возвращаемого функцией getpid(); * функция-обертка передает управление оригинальной функции основной библиотеки или своей собственной подложной функции; ------------------------------------------------------------------------ 1)Возможно, уже есть программы, которые это делают? Подскажите, кто что знает, пожалуйста... 2)Нахожусь на финальном этапе разработки кодогенератора для оберток... Не могу понять, что необходимо делать с определенным идентификатором процесса. С чем его сравнивать?
Ответ на:
комментарий
от Pi
Ответ на:
комментарий
от koTuk
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум перехват вызовов функций (2012)
- Форум viml перехват функций (2018)
- Форум [kernel] Перехват функций ядра. (2010)
- Форум Перехват вызова static функции в .so (2015)
- Форум перехват open (2016)
- Форум Перехват исключений (2013)
- Форум Перехват sys_execve() (2015)
- Форум Перехват трафика (2010)
- Форум Перехват управления (2009)
- Форум перехват dlsym() (2007)