Как я, во время выполнения (no LD_PRELOAD
), перехватывает/подключает функцию C, например fopen()
в Linux, a la Detours for Windows? Я хотел бы сделать это с Python (следовательно, я предполагаю, что программа уже запускает CPython VM), а также перенаправляет код Python. Я в порядке, просто подключая общие библиотечные функции. Я также хотел бы сделать это, не изменяя способ запуска программы.
Одна идея состоит в том, чтобы свернуть собственный инструмент на основе ptrace()
или переписать код, найденный с помощью dlsym()
или в PLT, и настроить таргетинг на ctypes
-генерированные функции C-вызова, но я думал, что попрошу здесь сначала. Спасибо.