Мне нужно отладить приложение, написанное на C, которое читает и записывает в регистр сегментов FS. Чтобы отладить это приложение, мне нужно увидеть адрес памяти, на который указывает FS.Отладка с регистром сегментов FS
Приложение использует такой код:
mov rdx, fs:[rcx]
mov fs:[rcx], rsi
Как получить линейный виртуальный адрес чтения/записи из/в регистры сегмента? Я могу скомпилировать это приложение для Linux или Winodws.
Windows использует FS для переменных «за поток», и несколько раз, когда я смотрел на код сборки, он преобразовывал FS: [...] в обычный виртуальный адрес. Текущее семя для rand() является одной из переменных «на поток», на что я смотрел. – rcgldr
Связанные: http://stackoverflow.com/questions/6611346/how-are-the-fs-gs-registers-used-in-linux-amd64 –