LINUX.ORG.RU
Можно.
anonymous
()
можно, если осторожно
dilmah ★★★★★
()
Спасибо отцы.
Как мне сделать аналог EXPORT_SYMBOL ?!
прочитать какие функции есть в таблице ?
Добавить туда свои ?
ppiitt
() автор топика
Ответ на: комментарий от ppiitt
Указатель, возвращаемый dlopen - это указатель на структуру link_map.

Вот так она примерно выглядит:

struct link_map = {
Elf32_Addr l_addr;
char *l_name;
Elf32_Dyn l_ld;
link_map *l_next;
link_map *l_prev;
};

Надо пройтись по l_ld и найти элемент с l_ld->tag == DT_HASH (хэш-таблица). Из этой таблицы взять 2-й элемент - это и есть указатель на symbol table.

Все подробности - в мануале по формату ELF (Executable and Linkable Format).


jek_
()
Ответ на: комментарий от ppiitt
хм... а я почему-то считал, что /proc/pid/mem :) ошибся...
wtfbbq
()
Ответ на: комментарий от ppiitt
>Могу я редактировать таблицу запущенного процесса из него же?

Можете :) Только за последствия никто не отвечает.

BWT, для редактирования как минимум потребуется сделать mprotect(PROT_WRITE) этой памяти.
jek_
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.