LINUX.ORG.RU

хук на dlsym() и оригинальный dlsym()


0

2

привет.

все о том же, о хуках.

дошел до реализации хука на dlsym() и столкнулся с такой проблемой: для того чтоб вызывать оригинальный dlsym(), мне нужно получить его адрес. это я делаю в конструкторе so`шки. а проблема в том, что при вызове из конструктора dlsym(), вызывается хуковый dlsym().

пробовал первым аргументом указывать как RTLD_DEFAULT, так и RTLD_NEXT. при первом - вообще символ не находится. при втором - адрес хуковой dlsym().

подскажите, как побороть?

благодарен.

★★★

може это?

RTLD_LOCAL Symbols exported from this image (dynamic library or bundle) are generally hidden and only availble to dlsym() when directly using the handle returned by this call to dlopen().

Skolotovich ★★★
()
Ответ на: комментарий от Skolotovich

нет. это как раз даст тот же результат, который я имею сейчас - вернет адрес моего хука.

niXman ★★★
() автор топика
Ответ на: комментарий от val-amart

чтоб ограничивать доступ к функциям.

niXman ★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.