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

LD_PRELOAD работает только для malloc, не бесплатно
Я пытаюсь вставить malloc/free/calloc/realloc и т. д. с некоторыми интерпозерами через LD_PRELOAD. В моем небольшом тесте кажется, что вставляется только malloc , хотя обнаруживается free (см. вывод). Я ожидал, что вывод будет содержать строку...
2333 просмотров
schedule 08.01.2024

Иногда LD_PRELOAD в HPUX и Solaris не действует.
У меня возникла проблема с LD_PRELOAD. Когда я использую LD_PRELOAD в HPUX и Solaris, я обнаружил, что не могу подключить свою функцию open64/open/creat64/creat в /usr/bin/touch, но моя отвязка может действовать в /usr/bin/rm, почему? Я сделал...
407 просмотров
schedule 06.08.2022

Функция интерпозиции работает только для malloc, а не бесплатно
Я столкнулся с небольшой проблемой при мониторинге malloc и free из-за использования интерпозиции функций. При выполнении интерпозиции функции только для malloc она работает так, как ожидалось. Однако при попытке вставить free он также...
841 просмотров
schedule 14.03.2024

Как я могу внедрить фоновый поток в приложение с помощью LD_PRELOAD?
Я знаю, что LD_PRELOAD можно использовать для перехвата вызовов функций в разделяемых библиотеках (если приложение не связано статически). Однако я не знаю, как его можно использовать для добавления дополнительных функций или фоновых потоков в...
502 просмотров
schedule 14.02.2022

Почему tcmalloc не печатает имя функции, предоставленное через dlopen
У меня есть следующий проект: main.cpp #include <iostream> #include <cstddef> #include <dlfcn.h> int main() { void* handle = dlopen("./shared_libs/libshared.so", RTLD_LAZY); if (NULL == handle) { std::cerr...
354 просмотров

Как использовать LD_PRELOAD с медиасервером Android?
Я могу использовать LD_PRELOAD с обычными нативными приложениями, такими как, например. лс: LD_PRELOAD=/path/to/my/library.so ls После некоторого поиска я также смог использовать его с java-приложениями, установив такое свойство: adb...
1142 просмотров
schedule 09.02.2023

Golang LD_PRELOAD для перехвата SSL_read и SSL_write
Отказ от ответственности, я очень новичок в Golang, так как я использовал следующую статью в качестве основы для этого https://blog.gopheracademy.com/advent-2015/libc-hooking-go-shared-libraries/ Я пытаюсь написать библиотеку LD_PRELOAD, которая...
1257 просмотров
schedule 15.11.2022

Как сделать статически связанный файл ELF для загрузки LD_PRELOAD .so
У меня есть статически связанный двоичный файл (файл ELF), он не имеет динамического сегмента, разделов .dymsym и не выполняет команду LD_PRELOAD и т. д. Как я могу создать поддельный динамический сегмент, чтобы активировать динамический загрузчик и...
1919 просмотров
schedule 07.06.2022

Использование LD_PRELOAD для функций уровня ядра
Можно ли переопределить одну из функций ядра Linux с помощью LD_PRELOAD ? Например, я хочу изменить функцию cookie_hash в Linux/net/ipv4/syncookie.c для прослушивающего сокета для моей программы fooserver . Могу ли я сделать это с помощью...
492 просмотров
schedule 07.02.2022

Почему строка, указанная в `LD_PRELOAD`, загружается в память исполняемых файлов setuid в RedHat 6.2?
Прежде всего, позвольте мне рассказать вам контекст. Я решаю задачи варгейма The lord of the BoF , который основан на RedHat Linux 6.2 , в котором нет рандомизация макета адресного пространства (ASLR) , бит NX , броня ASCII и т. д. И gcc...
184 просмотров
schedule 12.12.2023

избегать LD_PRELOAD: обернуть библиотеку и предоставить функциональность, запрошенную из libc
У меня есть разделяемая библиотека, скажем, somelib.so , которая использует ioctl из libc (согласно objdump ). Моя цель — написать новую библиотеку, охватывающую somelib.so и предоставляющую пользовательский ioctl . Я хочу избежать...
1156 просмотров
schedule 22.01.2023

Можно ли использовать getauxval с LD_PRELOAD?
У меня есть файл C внутри, в котором есть две очень маленькие подпрограммы, которые переопределяют getauxval, unsigned long int __wrap_getauxval (unsigned long int __type) { printf("foobar"); exit(5); } unsigned long int getauxval (unsigned...
152 просмотров
schedule 10.06.2024

Как использовать хук для захвата cudaSetDevice и изменения идентификатора устройства?
Я хочу перехватить cudaSetDevice с помощью хука (LD_PRELOAD) и изменить идентификатор устройства. После успешного угона отправка задачи GPU будет неправильной. Я попытался перехватить функцию cuCtxCreate в API-интерфейсе драйвера, но не смог. Тот...
137 просмотров
schedule 19.05.2023

LD_PRELOAD malloc для shm_open
Я пытаюсь перехватить malloc вызов, используя LD_PRELOAD . Я хочу переместить все выделение памяти в разделяемую память, изменив malloc на shm_open , а затем mmap . Как мне это сделать? LD_PRELOAD из malloc работает нормально. Я могу...
118 просмотров

Загадочные утечки памяти в инструменте отслеживания блокировок на основе предварительного загрузчика
Я работаю над инструментом отслеживания блокировок, предназначенным для подключения к приложениям на основе Pthreads с помощью LD_PRELOAD, и столкнулся со странной проблемой. Когда тестовое приложение запускается под управлением valgrind с...
40 просмотров
schedule 13.02.2023

Как применить LD_PRELOAD только к целевой программе?
Я пытаюсь отладить повреждение кучи (используя отладчик QIRA); это работает только с Malloc Дуга Ли. Я попытался сделать следующее: LD_PRELOAD=./malloc.so qira ./program $(cat shfree5) Я получаю следующую ошибку: ОШИБКА: ld.so: объект...
60 просмотров
schedule 29.09.2022