Я отлаживаю php.Когда я смотрю на место в памяти, где я знаю, что указатель на адрес находится, я вижу указатель - например, 22810408 (0x08048122) - это при использовании CLI-версии php.
ОДНАКО, когда я 'Я использую apache2 и пытаюсь сделать то же самое, но не вижу указателя на реальный адрес.Вместо этого я вижу смещение от заголовка ELF, которое при добавлении к адресу заголовка ELF дает мне «реальный» адрес.Например, если «реальный» адрес был 0x08048122, а заголовок ELF был 0x08048000, то я бы увидел 22010000 (0x122) в этой же позиции.
Проблема возникает, когда я пытаюсь выяснить «реальный»"адрес чего-то, что находится в стеке.Предполагается, что «реальный» адрес равен 0xbfccxxxx, но при добавлении числа, которое я нахожу в заголовок ELF, все просто не складывается!Я получаю все неправильные адреса.
Я уже давно пробовал гуглить, но я действительно не уверен, как правильно это сказать или что искать.
Итак,По сути, мне нужно больше информации о том, ПОЧЕМУ Apache имеет смещение вместо реального адреса памяти, и как все это относится к адресам в стеке.Может ли кто-нибудь дать мне какие-либо указания на материал, который мог бы прояснить?