Вопросы по теме '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 просмотров
schedule
16.12.2022
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 просмотров
schedule
11.02.2023
Условное изменение перемещений во время выполнения
TL;DR
Я хочу переписать .got, .got.plt,... , чтобы он указывал на правильные адреса, потому что компоновщик принимает неправильные решения.
Мне нужно использовать в коде две разные функции динамического размещения (например,...
76 просмотров
schedule
16.06.2022