Типичный способ сделать это - установить переменную окружения LD_PRELOAD
перед запуском программы. См. Например, tsocks. Обратите внимание, что некоторые программы отключат это из-за соображений безопасности (он может отслеживать пароли и т. Д.), Например. gnupg предотвращает работу LD_PRELOAD
.
Если вы хотите впрыснуть в запущенную программу, это намного сложнее. Это можно сделать с помощью ptrace
(например, подключить с помощью gdb и вызвать dlopen). Но это ненадежно, потому что вы не знаете, в каком состоянии находится программа, когда вы подключаетесь.
Вы ищете 'export LD_PRELOAD = your_so' или что-то совсем другое? –
@skwllsp: Я думаю, что PO спрашивает о введении в существующий процесс. Kracken, чтобы изменить вывод в сокет, вы можете использовать библиотеку PCap –
Для инъекций во время выполнения проверьте PIN-код Intel. Это структура DBI, которая скрывает детали архитектуры. Помимо этого вы могли видеть Вальгринда. – gon1332