24 lines
1.1 KiB
Python
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")
|