В Windows более или менее распространено создание «прокси-библиотек DLL», которые выполняются из исходной библиотеки DLL и пересылают вызовы к ней (после любых дополнительных действий по мере необходимости). Вы можете прочитать об этом здесь и здесь , например.
Тем не менее, культура подлого шитья в Linux совершенно иная. Он начинается с того факта, что LD_PRELOAD является встроенной функцией ld.so в Linux, которая просто вводит отдельный shlib в процесс и использует любые символы, которые он определяет как переопределение. И эта техника «инъекции», кажется, определяет целое направление мысли - вот типичный инструмент взлома ELF или этот вопрос , где джентльмен, кажется, имеет тот же вариант использования, что и я, но начинает с спрашивая, как он может исправить существующие двоичные файлы.
Нет, спасибо. Я не хочу вводить или изменять что-то, что не является моим. Все, что я хочу сделать, это создать отдельный прокси-сервер, который будет вызывать оригинал. В идеале, должен быть инструмент, который можно использовать с исходным .so и создать исходный код на C, который будет просто перенаправлять на функции оригинала, позволяя мне легко переопределять все, что я хочу. Так где же такой инструмент? ;-) Спасибо.