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