Совместно используемая библиотека прокси (sharedlib, shlib и т. Д.) Для ELF?

В Windows более или менее распространено создание «прокси-DLL», которые заменяют исходную DLL и перенаправляют к ней вызовы (после любых дополнительных действий по мере необходимости). Вы можете прочитать об этом здесь и здесь, например, .

Однако культура подмены шлебов в Linux совершенно другая. Он начинается с того факта, что LD_PRELOAD - это встроенная функция ld.so под Linux, которая просто вставляет отдельный shlib в процесс и использует любые символы, которые он определяет как переопределение. И эта техника «инъекции», кажется, определяет все направление мысли - вот типичный инструмент для взлома ELF или этот вопрос , где джентльмен, похоже, использует тот же вариант использования, что и я, но начинается с спрашивая, как он может исправить существующие двоичные файлы.

Нет, спасибо. Я не хочу вводить или изменять что-то, что мне не принадлежит. Все, что я хочу сделать, это создать автономный прокси-файл, который будет обращаться к оригиналу. В идеале был бы инструмент, который можно было бы использовать с исходным .so и создать исходный код C, который бы просто перенаправлял на исходные функции, позволяя мне легко переопределять все, что я хочу. Итак, где такой инструмент? ;-) Спасибо.

7
задан Community 23 May 2017 в 12:32
поделиться