Size: a a a

pro.osdev — ясельная группа

2021 February 17

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
этот способ очень хорош тем, что он не испульзует регистры спец-назначения. такие как $cr0
источник

BD

Berkus Decker in pro.osdev — ясельная группа
И вдруг начался линукс, а где вопрос про интель то
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
я не закончил, погоди))
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
так вот
источник

Constantine ʕ◔ϖ◔ʔ🦀... in pro.osdev — ясельная группа
Пиши всё в одном сообщении пожалуйста.
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
Котеечко Пухнастиньке
этот способ очень хорош тем, что он не испульзует регистры спец-назначения. такие как $cr0
а в разнообразных системах виртуализаций они все хендлятся по разному, и шаблонный mov $cr0, rax выдает кое-где краши или же выдает краши потом, когда дело доходит до перезаписи.

Где-то три дня назад я встетил oracle unbreakable kernel.

Дело в том, что не 1 из известных мне способов не срабатывает на нем для перезаписи памяти ядра, если нету в налиичии $cr0

как только я пытаюсь прочитать или записать память, которую мне возвращает условный оверлап-маппинг - я ловлю Oops
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
вопрос по интелу:

Каким образом из ядерного контекста можно рулить свойствами виртуального маппига, но хардварно?
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
да и вообще, с помощью чего можно как-либо повлиять на привелегии памяти? что если просто найти таблицу PTE в памяти где-то, выставить там биты на запись и все?
источник

BD

Berkus Decker in pro.osdev — ясельная группа
Котеечко Пухнастиньке
да и вообще, с помощью чего можно как-либо повлиять на привелегии памяти? что если просто найти таблицу PTE в памяти где-то, выставить там биты на запись и все?
Ну если ты в нее можешь писать - то пиши. Разрешение на запись выдается через таблицы страниц.
источник

BD

Berkus Decker in pro.osdev — ясельная группа
Под виртуализацией конечно гипервизор может тебе запретить делать что угодно, так что это не гарантирует что в pte хоть какие то биты по итогу поменяются.
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
а как бы вы это сделали, если бы у вас стояла такая задача? найти таблицы pte в ппамяти
источник

BD

Berkus Decker in pro.osdev — ясельная группа
ну если я едро - я просто читаю указатель на активные таблицы или ставлю  его, вот и готово, зачем мне что-то искать
источник

TS

Timur Safin in pro.osdev — ясельная группа
Котеечко Пухнастиньке
а как бы вы это сделали, если бы у вас стояла такая задача? найти таблицы pte в ппамяти
очень странное вы хотите - то что обычно делает сам процессор ну или гипервизор.
Так-то я бы начал с cr3 ну и пошло поехало :)
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
Berkus Decker
ну если я едро - я просто читаю указатель на активные таблицы или ставлю  его, вот и готово, зачем мне что-то искать
ну не совсем. едрышко не рулит тем, чем рулит protected mode
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
случаянно зацепил стикер сори
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
Timur Safin
очень странное вы хотите - то что обычно делает сам процессор ну или гипервизор.
Так-то я бы начал с cr3 ну и пошло поехало :)
верно. а что делать, если это xen?
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
xen не дает гостевой ос юзать $cr*
источник

BV

Boris Vinogradov in pro.osdev — ясельная группа
Котеечко Пухнастиньке
xen не дает гостевой ос юзать $cr*
Потому что это не реализовано, логично
источник

КП

Котеечко Пухнастиньк... in pro.osdev — ясельная группа
Boris Vinogradov
Потому что это не реализовано, логично
Вы имеете ввиду, что раз там нету таких регистров - то и нету защиты памяти?
источник