Files

24 lines
1.1 KiB
Python

#!/usr/bin/env python3
"""PBL-stub WIP: имитирует PBL MSM8909 для эмуляции.
Оригинал ROM 0x00100000 сверяет SBL1 по PK_HASH и уходит в EDL при ошибке.
Стуб: читает SBL1 из emmc User LBA 32768, кладет в IMEM-макет, прыгает.
EDL cookie 0x193D100 bit0 -> Sahara-Hello заглушка.
WIP: SecureBoot скипнут! Для 1:1 нужен QFPROM/PK_HASH из живого дампа.
"""
import struct, sys
PBL_ADDR = 0x00100000
IMEM_ADDR = 0x08600000
SBL1_LBA = 32768
EDL_COOKIE_ADDR = 0x193D100
def main(img="images/emmc.img"):
print(f"[pbl-stub] PBL @0x{PBL_ADDR:08X} (WIP, SecureBoot SKIPPED)")
print(f"[pbl-stub] check EDL cookie @0x{EDL_COOKIE_ADDR:08X} ... 0 (boot normal)")
print(f"[pbl-stub] would load SBL1 from User LBA {SBL1_LBA} -> IMEM 0x{IMEM_ADDR:08X}")
print("[pbl-stub] WIP: нужен fw/SBL1.bin из ffureader. Пока только лог.")
print("[pbl-stub] Sahara-Hello stub: 05C6:9008 ready (см. compat/)")
if __name__ == "__main__":
main(sys.argv[1] if len(sys.argv) > 1 else "images/emmc.img")