Вопросы по теме 'ld-preload'

Что такое точный эквивалент LD_PRELOAD в OSX?
Я использую LD_PRELOAD для подключения библиотечной функции, и в Linux она работает отлично. Но я не могу понять, как сделать эквивалент в OSX. У меня в Linux установка такая: Код: #include <stdio.h> #include <dlfcn.h>...
11654 просмотров
schedule 08.06.2023

перехват системного вызова openat() для GNU tar
Я пытаюсь перехватить системный вызов openat() в Linux, используя пользовательскую общую библиотеку, которую я могу загрузить через LD_PRELOAD . Пример intercept-openat.c имеет следующее содержание: #define _GNU_SOURCE #include...
2908 просмотров
schedule 27.12.2022

Установка переменной окружения LD_PRELOAD для запуска команд без ввода полного пути
Я играю с LD_PRELOAD и создал библиотеку, которая просто оборачивает puts() в функцию, которая преобразует строку для печати в верхний регистр перед печатью. Затем я экспортирую переменную LD_PRELOAD как таковую $ export...
4877 просмотров

LD_PRELOAD вызывает ошибку сегментации в загрузчике динамической библиотеки
Я написал библиотеку, которая предназначена для загрузки через LD_PRELOAD . В некоторых системах Linux это приводит к segfault загрузчика динамических библиотек во время инициализации. У меня есть простой тестовый пример, который демонстрирует...
2937 просмотров
schedule 02.08.2023

Перенаправление вызова функции system() с использованием LD_PRELOAD
Я хочу заменить вызовы функции system(), сделанные моей программой, с помощью LD_PRELOAD. Поэтому я создал следующие функции-оболочки в общей библиотеке для тестирования. // syshook.c int system(const char * command) { printf("system()...
1122 просмотров
schedule 05.04.2023

Почему LD_PRELOAD работает с системными вызовами? ​
Идея LD_PRELOAD состоит в том, чтобы загрузить общую библиотеку перед исходной общей библиотекой, например, я могу скомпилировать mylib.so , чтобы загрузить ее перед libc.so , поэтому, когда процесс хочет использовать printf , он ищет в so ,...
449 просмотров
schedule 03.06.2024

Переключение между более чем двумя общими библиотеками (LD_PRELOAD)
Предположим, что существуют три разделяемые библиотеки A.so , B.so и C.so , каждая из которых имеет функцию f() . Я хочу переключаться между каждой функцией f() при определенных обстоятельствах, определяемых во время выполнения. Используя...
78 просмотров

Условное изменение перемещений во время выполнения
TL;DR Я хочу переписать .got, .got.plt,... , чтобы он указывал на правильные адреса, потому что компоновщик принимает неправильные решения. Мне нужно использовать в коде две разные функции динамического размещения (например,...
76 просмотров
schedule 16.06.2022