Вопросы по теме '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 просмотров
schedule
28.03.2023
Как использовать 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 просмотров
schedule
06.08.2022
Загадочные утечки памяти в инструменте отслеживания блокировок на основе предварительного загрузчика
Я работаю над инструментом отслеживания блокировок, предназначенным для подключения к приложениям на основе 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