Внесение изменений в таблицы импорта и экспорта .so файла (shared library)
От: hypeartist  
Дата: 03.09.13 10:26
Оценка:
День добрый.

Проблема в следующем — имеется скомпиленная библиотека с несколькими нужными мне экпортируемыми функциями. Необходимо их дергать из из другой библиотеки (которую пишу я). Я, как человек новый в сфере linux-программирования, погуглил и выяснил, что делается это путем использования функций dlopen и dlsym. Все бы ничего, но тут возникла другая проблема — библиотека, из которой мне нужно вызывать функции, тянет за собой еще кучу других. Загружать их все не вариант абсолютно (да и функции которые их используют мне не нужны). Вот и подумалось мне — а как бы поудалять ненужные мне референсы (импорты) из этой скомпиленной библиотеки? Какие то есть инструменты для этого? (под винду или никсы — не важно) Или нужно делать большей частью руками? Но как и что?

Заранее благодарен за любую помощь.
Re: Внесение изменений в таблицы импорта и экспорта .so файла (shared library)
От: Vain Россия google.ru
Дата: 03.09.13 10:39
Оценка:
Здравствуйте, hypeartist, Вы писали:

H>Проблема в следующем — имеется скомпиленная библиотека с несколькими нужными мне экпортируемыми функциями. Необходимо их дергать из из другой библиотеки (которую пишу я). Я, как человек новый в сфере linux-программирования, погуглил и выяснил, что делается это путем использования функций dlopen и dlsym. Все бы ничего, но тут возникла другая проблема — библиотека, из которой мне нужно вызывать функции, тянет за собой еще кучу других. Загружать их все не вариант абсолютно (да и функции которые их используют мне не нужны). Вот и подумалось мне — а как бы поудалять ненужные мне референсы (импорты) из этой скомпиленной библиотеки? Какие то есть инструменты для этого? (под винду или никсы — не важно) Или нужно делать большей частью руками? Но как и что?

Есть вариант собрать эту библу со статиками? Под никсами вроде это как норма.
[In theory there is no difference between theory and practice. In
practice there is.]
[Даю очевидные ответы на риторические вопросы]
Re[2]: Внесение изменений в таблицы импорта и экспорта .so файла (shared library
От: hypeartist  
Дата: 03.09.13 11:49
Оценка:
Здравствуйте, Vain, Вы писали:

V>Есть вариант собрать эту библу со статиками? Под никсами вроде это как норма.


Проблема в том, что исходников библиотеки нет. Есть только инфа о сигнатуре вызова нужных мне в ней функций.
Re: Внесение изменений в таблицы импорта и экспорта .so файла (shared library)
От: ДимДимыч Украина http://klug.org.ua
Дата: 05.09.13 21:08
Оценка:
Здравствуйте, hypeartist, Вы писали:

H>Проблема в следующем — имеется скомпиленная библиотека с несколькими нужными мне экпортируемыми функциями. Необходимо их дергать из из другой библиотеки (которую пишу я).


RTLD_LAZY в dlopen() ?
Обязательно бахнем! И не раз. Весь мир в труху! Но потом. (ДМБ)
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.