Tsar Опубликовано 10 января, 2011 Жалоба Поделиться Опубликовано 10 января, 2011 Здравствуйте, подскажите пожалуйста каким образом можно подключить свою библиотеку в уже скомпилированное statically-linked приложение, либо внедрить ее в уже запущенный экземпляр этого приложения? Заранее спасибо. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Sleeping Daemon Опубликовано 10 января, 2011 Жалоба Поделиться Опубликовано 10 января, 2011 Tsar писал(а) Mon, 10 January 2011 14:24 Здравствуйте, подскажите пожалуйста каким образом можно подключить свою библиотеку в уже скомпилированное statically-linked приложение, либо внедрить ее в уже запущенный экземпляр этого приложения? Заранее спасибо. В общем - для статики никак. Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Tsar Опубликовано 10 января, 2011 Автор Жалоба Поделиться Опубликовано 10 января, 2011 Но может быть, есть какой-то способ внедрить библиотеку в уже запущенный экземпляр приложения, используя механизм ptrace, например, вызвав внутреннюю функцию _libc_dlopen_mode, которая входит в состав libc и уже находится в приложении. На самом деле были попытки организовать такой вызов, но функция при любых параметрах возвращает ошибку с текстом "cannot open shared object file". Но, может, все же есть какие-то шансы. Еще есть идея изменить программу, переписав весь машинный код в заранее подготовленную dynamically-linked программу. А уже потом подгружать библиотеку с помощью стандартных средств типа переменной окружения LD_PRELOAD. Может быть, это окажется реальным? Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
gogi Опубликовано 10 января, 2011 Жалоба Поделиться Опубликовано 10 января, 2011 Трудно понять, чего вы добиваетесь. У вас нет исходников и при этом вы хотите изменить функционал бинарной программы подменой библиотеки? Если так, то очень оригинально, и Вам написали, что при статической сборке это вряд ли возможно. Разве что вызовы ядра будете подменять? ))) Цитата Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.