Внутреннее устройство на - edk.tianocore.org. Берутся исходники EDK

Внутреннее устройство на - edk.tianocore.org. Берутся исходники EDK и внимательно курятся. Они на С.
Далее дело техники... Функция инициализации у всех U/EFI модулей DXE выглядит так:


EFI_STATUS DriverEntry (EFI_HANDLE ImageHandle, EFI_SYSTEM_TABLE  *SystemTable);

Указатель yна структуру SystemTable сохраняется в глобальной переменной gST. Далее из него по смещению "извлекаются" указатели на структуры EFI_BOOT_SERVICES и EFI_RUNTIME_SERVICES, которые сохраняются в глобальных переменных gBS и gRS. По смещениям через эти указатели производитсяя косвенный вызов всех стандартных (API) функций EFI. Далее по GUID-ам вылавливаются стандартные протоколы, а по протоколам восстанавливай структуры.

Некоторые вопросы по реверсингу security-related фич