Сейчас на форуме: asfa (+6 невидимых)

 eXeL@B —› Вопросы новичков —› x64 релоки
Посл.ответ Сообщение

Ранг: 6.0 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 09 декабря 2013 17:58
· Личное сообщение · #1

При компиляции в Visual Studio экзешников x86, все связи помечается релоками. Т.е. связи между кодосекцией и секцией данных базируются на жестко прописанных VA(VirtualAddress), однако если компилить х64, то связь между секциями выстраивается через смещения, например mov qword ptr [rax + C87F], rdx и получается что релоки вообще не ссылаются на кодосекцию. С чем это связанно? И можно ли это контролировать на этапе компиляции.



Ранг: 512.7 (!), 360thx
Активность: 0.270.03
Статус: Модератор

Создано: 09 декабря 2013 18:38
· Личное сообщение · #2

JKornev

/DYNAMICBASE ?




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 09 декабря 2013 19:44
· Личное сообщение · #3

Что значит, с чем-это связано? С RIP-относительной адресацией в х64. И зачем это контролировать, если оно и так работает?



Ранг: 6.0 (гость), 2thx
Активность: 0.010
Статус: Участник

Создано: 09 декабря 2013 20:10
· Личное сообщение · #4

Ага понял, в х64 используется другая модель адресации, теперь всё встало на свои места, сенк




Ранг: 2014.5 (!!!!), 1278thx
Активность: 1.340.25
Статус: Модератор
retired

Создано: 09 декабря 2013 22:12
· Личное сообщение · #5

Видимо, можно закрыть тогда.


 eXeL@B —› Вопросы новичков —› x64 релоки
Эта тема закрыта. Ответы больше не принимаются.
   Для печати Для печати