.plt
: в сегменте RE, иметь батут, работающий на plt[n]
, кроме 0, иметь ссылку резольвера .got.plt на plt[0]
.got
.got.plt
: в сегменте RW, просто адрес
Что я узнал из этого поста: https://eli.thegreenplace.net/2011/11/03/position-independent-code-pic-in-shared-libraries/
Проблема
Фактическая команда оболочки Linux дала мне другой ответ
$readelf -l /bin/bash
got.plt ушел и что такое .plt.got в сегменте 02?
Я сбросил две секции (plt, plt.got) и получилЭта сборка
.plt, как я узнал, является plt:
.plt.got, для чего это нужно?
извините за плохой дамп, это сделали
objcopy -O binary --only-section=.plt.got /bin/bash ./pltgot
objcopy -O binary --only-section=.plt /bin/bash ./plt
Вопросы
- в чем разница между .plt и .plt.got
- почему произошла такая разница?