Задать вопрос
ASTREL
@ASTREL

Вставка своего кода в Linux ELF файл (или как добавить новую секцию или расширить существующую)?

Есть уже скомпилированная программа под Linux ELF формата, необходимо в неком месте сделать переход на мой ассемблерный код, выполнить его и возвратиться обратно (инжект). Проблема в том, что в файле нету неиспользуемых мест, где можно было бы перезаписать на мой код. Вопрос стоит в том, как расширить существующую секцию или создать новую чтобы выделить место под мой код?
В Windows для PE файлов я делал это в пару кликов с помощью LordPE, просто выбирал "Sections -> Add", выбирал размер и параметры, и вуаля, новое место для моего кода готово. Но для ELF такого не нашел.
  • Вопрос задан
  • 3252 просмотра
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    DevOps для эксплуатации и разработки
    7 месяцев
    Далее
  • Яндекс Практикум
    Go-разработчик с нуля
    8 месяцев
    Далее
  • Яндекс Практикум
    Фулстек-разработчик
    16 месяцев
    Далее
Решения вопроса 1
ASTREL
@ASTREL Автор вопроса
Все оказалось довольно просто, вот и решение: objcopy myprog myprog_new --add-section my_sect=sectionfile
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы