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

LD_PRELOAD не выполняет предварительную загрузку всех символов
Я пытаюсь использовать функции LD_PRELOAD, такие как mmap , read , open , clone и т. д...., но в то время как некоторые функции успешно получают LD_PRELOAD, другие нет. Например, mmap , read и open прекрасно предварительно загружаются, а...
795 просмотров
schedule 25.12.2022

В чем разница между LD_PRELOAD и strace?
Оба метода используются для сбора системных вызовов, а также параметров и их возвращаемых значений. Когда мы предпочитаем LD_PRELOAD и почему? Можно сказать, что мы можем собирать системные вызовы только через strace , но мы можем собирать...
1570 просмотров
schedule 22.05.2023

открытие библиотеки, которая имеет зависимости
У меня есть программа, которая вызывает dlopen (с RTLD_NOW) для динамической загрузки библиотеки, полный путь которой указан во время выполнения, но неизвестен при первом запуске программы. Указанная библиотека была динамически связана с ДРУГИМ...
123 просмотров
schedule 14.04.2024

Как вы вызываете исполняемый файл из конструктора библиотеки, загруженного с помощью LD_PRELOAD?
Я хочу иметь возможность вызывать исполняемый файл из предварительно загруженной библиотеки. Сделать это - У меня есть простой исполняемый файл main.c #include <stdio.h> void callme() { printf("callme\n"); } int main(int argc,...
206 просмотров
schedule 12.06.2022

LD_PRELOAD, какая программа является целевой
Есть ли способ выяснить, какая программа является целью LD_PRELOAD? LD_PRELOAD=/path/to/libstuff.so ./stuff <args> Например, при создании библиотеки libstuff на C/C++ и при ее предварительной загрузке есть ли способ выяснить, что...
678 просмотров
schedule 09.12.2023

Перехватить конструктор класса c++ с помощью LD_PRELOAD
Я следовал этому примеру для перехвата функций C++ в классе. Однако теперь я хочу перехватить конструктор и деструктор класса, а не только функции-члены. В примере он делает typedef unsigned int (Foo::*methodType)() const; . Я не думаю, что...
743 просмотров
schedule 11.05.2022

Как я могу переопределить функции C (например, с LD_PRELOAD) во время выполнения?
У меня есть код Python, в котором используется библиотека, реализующая виртуальные файловые системы. Чтобы драйверы для этих виртуальных файловых систем работали, необходимо переопределить/заменить ряд функций C (таких как readdir(), opendir(),...
499 просмотров
schedule 13.01.2023

Представление виртуальной файловой системы процессу Linux без root-доступа
Я ищу способ представить файловую систему пользовательского пространства конкретному процессу Linux, но у меня нет root-доступа. Очевидный ответ - FUSE, но без root-доступа я не могу загрузить модуль ядра, поэтому о FUSE, похоже, не может быть и...
710 просмотров
schedule 28.02.2022

Chrome не запускается при предварительной загрузке системного вызова чтения с использованием LD_PRELOAD
Я работаю над проектом, который требует обертывания системных вызовов libc, в частности вызовов файлового ввода-вывода, таких как открытие, чтение, запись, закрытие и т. д. Я намерен использовать это в качестве службы мониторинга для операций с...
274 просмотров

Как использовать LD_PRELOAD в контейнере runc
Я перешел по этой ссылке и попытался использовать runc для запуска контейнера busybox. Я хотел загрузить разделяемую библиотеку в процесс-контейнер с помощью трюка LD_PRELOAD . Я изменил args в config.json "args": [...
199 просмотров
schedule 08.07.2023

LD_PRELOAD для переопределения функций из динамически загружаемой библиотеки
Я использую библиотеку-оболочку для трассировки функций с помощью LD_PRELOAD , которая работает, когда в приложении есть ссылки на отслеживаемые функции. Библиотека-обертка использует dlsym для заполнения символов, которые она обертывает. Но...
140 просмотров
schedule 14.06.2022

Средство Futex вернуло неожиданный код ошибки в профилировщике блокировки на основе предварительного загрузчика
Я разрабатываю утилиту профилирования потоков на основе предварительного загрузчика, которая подключается к Pthreads, и, похоже, она вызывает ошибку для профилируемых программ, использующих условные переменные. Вчера я задал вопрос о каком-то...
38 просмотров

Как перехватить execve() через вызовы оболочки exec* с помощью LD_PRELOAD?
Я пытаюсь перехватить execve() через execl() . Вот мой вызов-обертка (построен как разделяемая библиотека — libexec.so ). #define _GNU_SOURCE #include <dlfcn.h> #include <stdio.h> #include <unistd.h> #include <errno.h>...
64 просмотров
schedule 10.05.2023

Конфликтующие типы при компиляции оболочки LD_PRELOAD
Я попытался использовать LD_PRELOAD для перехвата функции sprintf , поэтому я напечатаю в файл результат буфера: #define _GNU_SOURCE #include <stdio.h> #include<dlfcn.h> int sprintf (char * src , const char * format , char* argp) {...
218 просмотров