xaker

Релокации. Разбираемся, как Linux-программа находит функцию во время выполнения

  • четверг, 9 июля 2026 г. в 00:00:18
https://xakep.ru/2026/07/08/linux-relocation/
Для подписчиков
Когда программа в Linux вызывает `printf`, `sleep` или любую другую функцию из динамической библиотеки, ее реальный адрес заранее неизвестен из-за ASLR. Тем не менее вызов каким-то образом срабатывает. В этой статье мы шаг за шагом разберем, как работают механизмы PLT, GOT и релокации, проследим процесс разрешения адресов с помощью `objdump`, `readelf` и GDB, а также увидим вживую, что происходит при первом и последующих вызовах библиотечной функции.