@humanabout

Как работает ZwMapViewOfSection?

Привет, я junior malware research
Несколько раз я реализовывал разные функции чтения физ памяти и privilages escalation
но главное что не дает мне покоя как именно реализован переход в protected bios mode ипочему чтение возможно лишь через mmapiospace/mmapviewofsection/отладочною плату
к примеру софт для прошивки биоса на зеоны 2697v3 пишет в первые адреса озу для перепрошивки биоса, разумеется особенность некоторых материнок, но как именно доступ к физ памяти реализован в ядре виндовс, можно ли попросить какие либо книги об этом
  • Вопрос задан
  • 82 просмотра
Пригласить эксперта
Ответы на вопрос 1
15432
@15432
Системный программист ^_^
Почитайте про устройство Memory Management Unit (MMU), таблицы трансляции виртуальной памяти x86, TLB и так далее.

В стандартном режиме процессор оперирует виртуальными адресами, которые не соответствуют физическим ячейкам оперативной памяти. Это удобно с точки зрения программирования и безопасности - в разных программах можно использовать те же адреса, а также не пускать программы в "чужие" области памяти.

mmapiospace / mmapviewofsection как раз настраивает таблицу трансляции памяти для текущего процесса нужным образом, чтобы вы могли получить доступ к памяти, которую вы хотите.

А софт для прошивки биоса пишет в аппаратные регистры SPI контроллера на шине PCI Express, не в память. И это не особенность материнки, а скорее интерфейс к оборудованию. Похожим образом через чтение/запись работает большинство драйверов устройств
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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