Violent_Maid
Open in Telegram
846
Subscribers
No data24 hours
No data7 days
No data30 days
Posts Archive
846
Занят тут кое-какими слегка интересными вещами: смотрел, как и где винда хранит рантаймовые сервисы для рантаймовых драйверов.
Опытным путём была выявлена структура
HAL_EFI_RUNTIME_SERVICES_BLOCK, которая, собственно, и формирует структуру с поинтерами на рантаймовые сервисы. Как можно догадаться — это далеко не полный список сервисов, так как некоторые не имеет смысла хранить, либо же не имеет смысла вызывать вовсе (SetVirtualAddressMap, например). Последнее, поле, предполагаю, относится к размеру блока, либо же к их количеству (хз, нужно больше смотреть, на физической машине, вероятно, будет другое значение). Также, судя по всему (да так и есть, если исходить из логических заключений), поинтеры на рантаймовые сервисы формируют ещё одну структуру (один из сервисов судя по всему не существует, земля ему пухом).
Занимательно, что за этой же структурой находится одна точно такая же, которая носит название HAL_IUM_EFI_WRAPPER_TABLE, что, судя из названия, предназначена для использования с включенным DeviceGuard. В себе она уже содержит поинтеры на функции с именами HalpIum* (например, HalpIumGetTime (рантаймовый сервис GetTime)).
Технически, получив данную(-ые) структуру(-ы) мы вполне можем определеить, какие сервисы используются теми или иными рантаймовыми драйверами. Также, в принципе, зная эту информацию, мы можем вполне себе дампить рантаймовые драйвера.
Рассказал что-то возможно интересное, пора пропадать ещё на N-ное количество месяцев, my pancakes. 😏
P.S: только как дописал пост, заметил, что последнее поле имеет адрес самой структуры. Это постирония, ебать.846
Каковы ваши эмоции, когда вы неожиданно узнаёте, что всё это время ревёрсили опенсурс? Лично у меня — неописуемые (можете представить, что здесь шрифт залго)
Рейму-Мадотсуки вам в ленту
846
Преступно мало материала по теме терморегулированию, но что есть, то есть
https://uefi.org/specs/ACPI/6.5/03_ACPI_Concepts.html#thermal-management-concepts
https://learn.microsoft.com/en-us/windows-hardware/design/device-experiences/design-guide
846
"Intel ® UEFI Development Kit Debugger Tool (version 1.5) Configuration and Setup Guide"
846
Заметочки уровня /b/
Если вы частенько работаете с вендовым бутлоадером, то вам известно, что он работает в собственном контексте исполнения, который убивает ефишные системные сервисы, следовательно мы не можем выводить какую-либо инфу себе на экран. Так вот, если есть необходимость выводить что-то на экран, то можете искать адрес
BlpArchSwitchContext (не экспортируемая изначально) и таким образом "переходить" между контекстами исполнения846
Ковыряю для вас сейчас SMM драйвер и пишу потихонечку текст.
А ещё админ стал девочкой с каре, буквально
846
Нам очень лень над этим работать)))
/w @colby5engineering
https://github.com/colby57/Avast-Reverse-Engineering
