Size: a a a

Ассемблер

2021 April 17

С

Скрыто in Ассемблер
Всех приветствую. Где можно почитать про fs и gs в Windows? Я читал статьи, например там чтобы получить PEB в eax делают  так
mov eax, [fs:0x30] 
Где они берут смещение и почему именно в fs содержится PEB непонятно.
источник

D

Den in Ассемблер
какой зазор ты имеешь ввиду, там прямо с нуля и до 128 устройства прописаны
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
источник

A

Aiwan ╭∩╮ (òÓ,) ╭∩╮b... in Ассемблер
источник

d

disba1ancer in Ассемблер
просто дескриптор сегмента, селектор которого находится в fs/gs, указывает на начало этих таблиц, их задаёт сама ОС, а смещение, не могу точно сказать, либо где-то в документации есть описание структуры, либо это выяснили путём реверса
источник

С

Скрыто in Ассемблер
Было бы неплохо почитать что в этом сегменте хранится ещё помимо PEB
источник

d

disba1ancer in Ассемблер
сразу видно не читал тритий том шинтеловской документации
источник

d

disba1ancer in Ассемблер
оно всё хранится в памяти твоего процесса
источник

d

disba1ancer in Ассемблер
просто сегмент хранит смещение самой таблицы в адресном пространстве самого процесса, что позволяет довольно легко обращаться к этим данным из любого места в программе
источник

ST

Saenro T in Ассемблер
Да? Очень часто пользуюсь 16-м, ну там видеорежим переключить... Не знал что нельзя.
источник

d

disba1ancer in Ассемблер
пока не перешёл в протмод ещё допустимо, а потом лучше двигать, в том числе и вектора аппаратных прерываний
источник

d

disba1ancer in Ассемблер
первые 8 irq как раз среди первых 32 векторов размещены после загрузки биоса
источник

С

Скрыто in Ассемблер
да, скорее всего peb искали реверс-инжинирингом
источник

D

Den in Ассемблер
не читал, ну вот к примеру тут 0000:046C тикает таймер, это конечно за пределами таблицы прерываний но по логике один из этих 32 векторов должен указывать на этот адрес наверное
источник

d

disba1ancer in Ассемблер
почему должен, там просто тики таймера лежат, как я понял
источник

d

disba1ancer in Ассемблер
а вектора прерываний указывают на исполняемый код
источник

d

disba1ancer in Ассемблер
а то какой вектор дёргать при возникновении аппаратного прерывания определяет PIC/APIC
источник

D

Den in Ассемблер
ну да, я просто предположил что может ссылка быть, на этот таймер не разбираюсь в досе честно говоря
источник

d

disba1ancer in Ассемблер
так это даже не дос ещё
источник

d

disba1ancer in Ассемблер
по большей части это всё и без доса есть
источник