#!/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")