169 похожих чатов

Всм привет. Вопрос - нужно ли сейчас работать с сегментными

регистрами, или они просто существуют и для разработчиков уже бесполезны? (Речь про x64)

7 ответов

21 просмотр

обработка исключений - gs, в режиме совместимости х32 - fs. и вообще все поля в структурах TEB и PEB должны быть адресованы посредством сегментных регистров, чтоб эти адреса не стали релоцируемы и соотьветственно неправильными.

На х64 не нужно

The Bird of Hermes
На х64 не нужно

Кстати, а как там без селекторов типа fs адресуется tls?

Mixail Frolov
Кстати, а как там без селекторов типа fs адресуетс...

я об этом написал - никак. TEB & PEB как и все их поля доступны через регистр gs. Но можно сделать вид, что gs не используется скрыв его использование в дебрях винапи. в коде приложения сегментного регистра таким образом не будет. Но это не значит что его нельзя использовать, и получить доступ к этим структурам сразу, а не через винапи.

ProMiNick
я об этом написал - никак. TEB & PEB как и все их ...

Без регистров нельзя, но без селекторов сегментного префикса всё ещё можно. Как раз недавно КТ315 вспоминал rdgsbase.

s54820
Без регистров нельзя, но без селекторов сегментног...

по умолчанию фасм в х64 делает RIP-адресацию, а поля в структурах PEB, TEB должны быть с абсолютной адресацией, их нельзя адресовать относительно RIP, соответственно приходится использовать префиксы.

ProMiNick
по умолчанию фасм в х64 делает RIP-адресацию, а по...

Ничего не понял. После rdgsbase у нас адерсация вида reg+offset, у неё нету рип.

Похожие вопросы

Обсуждают сегодня

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта