Форум программистов «Весельчак У»
  *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

  • Рекомендуем проверить настройки временной зоны в вашем профиле (страница "Внешний вид форума", пункт "Часовой пояс:").
  • У нас больше нет рассылок. Если вам приходят письма от наших бывших рассылок mail.ru и subscribe.ru, то знайте, что это не мы рассылаем.
   Начало  
Наши сайты
Помощь Поиск Календарь Почта Войти Регистрация  
 
Страниц: [1]   Вниз
  Печать  
Автор Тема: Управление elf файлом  (Прочитано 5888 раз)
0 Пользователей и 1 Гость смотрят эту тему.
WinVictors
Новенький

ru
Offline Offline

« : 03-12-2016 20:39 » 

Доброго времени суток.

у меня имеется elf файл, в котором вызывается библиотечная функция int f_all ();
и собственная функция int f_all_main ();

подскажите, а возможно поправить вызов функции f_all  так чтобы вызывалась реализация f_all_main ()?
Код: (Bash)
readelf -r main.elf

Раздел перемещения '.rela.dyn' со смещением 0x428 содержит 1 пунктов:
  Смещение        Инфо           Тип            Знач.симв.    Имя симв. + Addend
000000600ff8  000300000006 R_X86_64_GLOB_DAT 0000000000000000 __gmon_start__ + 0

Раздел перемещения '.rela.plt' со смещением 0x440 содержит 3 пунктов:
  Смещение        Инфо           Тип            Знач.симв.    Имя симв. + Addend
000000601018  000100000007 R_X86_64_JUMP_SLO 0000000000000000 printf@GLIBC_2.2.5 + 0
000000601020  000200000007 R_X86_64_JUMP_SLO 0000000000000000 __libc_start_main@GLIBC_2.2.5 + 0
000000601028  000400000007 R_X86_64_JUMP_SLO 0000000000000000 f_all + 0
тогда я могу не использовать библиотеку. И при вызове в программе f_all или f_all_main будет
выполняться один и тот же код.
т.е можно что то поправить в main.elf файле так что бы он использовал только сам себя.

* fn.tar (30 Кб - загружено 728 раз.)
Записан
RXL
Технический
Администратор

ru
Offline Offline
Пол: Мужской

WWW
« Ответ #1 : 03-12-2016 23:13 » new

А перекомпиляция не возможна?

Схожие темы появлялись недавно:
https://forum.shelek.ru/index.php/topic,30629.0.html
https://forum.shelek.ru/index.php/topic,30649.0.html
https://forum.shelek.ru/index.php/topic,30664.0.html

Файл поправить — сомневаюсь. Ведь твой f_all находится в списке импорта и нуждается во внешнем разрешении.
Кстати, f_all_main экспортируется?
« Последнее редактирование: 03-12-2016 23:16 от RXL » Записан

... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
Страниц: [1]   Вверх
  Печать  
 

Powered by SMF 1.1.21 | SMF © 2015, Simple Machines