PSPReverse / PSPTool

Display, extract, and manipulate PSP firmware inside UEFI images
GNU General Public License v3.0
612 stars 61 forks source link

7840u parse error #60

Closed bm16ton closed 1 month ago

bm16ton commented 2 months ago

Hello, gpd win4 firmware ver .58 fails to parse, with output

python3 -m psptool ../ARP27058.rom Warning: Couldn't parse entry at: 0xc3000. Type: 0x48. Size 0x100 Warning: Couldn't parse entry at: 0xc4000. Type: 0x4a. Size 0x100 Warning: Couldn't parse entry at: 0xc3800. Type: 0x48. Size 0x100 Warning: Couldn't parse entry at: 0xc4800. Type: 0x4a. Size 0x100 Traceback (most recent call last): File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main return _run_code(code, main_globals, None, File "/usr/lib/python3.10/runpy.py", line 86, in _run_code exec(code, run_globals) File "/ssd1/bios/PSPTool/psptool/main.py", line 225, in main() File "/ssd1/bios/PSPTool/psptool/main.py", line 105, in main psp = PSPTool.from_file(args.file, verbose=args.verbose) File "/ssd1/bios/PSPTool/psptool/psptool.py", line 33, in from_file pt = PSPTool(file_bytes, verbose=verbose) File "/ssd1/bios/PSPTool/psptool/psptool.py", line 41, in init self.blob = Blob(rom_bytes, len(rom_bytes), self) File "/ssd1/bios/PSPTool/psptool/blob.py", line 68, in init potential_rom = Rom(self, rom_size, rom_offset, fet_offset, psptool) File "/ssd1/bios/PSPTool/psptool/rom.py", line 20, in init self.fet = Fet(self, fet_offset, psptool) File "/ssd1/bios/PSPTool/psptool/fet.py", line 45, in init self._parse_entry_table() File "/ssd1/bios/PSPTool/psptool/fet.py", line 121, in _parse_entry_table self._create_directory(rom_addr, dir_magic, zen_generation='unknown') File "/ssd1/bios/PSPTool/psptool/fet.py", line 92, in _create_directory secondary_dir = Directory(self.rom, secondary_directory_address, 'secondary', self.psptool, zen_generation) File "/ssd1/bios/PSPTool/psptool/directory.py", line 76, in init self._parse_entries() File "/ssd1/bios/PSPTool/psptool/directory.py", line 140, in _parse_entries entry_fields['offset'] &= self.rom.addr_mask KeyError: 'offset'

I looked at the other issues that where seemingly similar, and had small patches to fix. I simply cannot understand python (plus not extremely knowledgeable in this area anyway ). Any help would be greatly apreciated. The bios image used is here if needed, https://github.com/bm16ton/gpd-win4-bios/tree/master . Thank you for your time.

cwerling commented 1 month ago

I'm currently working on Zen 4/5 support and the current state of the branch is able to parse a lot. Feel free to try it out. There is definitely some more work needed to make replacements work etc.:

+-----+------+-----------+---------+---------------+
| ROM | Addr |    Size   |   FET   |     AGESA     |
+-----+------+-----------+---------+---------------+
|  0  | 0x0  | 0x2000000 | 0x20000 | AGESA_UNKNOWN |
+-----+------+-----------+---------+---------------+
+--+-----------+---------+------------+-------+---------------------+
|  | Directory |   Addr  | Generation | Magic | Secondary Directory |
+--+-----------+---------+------------+-------+---------------------+
|  |     0     | 0xc1000 |    None    |  $PSP |                     |
+--+-----------+---------+------------+-------+---------------------+
+--+---+-------+---------+------+------+----------+--------------+-----------+
|  |   | Entry | Address | Size | Type | Magic/ID | File Version | File Info |
+--+---+-------+---------+------+------+----------+--------------+-----------+
|  |   |     0 | 0xc3000 |  0x0 | 0x48 |          |              |           |
|  |   |     1 | 0xc4000 |  0x0 | 0x4a |          |              |           |
|  |   |     2 | 0xc3800 |  0x0 | 0x48 |          |              |           |
|  |   |     3 | 0xc4800 |  0x0 | 0x4a |          |              |           |
+--+---+-------+---------+------+------+----------+--------------+-----------+

+--+-----------+---------+------------+-------+---------------------+
|  | Directory |   Addr  | Generation | Magic | Secondary Directory |
+--+-----------+---------+------------+-------+---------------------+
|  |     1     | 0xc5000 |    None    |  $PL2 |       0x4c4000      |
+--+-----------+---------+------------+-------+---------------------+
Warning: Could not verify sha256 checksum for HeaderFile(type=0x5d, address=0x279e00, size=0x12000, len(references)=1)
+--+---+-------+----------+---------+-----------------------------+----------+--------------+------------------------------------------+
|  |   | Entry |  Address |    Size |                        Type | Magic/ID | File Version |                                File Info |
+--+---+-------+----------+---------+-----------------------------+----------+--------------+------------------------------------------+
|  |   |     0 |  0xc5800 |   0x440 |          AMD_PUBLIC_KEY~0x0 |     EA7B |            1 |                            AMD_CODE_SIGN |
|  |   |     1 |  0xc5d00 |  0x1bc0 |      PSP_FW_BOOT_LOADER~0x1 |     $PS1 |    0.2D.0.7B |                verified(EA7B), sha256_ok |
|  |   |     2 |  0xc7900 | 0x13800 |     PSP_FW_BOOT_LOADER~0x73 |     $PS1 |    0.2D.0.7B |                verified(8E0A), sha256_ok |
|  |   |     3 |  0xdb100 | 0x193a0 |       PSP_FW_TRUSTED_OS~0x2 |     $PS1 |    0.2D.0.7B |                verified(DD12), sha256_ok |
|  |   |     4 |  0xf4500 | 0x1cd60 |          SMU_OFFCHIP_FW~0x8 |     $PS1 |    0.4C.53.0 | compressed, veri-failed(D63D), sha256_ok |
|  |   |     5 | 0x111300 |   0x440 |      SEC_DBG_PUBLIC_KEY~0x9 |     9FC5 |            1 |     verified(EA7B), unknown_key_usage(3) |
|  |   |     6 |   0xc141 |     0x0 |      SOFT_FUSE_CHAIN_01~0xb |          |              |                                          |
|  |   |     7 | 0x111800 | 0x22100 | PSP_BOOT_TIME_TRUSTLETS~0xc |     $PS1 |      6.A.0.7 |                verified(CE84), sha256_ok |
|  |   |     8 | 0x133900 | 0x13810 |      SMU_OFF_CHIP_FW_2~0x12 |     $PS1 |    0.4C.53.0 | compressed, veri-failed(D63D), sha256_ok |
|  |   |     9 | 0x147200 |  0x2300 |           DEBUG_UNLOCK~0x13 |     $PS1 |    0.2D.0.7B |                verified(7BC7), sha256_ok |
|  |   |    10 | 0x149500 |  0x3100 |                        0x1b |     $PS1 |    0.2D.0.7B |                verified(CE84), sha256_ok |
|  |   |    11 | 0x14c600 | 0x19100 |                        0x1c |     $PS1 |    0.2D.0.7B |                verified(CE84), sha256_ok |
|  |   |    12 | 0x165700 |  0x5100 |                        0x1d |     $PS1 |    0.2D.0.7B |                verified(CE84), sha256_ok |
|  |   |    13 | 0x16a800 |  0x8100 |                        0x1f |     $PS1 |    0.2D.0.7B |                verified(8615), sha256_ok |
|  |   |    14 | 0x172900 |   0x6c0 |     HARDWARE_IP_CONFIG~0x20 |     $PS1 |      B.1.1.3 |                verified(98CC), sha256_ok |
|  |   |    15 | 0x173000 |   0x6b0 |                       0x120 |     $PS1 |      B.2.1.2 |                verified(98CC), sha256_ok |
|  |   |    16 | 0x173700 |    0x30 |           WRAPPED_IKEK~0x21 |          |              |                                          |
|  |   |    17 | 0x173900 |  0x5370 |             SEC_GASKET~0x24 |     $PS1 |    D.25.0.A7 |                verified(2496), sha256_ok |
|  |   |    18 | 0x178d00 | 0x48d60 |                 MP2_FW~0x25 |     $PS1 |     9.B.0.5E |                verified(C9C6), sha256_ok |
|  |   |    19 | 0x1c1b00 | 0x10200 |         DRIVER_ENTRIES~0x28 |     $PS1 |    0.2D.0.7B |                verified(DD12), sha256_ok |
|  |   |    20 | 0x1d1d00 |   0x2a0 |                   ABL0~0x30 |     $PS1 |  42.23.A0.52 |                verified(7B55), sha256_ok |
|  |   |    21 | 0x237c00 |  0x2780 |          VBIOS_PRELOAD~0x3c |     $PS1 |   20.12.0.20 |                verified(C14C), sha256_ok |
|  |   |    22 | 0x23a400 |  0xa200 |                        0x95 |     $PS1 |     0.2.14.2 |                verified(16C7), sha256_ok |
|  |   |    23 | 0x244600 |  0x1f00 |    TOS_SECURITY_POLICY~0x45 |     $PS1 |   D.25.40.A7 |                verified(2496), sha256_ok |
|  |   |    24 | 0x246500 |   0x220 |             FW_INVALID~0x44 |     $PS1 |     0.2.0.17 |                verified(82A5), sha256_ok |
|  |   |    25 | 0x256e00 |  0x6100 |                DRTM_TA~0x47 |     $PS1 |    4.2D.0.37 |                verified(61CE), sha256_ok |
|  |   |    26 | 0x25cf00 |  0x2680 |           KEY_DATABASE~0x50 |     $PS1 |            1 |                verified(EA7B), sha256_ok |
|  |   |    27 | 0x25f600 |  0x2480 |         TOS_PUBLIC_KEY~0x51 |     $PS1 |            1 |                verified(EA7B), sha256_ok |
|  |   |    28 | 0x261b00 |   0x720 |        BL_ROLLBACK_SPL~0x55 |     $PS1 |    5.2D.0.74 |                verified(EA7B), sha256_ok |
|  |   |    29 | 0x262300 | 0x17ab0 |          MSMU_BINARY_0~0x5a |     $PS1 |   FF.4C.67.0 | compressed, veri-failed(5E2F), sha256_ok |
|  |   |    30 | 0x279e00 | 0x12000 |                        0x5d |          |     1.3.C.B5 |      verified(DB85), sha256_inconsistent |
|  |   |    31 | 0x28be00 |   0x9a0 |                   WMOS~0x5c |     $PS1 |    0.23.6.16 |                verified(8A19), sha256_ok |
|  |   |    32 | 0x28c800 | 0x60000 |          FW_PSP_SMUSCS~0x5f |          |              |                                          |
|  |   |    33 | 0x2ec800 | 0x30310 |              DMCUB_INS~0x71 |     $PS1 |    0.0.97.62 |                verified(45B9), sha256_ok |
|  |   |    34 | 0x31cc00 |   0x210 |                        0x76 |     $PS1 |      4.0.3.1 |                verified(1F34), sha256_ok |
|  |   |    35 | 0x31e300 |   0x210 |                       0x176 |     $PS1 |      A.0.0.2 |                verified(1F34), sha256_ok |
|  |   |    36 | 0x31f700 |  0xe3c0 |                        0x90 |     $PS1 |    0.4C.53.0 | compressed, veri-failed(D63D), sha256_ok |
|  |   |    37 | 0x32db00 |  0x4400 |                        0x94 |     $PS1 |      0.6.4.1 |                verified(298B), sha256_ok |
|  |   |    38 | 0x331f00 |  0x6d80 |                        0x9a |     $PS1 |   FF.4C.67.0 | compressed, veri-failed(5E2F), sha256_ok |
|  |   |    39 | 0x338d00 |  0x6c80 |                        0x9a |     $PS1 |   FF.4C.67.0 | compressed, veri-failed(5E2F), sha256_ok |
|  |   |    40 | 0x33fa00 | 0x10200 |                        0x9b |     $PS1 |     B.1.2D.0 |                verified(6624), sha256_ok |
|  |   |    41 | 0x34fc00 | 0x10200 |                        0x9c |     $PS1 |     B.1.2D.0 |                verified(6624), sha256_ok |
|  |   |    42 | 0x35fe00 |   0xba0 |                        0xa2 |     $PS1 |   FF.4C.64.0 | compressed, veri-failed(5E2F), sha256_ok |
|  |   |    43 | 0x4c4000 |   0x400 |                        0x49 |          |              |                                          |
|  |   |    44 |  0x61000 | 0x20000 |             PSP_NV_DATA~0x4 |          |              |                                          |
|  |   |    45 |  0x81000 | 0x40000 |              PSP_NVRAM~0x54 |          |              |                                          |
+--+---+-------+----------+---------+-----------------------------+----------+--------------+------------------------------------------+

+--+-----------+----------+------------+-------+---------------------+
|  | Directory |   Addr   | Generation | Magic | Secondary Directory |
+--+-----------+----------+------------+-------+---------------------+
|  |     2     | 0x4c4000 |    None    |  $BL2 |                     |
+--+-----------+----------+------------+-------+---------------------+
+--+---+-------+-----------+----------+----------------------+----------+--------------+------------------------------------------+
|  |   | Entry |   Address |     Size |                 Type | Magic/ID | File Version |                                File Info |
+--+---+-------+-----------+----------+----------------------+----------+--------------+------------------------------------------+
|  |   |     0 |  0x4c4800 |    0x340 |  BIOS_PUBLIC_KEY~0x5 |     3FC7 |            1 |  key_missing(60BB), PLATFORM_SECURE_BOOT |
|  |   |     1 |  0x4c5000 |   0x3000 |            APCB~0x60 |          |              |                                          |
|  |   |     2 |  0x4c8000 |   0xc000 |       APCB_COPY~0x68 |          |              |                                          |
|  |   |     3 |  0x4d4000 |   0x3000 |       APCB_COPY~0x68 |          |              |                                          |
|  |   |     4 |       0x0 |      0x0 |            APOB~0x61 |          |              |                                          |
|  |   |     5 | 0x1a02000 | 0x580020 |         FW_XHCI~0x62 |          |              |                                          |
|  |   |     6 |  0x4d7000 |  0x40000 |    APOB_NV_COPY~0x63 |          |              |                                          |
|  |   |     7 |  0x517000 |   0x6170 |        PMU_CODE~0x64 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |     8 |  0x51d200 |   0x5f70 |        PMU_CODE~0x64 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |     9 |  0x523200 |   0x3110 |        PMU_CODE~0x64 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    10 |  0x526400 |   0x4940 |        PMU_CODE~0x64 |     $PS1 |     0.0.22.5 | compressed, veri-failed(C534), sha384_ok |
|  |   |    11 |  0x52ae00 |    0x9e0 |        PMU_CODE~0x64 |     $PS1 |     0.0.22.5 | compressed, veri-failed(C534), sha384_ok |
|  |   |    12 |  0x52b800 |    0x250 |        PMU_CODE~0x64 |     $PS1 |     0.0.22.5 | compressed, veri-failed(C534), sha384_ok |
|  |   |    13 |  0x52bb00 |   0x34a0 |        PMU_CODE~0x64 |     $PS1 |     0.0.FD.6 | compressed, veri-failed(C534), sha256_ok |
|  |   |    14 |  0x52f000 |    0x6d0 |        PMU_DATA~0x65 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    15 |  0x52f700 |    0x250 |        PMU_DATA~0x65 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    16 |  0x52fa00 |    0x250 |        PMU_DATA~0x65 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    17 |  0x52fd00 |   0x1260 |        PMU_DATA~0x65 |     $PS1 |     0.0.22.5 | compressed, veri-failed(C534), sha384_ok |
|  |   |    18 |  0x531000 |    0x250 |        PMU_DATA~0x65 |     $PS1 |     0.0.22.5 | compressed, veri-failed(C534), sha384_ok |
|  |   |    19 |  0x531300 |    0x250 |        PMU_DATA~0x65 |     $PS1 |     0.0.22.5 | compressed, veri-failed(C534), sha384_ok |
|  |   |    20 |  0x531600 |    0x5e0 |        PMU_DATA~0x65 |     $PS1 |     0.0.FD.6 | compressed, veri-failed(C534), sha256_ok |
|  |   |    21 |  0x531c00 |   0x6140 |        PMU_CODE~0x64 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    22 |  0x537e00 |   0x5ed0 |        PMU_CODE~0x64 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    23 |  0x53dd00 |   0x33c0 |        PMU_CODE~0x64 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    24 |  0x541100 |    0x6d0 |        PMU_DATA~0x65 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    25 |  0x541800 |    0x250 |        PMU_DATA~0x65 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    26 |  0x541b00 |    0x250 |        PMU_DATA~0x65 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    27 |  0x541e00 |   0x17c0 | MICROCODE_PATCH~0x66 |          |              |                                          |
|  |   |    28 |  0x543600 |   0x17c0 | MICROCODE_PATCH~0x66 |          |              |                                          |
|  |   |    29 |  0x544e00 |   0x17c0 | MICROCODE_PATCH~0x66 |          |              |                                          |
|  |   |    30 |  0x546600 |   0x17c0 | MICROCODE_PATCH~0x66 |          |              |                                          |
|  |   |    31 |  0x547e00 |   0x17c0 | MICROCODE_PATCH~0x66 |          |              |                                          |
|  |   |    32 |  0x549600 |   0x17c0 | MICROCODE_PATCH~0x66 |          |              |                                          |
|  |   |    33 |  0x54ae00 |    0x260 |      MP2_FW_CFG~0x6a |     $PS1 |   24.5.22.15 |                verified(C9C6), sha256_ok |
|  |   |    34 | 0x19e0000 |  0x20000 |                 0x6d |          |              |                                          |
|  |   |    35 | 0x19c0000 |  0x20000 |                 0x6d |          |              |                                          |
|  |   |    36 | 0x19b0000 |  0x10000 |                 0x6d |          |              |                                          |
+--+---+-------+-----------+----------+----------------------+----------+--------------+------------------------------------------+

+--+-----------+----------+------------+-------+---------------------+
|  | Directory |   Addr   | Generation | Magic | Secondary Directory |
+--+-----------+----------+------------+-------+---------------------+
|  |     3     | 0x554000 |    None    |  $PL2 |       0x953000      |
+--+-----------+----------+------------+-------+---------------------+
Warning: Could not verify sha256 checksum for HeaderFile(type=0x5d, address=0x708e00, size=0x12000, len(references)=1)
+--+---+-------+----------+---------+-----------------------------+----------+--------------+------------------------------------------+
|  |   | Entry |  Address |    Size |                        Type | Magic/ID | File Version |                                File Info |
+--+---+-------+----------+---------+-----------------------------+----------+--------------+------------------------------------------+
|  |   |     0 | 0x554800 |   0x440 |          AMD_PUBLIC_KEY~0x0 |     EA7B |            1 |                            AMD_CODE_SIGN |
|  |   |     1 | 0x554d00 |  0x1bc0 |      PSP_FW_BOOT_LOADER~0x1 |     $PS1 |    0.2D.0.7B |                verified(EA7B), sha256_ok |
|  |   |     2 | 0x556900 | 0x13800 |     PSP_FW_BOOT_LOADER~0x73 |     $PS1 |    0.2D.0.7B |                verified(8E0A), sha256_ok |
|  |   |     3 | 0x56a100 | 0x193a0 |       PSP_FW_TRUSTED_OS~0x2 |     $PS1 |    0.2D.0.7B |                verified(DD12), sha256_ok |
|  |   |     4 | 0x583500 | 0x1cd60 |          SMU_OFFCHIP_FW~0x8 |     $PS1 |    0.4C.53.0 | compressed, veri-failed(D63D), sha256_ok |
|  |   |     5 | 0x5a0300 |   0x440 |      SEC_DBG_PUBLIC_KEY~0x9 |     9FC5 |            1 |     verified(EA7B), unknown_key_usage(3) |
|  |   |     6 |   0xc141 |     0x0 |      SOFT_FUSE_CHAIN_01~0xb |          |              |                                          |
|  |   |     7 | 0x5a0800 | 0x22100 | PSP_BOOT_TIME_TRUSTLETS~0xc |     $PS1 |      6.A.0.7 |                verified(CE84), sha256_ok |
|  |   |     8 | 0x5c2900 | 0x13810 |      SMU_OFF_CHIP_FW_2~0x12 |     $PS1 |    0.4C.53.0 | compressed, veri-failed(D63D), sha256_ok |
|  |   |     9 | 0x5d6200 |  0x2300 |           DEBUG_UNLOCK~0x13 |     $PS1 |    0.2D.0.7B |                verified(7BC7), sha256_ok |
|  |   |    10 | 0x5d8500 |  0x3100 |                        0x1b |     $PS1 |    0.2D.0.7B |                verified(CE84), sha256_ok |
|  |   |    11 | 0x5db600 | 0x19100 |                        0x1c |     $PS1 |    0.2D.0.7B |                verified(CE84), sha256_ok |
|  |   |    12 | 0x5f4700 |  0x5100 |                        0x1d |     $PS1 |    0.2D.0.7B |                verified(CE84), sha256_ok |
|  |   |    13 | 0x5f9800 |  0x8100 |                        0x1f |     $PS1 |    0.2D.0.7B |                verified(8615), sha256_ok |
|  |   |    14 | 0x601900 |   0x6c0 |     HARDWARE_IP_CONFIG~0x20 |     $PS1 |      B.1.1.3 |                verified(98CC), sha256_ok |
|  |   |    15 | 0x602000 |   0x6b0 |                       0x120 |     $PS1 |      B.2.1.2 |                verified(98CC), sha256_ok |
|  |   |    16 | 0x602700 |    0x30 |           WRAPPED_IKEK~0x21 |          |              |                                          |
|  |   |    17 | 0x602900 |  0x5370 |             SEC_GASKET~0x24 |     $PS1 |    D.25.0.A7 |                verified(2496), sha256_ok |
|  |   |    18 | 0x607d00 | 0x48d60 |                 MP2_FW~0x25 |     $PS1 |     9.B.0.5E |                verified(C9C6), sha256_ok |
|  |   |    19 | 0x650b00 | 0x10200 |         DRIVER_ENTRIES~0x28 |     $PS1 |    0.2D.0.7B |                verified(DD12), sha256_ok |
|  |   |    20 | 0x660d00 |   0x2a0 |                   ABL0~0x30 |     $PS1 |  42.23.A0.52 |                verified(7B55), sha256_ok |
|  |   |    21 | 0x6c6c00 |  0x2780 |          VBIOS_PRELOAD~0x3c |     $PS1 |   20.12.0.20 |                verified(C14C), sha256_ok |
|  |   |    22 | 0x6c9400 |  0xa200 |                        0x95 |     $PS1 |     0.2.14.2 |                verified(16C7), sha256_ok |
|  |   |    23 | 0x6d3600 |  0x1f00 |    TOS_SECURITY_POLICY~0x45 |     $PS1 |   D.25.40.A7 |                verified(2496), sha256_ok |
|  |   |    24 | 0x6d5500 |   0x220 |             FW_INVALID~0x44 |     $PS1 |     0.2.0.17 |                verified(82A5), sha256_ok |
|  |   |    25 | 0x6e5e00 |  0x6100 |                DRTM_TA~0x47 |     $PS1 |    4.2D.0.37 |                verified(61CE), sha256_ok |
|  |   |    26 | 0x6ebf00 |  0x2680 |           KEY_DATABASE~0x50 |     $PS1 |            1 |                verified(EA7B), sha256_ok |
|  |   |    27 | 0x6ee600 |  0x2480 |         TOS_PUBLIC_KEY~0x51 |     $PS1 |            1 |                verified(EA7B), sha256_ok |
|  |   |    28 | 0x6f0b00 |   0x720 |        BL_ROLLBACK_SPL~0x55 |     $PS1 |    5.2D.0.74 |                verified(EA7B), sha256_ok |
|  |   |    29 | 0x6f1300 | 0x17ab0 |          MSMU_BINARY_0~0x5a |     $PS1 |   FF.4C.67.0 | compressed, veri-failed(5E2F), sha256_ok |
|  |   |    30 | 0x708e00 | 0x12000 |                        0x5d |          |     1.3.C.B5 |      verified(DB85), sha256_inconsistent |
|  |   |    31 | 0x71ae00 |   0x9a0 |                   WMOS~0x5c |     $PS1 |    0.23.6.16 |                verified(8A19), sha256_ok |
|  |   |    32 | 0x71b800 | 0x60000 |          FW_PSP_SMUSCS~0x5f |          |              |                                          |
|  |   |    33 | 0x77b800 | 0x30310 |              DMCUB_INS~0x71 |     $PS1 |    0.0.97.62 |                verified(45B9), sha256_ok |
|  |   |    34 | 0x7abc00 |   0x210 |                        0x76 |     $PS1 |      4.0.3.1 |                verified(1F34), sha256_ok |
|  |   |    35 | 0x7ad300 |   0x210 |                       0x176 |     $PS1 |      A.0.0.2 |                verified(1F34), sha256_ok |
|  |   |    36 | 0x7ae700 |  0xe3c0 |                        0x90 |     $PS1 |    0.4C.53.0 | compressed, veri-failed(D63D), sha256_ok |
|  |   |    37 | 0x7bcb00 |  0x4400 |                        0x94 |     $PS1 |      0.6.4.1 |                verified(298B), sha256_ok |
|  |   |    38 | 0x7c0f00 |  0x6d80 |                        0x9a |     $PS1 |   FF.4C.67.0 | compressed, veri-failed(5E2F), sha256_ok |
|  |   |    39 | 0x7c7d00 |  0x6c80 |                        0x9a |     $PS1 |   FF.4C.67.0 | compressed, veri-failed(5E2F), sha256_ok |
|  |   |    40 | 0x7cea00 | 0x10200 |                        0x9b |     $PS1 |     B.1.2D.0 |                verified(6624), sha256_ok |
|  |   |    41 | 0x7dec00 | 0x10200 |                        0x9c |     $PS1 |     B.1.2D.0 |                verified(6624), sha256_ok |
|  |   |    42 | 0x7eee00 |   0xba0 |                        0xa2 |     $PS1 |   FF.4C.64.0 | compressed, veri-failed(5E2F), sha256_ok |
|  |   |    43 | 0x953000 |   0x400 |                        0x49 |          |              |                                          |
|  |   |    44 |  0x61000 | 0x20000 |             PSP_NV_DATA~0x4 |          |              |                                          |
|  |   |    45 |  0x81000 | 0x40000 |              PSP_NVRAM~0x54 |          |              |                                          |
+--+---+-------+----------+---------+-----------------------------+----------+--------------+------------------------------------------+

+--+-----------+----------+------------+-------+---------------------+
|  | Directory |   Addr   | Generation | Magic | Secondary Directory |
+--+-----------+----------+------------+-------+---------------------+
|  |     4     | 0x953000 |    None    |  $BL2 |                     |
+--+-----------+----------+------------+-------+---------------------+
+--+---+-------+-----------+----------+----------------------+----------+--------------+------------------------------------------+
|  |   | Entry |   Address |     Size |                 Type | Magic/ID | File Version |                                File Info |
+--+---+-------+-----------+----------+----------------------+----------+--------------+------------------------------------------+
|  |   |     0 |  0x953800 |    0x340 |  BIOS_PUBLIC_KEY~0x5 |     3FC7 |            1 |  key_missing(60BB), PLATFORM_SECURE_BOOT |
|  |   |     1 |  0x954000 |   0x3000 |            APCB~0x60 |          |              |                                          |
|  |   |     2 |  0x957000 |   0xc000 |       APCB_COPY~0x68 |          |              |                                          |
|  |   |     3 |  0x963000 |   0x3000 |       APCB_COPY~0x68 |          |              |                                          |
|  |   |     4 |       0x0 |      0x0 |            APOB~0x61 |          |              |                                          |
|  |   |     5 | 0x1a02000 | 0x580020 |         FW_XHCI~0x62 |          |              |                                          |
|  |   |     6 |  0x966000 |  0x40000 |    APOB_NV_COPY~0x63 |          |              |                                          |
|  |   |     7 |  0x9a6000 |   0x6170 |        PMU_CODE~0x64 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |     8 |  0x9ac200 |   0x5f70 |        PMU_CODE~0x64 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |     9 |  0x9b2200 |   0x3110 |        PMU_CODE~0x64 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    10 |  0x9b5400 |   0x4940 |        PMU_CODE~0x64 |     $PS1 |     0.0.22.5 | compressed, veri-failed(C534), sha384_ok |
|  |   |    11 |  0x9b9e00 |    0x9e0 |        PMU_CODE~0x64 |     $PS1 |     0.0.22.5 | compressed, veri-failed(C534), sha384_ok |
|  |   |    12 |  0x9ba800 |    0x250 |        PMU_CODE~0x64 |     $PS1 |     0.0.22.5 | compressed, veri-failed(C534), sha384_ok |
|  |   |    13 |  0x9bab00 |   0x34a0 |        PMU_CODE~0x64 |     $PS1 |     0.0.FD.6 | compressed, veri-failed(C534), sha256_ok |
|  |   |    14 |  0x9be000 |    0x6d0 |        PMU_DATA~0x65 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    15 |  0x9be700 |    0x250 |        PMU_DATA~0x65 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    16 |  0x9bea00 |    0x250 |        PMU_DATA~0x65 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    17 |  0x9bed00 |   0x1260 |        PMU_DATA~0x65 |     $PS1 |     0.0.22.5 | compressed, veri-failed(C534), sha384_ok |
|  |   |    18 |  0x9c0000 |    0x250 |        PMU_DATA~0x65 |     $PS1 |     0.0.22.5 | compressed, veri-failed(C534), sha384_ok |
|  |   |    19 |  0x9c0300 |    0x250 |        PMU_DATA~0x65 |     $PS1 |     0.0.22.5 | compressed, veri-failed(C534), sha384_ok |
|  |   |    20 |  0x9c0600 |    0x5e0 |        PMU_DATA~0x65 |     $PS1 |     0.0.FD.6 | compressed, veri-failed(C534), sha256_ok |
|  |   |    21 |  0x9c0c00 |   0x6140 |        PMU_CODE~0x64 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    22 |  0x9c6e00 |   0x5ed0 |        PMU_CODE~0x64 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    23 |  0x9ccd00 |   0x33c0 |        PMU_CODE~0x64 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    24 |  0x9d0100 |    0x6d0 |        PMU_DATA~0x65 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    25 |  0x9d0800 |    0x250 |        PMU_DATA~0x65 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    26 |  0x9d0b00 |    0x250 |        PMU_DATA~0x65 |     $PS1 |    0.0.57.F0 | compressed, veri-failed(C534), sha256_ok |
|  |   |    27 |  0x9d0e00 |   0x17c0 | MICROCODE_PATCH~0x66 |          |              |                                          |
|  |   |    28 |  0x9d2600 |   0x17c0 | MICROCODE_PATCH~0x66 |          |              |                                          |
|  |   |    29 |  0x9d3e00 |   0x17c0 | MICROCODE_PATCH~0x66 |          |              |                                          |
|  |   |    30 |  0x9d5600 |   0x17c0 | MICROCODE_PATCH~0x66 |          |              |                                          |
|  |   |    31 |  0x9d6e00 |   0x17c0 | MICROCODE_PATCH~0x66 |          |              |                                          |
|  |   |    32 |  0x9d8600 |   0x17c0 | MICROCODE_PATCH~0x66 |          |              |                                          |
|  |   |    33 |  0x9d9e00 |    0x260 |      MP2_FW_CFG~0x6a |     $PS1 |   24.5.22.15 |                verified(C9C6), sha256_ok |
|  |   |    34 | 0x19e0000 |  0x20000 |                 0x6d |          |              |                                          |
|  |   |    35 | 0x19c0000 |  0x20000 |                 0x6d |          |              |                                          |
|  |   |    36 | 0x19b0000 |  0x10000 |                 0x6d |          |              |                                          |
+--+---+-------+-----------+----------+----------------------+----------+--------------+------------------------------------------+

+--+-----------+---------+------------+-------+---------------------+
|  | Directory |   Addr  | Generation | Magic | Secondary Directory |
+--+-----------+---------+------------+-------+---------------------+
|  |     5     | 0xc2000 |    None    |  $PSP |                     |
+--+-----------+---------+------------+-------+---------------------+
+--+---+-------+---------+------+------+----------+--------------+-----------+
|  |   | Entry | Address | Size | Type | Magic/ID | File Version | File Info |
+--+---+-------+---------+------+------+----------+--------------+-----------+
|  |   |     0 | 0xc3000 |  0x0 | 0x48 |          |              |           |
|  |   |     1 | 0xc4000 |  0x0 | 0x4a |          |              |           |
|  |   |     2 | 0xc3800 |  0x0 | 0x48 |          |              |           |
|  |   |     3 | 0xc4800 |  0x0 | 0x4a |          |              |           |
+--+---+-------+---------+------+------+----------+--------------+-----------+
bm16ton commented 1 month ago

Im sorry for late reply, never noticed notification. I was able to forrest gump my way thru to getting mostly the info you have here, mine if i recall said "key missing" for almost all, which is expected. But your says verified failed with more robust info. I have what i believe is called RecoveryAB, I see your example has 0x4a 0x48 for PSP level A and B, never got those figured out. I only have a 32mb chip and a 32mb uefi rom but if I take a backup I get 64mb, This tool also shows everything twice. I can see how clever address rearranging could allow this, but as for a recovery mechanism it makes no sense to have same data source for both install and its recovery because one corrupts the other. So maybe i read to much into its name, or its something else that confused. Sorry for the rant, tired. I look forward to using you branch.Again unbelievably awesome project, heart felt thankyou.

bm16ton commented 1 month ago

So output from new branch. Looking good and it seems to have less repeat prints then og.

Warning: Input file is 0x2000000, will assume ROM size of 32M Warning: ParseError from DirectoryEntry(self.type=0x8d, self.type_flags=0x0, self.size=0x30, self.offset=0xae800, self.rsv0=0x80000000): File should not have both sha256 and sha384 checksum bits set! Warning: ParseError from BiosDirectoryEntry(self.type=0x62, self.type_flags=0xb, self.size=0x580020, self.offset=0x1d02000, self.rsv0=0x40000000, self.destination=0x9a7ffe0): Cannot create child buffer: overflows parent buffer's bounds! Warning: ParseError from DirectoryEntry(self.type=0x8d, self.type_flags=0x0, self.size=0x30, self.offset=0xae800, self.rsv0=0x80000000): File should not have both sha256 and sha384 checksum bits set! Warning: ParseError from BiosDirectoryEntry(self.type=0x62, self.type_flags=0xb, self.size=0x580020, self.offset=0x1d02000, self.rsv0=0x40000000, self.destination=0x9a7ffe0): Cannot create child buffer: overflows parent buffer's bounds! +-----+------+-----------+---------+---------------+ | ROM | Addr | Size | FET | AGESA | +-----+------+-----------+---------+---------------+ | 0 | 0x0 | 0x2000000 | 0x20000 | AGESA_UNKNOWN | +-----+------+-----------+---------+---------------+ +--+-----------+---------+------------+-------+---------------------+ | | Directory | Addr | Generation | Magic | Secondary Directory | +--+-----------+---------+------------+-------+---------------------+ | | 0 | 0xc1000 | None | $PSP | | +--+-----------+---------+------------+-------+---------------------+ +--+---+-------+---------+------+------+----------+--------------+-----------+ | | | Entry | Address | Size | Type | Magic/ID | File Version | File Info | +--+---+-------+---------+------+------+----------+--------------+-----------+ | | | 0 | 0xc3000 | 0x0 | 0x48 | | | | | | | 1 | 0xc4000 | 0x0 | 0x4a | | | | | | | 2 | 0xc3800 | 0x0 | 0x48 | | | | | | | 3 | 0xc4800 | 0x0 | 0x4a | | | | +--+---+-------+---------+------+------+----------+--------------+-----------+

+--+-----------+---------+------------+-------+---------------------+ | | Directory | Addr | Generation | Magic | Secondary Directory | +--+-----------+---------+------------+-------+---------------------+ | | 1 | 0xc5000 | None | $PL2 | 0x4c4000 | +--+-----------+---------+------------+-------+---------------------+ Warning: Could not verify sha256 checksum for HeaderFile(type=0x5d, address=0x279e00, size=0x12000, len(references)=1) +--+---+-------+----------+---------+-----------------------------+----------+--------------+------------------------------------------+ | | | Entry | Address | Size | Type | Magic/ID | File Version | File Info | +--+---+-------+----------+---------+-----------------------------+----------+--------------+------------------------------------------+ | | | 0 | 0xc5800 | 0x440 | AMD_PUBLIC_KEY~0x0 | EA7B | 1 | AMD_CODE_SIGN | | | | 1 | 0xc5d00 | 0x1bc0 | PSP_FW_BOOT_LOADER~0x1 | $PS1 | 0.2D.0.7B | verified(EA7B), sha256_ok | | | | 2 | 0xc7900 | 0x13800 | PSP_FW_BOOT_LOADER~0x73 | $PS1 | 0.2D.0.7B | verified(8E0A), sha256_ok | | | | 3 | 0xdb100 | 0x193a0 | PSP_FW_TRUSTED_OS~0x2 | $PS1 | 0.2D.0.7B | verified(DD12), sha256_ok | | | | 4 | 0xf4500 | 0x1cd60 | SMU_OFFCHIP_FW~0x8 | $PS1 | 0.4C.53.0 | compressed, veri-failed(D63D), sha256_ok | | | | 5 | 0x111300 | 0x440 | SEC_DBG_PUBLIC_KEY~0x9 | 9FC5 | 1 | verified(EA7B), unknown_key_usage(3) | | | | 6 | 0xc141 | 0x0 | SOFT_FUSE_CHAIN_01~0xb | | | | | | | 7 | 0x111800 | 0x22100 | PSP_BOOT_TIME_TRUSTLETS~0xc | $PS1 | 6.A.0.7 | verified(CE84), sha256_ok | | | | 8 | 0x133900 | 0x13810 | SMU_OFF_CHIP_FW_2~0x12 | $PS1 | 0.4C.53.0 | compressed, veri-failed(D63D), sha256_ok | | | | 9 | 0x147200 | 0x2300 | DEBUG_UNLOCK~0x13 | $PS1 | 0.2D.0.7B | verified(7BC7), sha256_ok | | | | 10 | 0x149500 | 0x3100 | 0x1b | $PS1 | 0.2D.0.7B | verified(CE84), sha256_ok | | | | 11 | 0x14c600 | 0x19100 | 0x1c | $PS1 | 0.2D.0.7B | verified(CE84), sha256_ok | | | | 12 | 0x165700 | 0x5100 | 0x1d | $PS1 | 0.2D.0.7B | verified(CE84), sha256_ok | | | | 13 | 0x16a800 | 0x8100 | 0x1f | $PS1 | 0.2D.0.7B | verified(8615), sha256_ok | | | | 14 | 0x172900 | 0x6c0 | HARDWARE_IP_CONFIG~0x20 | $PS1 | B.1.1.3 | verified(98CC), sha256_ok | | | | 15 | 0x173000 | 0x6b0 | 0x120 | $PS1 | B.2.1.2 | verified(98CC), sha256_ok | | | | 16 | 0x173700 | 0x30 | WRAPPED_IKEK~0x21 | | | | | | | 17 | 0x173900 | 0x5370 | SEC_GASKET~0x24 | $PS1 | D.25.0.A7 | verified(2496), sha256_ok | | | | 18 | 0x178d00 | 0x48d60 | MP2_FW~0x25 | $PS1 | 9.B.0.5E | verified(C9C6), sha256_ok | | | | 19 | 0x1c1b00 | 0x10200 | DRIVER_ENTRIES~0x28 | $PS1 | 0.2D.0.7B | verified(DD12), sha256_ok | | | | 20 | 0x1d1d00 | 0x2a0 | ABL0~0x30 | $PS1 | 42.23.A0.52 | verified(7B55), sha256_ok | | | | 21 | 0x237c00 | 0x2780 | VBIOS_PRELOAD~0x3c | $PS1 | 20.12.0.20 | verified(C14C), sha256_ok | | | | 22 | 0x23a400 | 0xa200 | 0x95 | $PS1 | 0.2.14.2 | verified(16C7), sha256_ok | | | | 23 | 0x244600 | 0x1f00 | TOS_SECURITY_POLICY~0x45 | $PS1 | D.25.40.A7 | verified(2496), sha256_ok | | | | 24 | 0x246500 | 0x220 | FW_INVALID~0x44 | $PS1 | 0.2.0.17 | verified(82A5), sha256_ok | | | | 25 | 0x256e00 | 0x6100 | DRTM_TA~0x47 | $PS1 | 4.2D.0.37 | verified(61CE), sha256_ok | | | | 26 | 0x25cf00 | 0x2680 | KEY_DATABASE~0x50 | $PS1 | 1 | verified(EA7B), sha256_ok | | | | 27 | 0x25f600 | 0x2480 | TOS_PUBLIC_KEY~0x51 | $PS1 | 1 | verified(EA7B), sha256_ok | | | | 28 | 0x261b00 | 0x720 | BL_ROLLBACK_SPL~0x55 | $PS1 | 5.2D.0.74 | verified(EA7B), sha256_ok | | | | 29 | 0x262300 | 0x17ab0 | MSMU_BINARY_0~0x5a | $PS1 | FF.4C.67.0 | compressed, veri-failed(5E2F), sha256_ok | | | | 30 | 0x279e00 | 0x12000 | 0x5d | | 1.3.C.B5 | verified(DB85), sha256_inconsistent | | | | 31 | 0x28be00 | 0x9a0 | WMOS~0x5c | $PS1 | 0.23.6.16 | verified(8A19), sha256_ok | | | | 32 | 0x28c800 | 0x60000 | FW_PSP_SMUSCS~0x5f | | | | | | | 33 | 0x2ec800 | 0x30310 | DMCUB_INS~0x71 | $PS1 | 0.0.97.62 | verified(45B9), sha256_ok | | | | 34 | 0x31cc00 | 0x210 | 0x76 | $PS1 | 4.0.3.1 | verified(1F34), sha256_ok | | | | 35 | 0x31e300 | 0x210 | 0x176 | $PS1 | A.0.0.2 | verified(1F34), sha256_ok | | | | 36 | 0x31f700 | 0xe3c0 | 0x90 | $PS1 | 0.4C.53.0 | compressed, veri-failed(D63D), sha256_ok | | | | 37 | 0x32db00 | 0x4400 | 0x94 | $PS1 | 0.6.4.1 | verified(298B), sha256_ok | | | | 38 | 0x331f00 | 0x6d80 | 0x9a | $PS1 | FF.4C.67.0 | compressed, veri-failed(5E2F), sha256_ok | | | | 39 | 0x338d00 | 0x6c80 | 0x9a | $PS1 | FF.4C.67.0 | compressed, veri-failed(5E2F), sha256_ok | | | | 40 | 0x33fa00 | 0x10200 | 0x9b | $PS1 | B.1.2D.0 | verified(6624), sha256_ok | | | | 41 | 0x34fc00 | 0x10200 | 0x9c | $PS1 | B.1.2D.0 | verified(6624), sha256_ok | | | | 42 | 0x35fe00 | 0xba0 | 0xa2 | $PS1 | FF.4C.64.0 | compressed, veri-failed(5E2F), sha256_ok | | | | 43 | 0x4c4000 | 0x400 | 0x49 | | | | | | | 44 | 0x61000 | 0x20000 | PSP_NV_DATA~0x4 | | | | | | | 45 | 0x81000 | 0x40000 | PSP_NVRAM~0x54 | | | | +--+---+-------+----------+---------+-----------------------------+----------+--------------+------------------------------------------+

+--+-----------+----------+------------+-------+---------------------+ | | Directory | Addr | Generation | Magic | Secondary Directory | +--+-----------+----------+------------+-------+---------------------+ | | 2 | 0x4c4000 | None | $BL2 | | +--+-----------+----------+------------+-------+---------------------+ +--+---+-------+-----------+----------+----------------------+----------+--------------+------------------------------------------+ | | | Entry | Address | Size | Type | Magic/ID | File Version | File Info | +--+---+-------+-----------+----------+----------------------+----------+--------------+------------------------------------------+ | | | 0 | 0x4c4800 | 0x340 | BIOS_PUBLIC_KEY~0x5 | 3FC7 | 1 | key_missing(60BB), PLATFORM_SECURE_BOOT | | | | 1 | 0x4c5000 | 0x3000 | APCB~0x60 | | | | | | | 2 | 0x4c8000 | 0xc000 | APCB_COPY~0x68 | | | | | | | 3 | 0x4d4000 | 0x3000 | APCB_COPY~0x68 | | | | | | | 4 | 0x0 | 0x0 | APOB~0x61 | | | | | | | 5 | 0x1a02000 | 0x580020 | FW_XHCI~0x62 | | | | | | | 6 | 0x4d7000 | 0x40000 | APOB_NV_COPY~0x63 | | | | | | | 7 | 0x517000 | 0x6170 | PMU_CODE~0x64 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 8 | 0x51d200 | 0x5f70 | PMU_CODE~0x64 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 9 | 0x523200 | 0x3110 | PMU_CODE~0x64 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 10 | 0x526400 | 0x4940 | PMU_CODE~0x64 | $PS1 | 0.0.22.5 | compressed, veri-failed(C534), sha384_ok | | | | 11 | 0x52ae00 | 0x9e0 | PMU_CODE~0x64 | $PS1 | 0.0.22.5 | compressed, veri-failed(C534), sha384_ok | | | | 12 | 0x52b800 | 0x250 | PMU_CODE~0x64 | $PS1 | 0.0.22.5 | compressed, veri-failed(C534), sha384_ok | | | | 13 | 0x52bb00 | 0x34a0 | PMU_CODE~0x64 | $PS1 | 0.0.FD.6 | compressed, veri-failed(C534), sha256_ok | | | | 14 | 0x52f000 | 0x6d0 | PMU_DATA~0x65 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 15 | 0x52f700 | 0x250 | PMU_DATA~0x65 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 16 | 0x52fa00 | 0x250 | PMU_DATA~0x65 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 17 | 0x52fd00 | 0x1260 | PMU_DATA~0x65 | $PS1 | 0.0.22.5 | compressed, veri-failed(C534), sha384_ok | | | | 18 | 0x531000 | 0x250 | PMU_DATA~0x65 | $PS1 | 0.0.22.5 | compressed, veri-failed(C534), sha384_ok | | | | 19 | 0x531300 | 0x250 | PMU_DATA~0x65 | $PS1 | 0.0.22.5 | compressed, veri-failed(C534), sha384_ok | | | | 20 | 0x531600 | 0x5e0 | PMU_DATA~0x65 | $PS1 | 0.0.FD.6 | compressed, veri-failed(C534), sha256_ok | | | | 21 | 0x531c00 | 0x6140 | PMU_CODE~0x64 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 22 | 0x537e00 | 0x5ed0 | PMU_CODE~0x64 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 23 | 0x53dd00 | 0x33c0 | PMU_CODE~0x64 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 24 | 0x541100 | 0x6d0 | PMU_DATA~0x65 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 25 | 0x541800 | 0x250 | PMU_DATA~0x65 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 26 | 0x541b00 | 0x250 | PMU_DATA~0x65 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 27 | 0x541e00 | 0x17c0 | MICROCODE_PATCH~0x66 | | | | | | | 28 | 0x543600 | 0x17c0 | MICROCODE_PATCH~0x66 | | | | | | | 29 | 0x544e00 | 0x17c0 | MICROCODE_PATCH~0x66 | | | | | | | 30 | 0x546600 | 0x17c0 | MICROCODE_PATCH~0x66 | | | | | | | 31 | 0x547e00 | 0x17c0 | MICROCODE_PATCH~0x66 | | | | | | | 32 | 0x549600 | 0x17c0 | MICROCODE_PATCH~0x66 | | | | | | | 33 | 0x54ae00 | 0x260 | MP2_FW_CFG~0x6a | $PS1 | 24.5.22.15 | verified(C9C6), sha256_ok | | | | 34 | 0x19e0000 | 0x20000 | 0x6d | | | | | | | 35 | 0x19c0000 | 0x20000 | 0x6d | | | | | | | 36 | 0x19b0000 | 0x10000 | 0x6d | | | | +--+---+-------+-----------+----------+----------------------+----------+--------------+------------------------------------------+

+--+-----------+----------+------------+-------+---------------------+ | | Directory | Addr | Generation | Magic | Secondary Directory | +--+-----------+----------+------------+-------+---------------------+ | | 3 | 0x554000 | None | $PL2 | 0x953000 | +--+-----------+----------+------------+-------+---------------------+ Warning: Could not verify sha256 checksum for HeaderFile(type=0x5d, address=0x708e00, size=0x12000, len(references)=1) +--+---+-------+----------+---------+-----------------------------+----------+--------------+------------------------------------------+ | | | Entry | Address | Size | Type | Magic/ID | File Version | File Info | +--+---+-------+----------+---------+-----------------------------+----------+--------------+------------------------------------------+ | | | 0 | 0x554800 | 0x440 | AMD_PUBLIC_KEY~0x0 | EA7B | 1 | AMD_CODE_SIGN | | | | 1 | 0x554d00 | 0x1bc0 | PSP_FW_BOOT_LOADER~0x1 | $PS1 | 0.2D.0.7B | verified(EA7B), sha256_ok | | | | 2 | 0x556900 | 0x13800 | PSP_FW_BOOT_LOADER~0x73 | $PS1 | 0.2D.0.7B | verified(8E0A), sha256_ok | | | | 3 | 0x56a100 | 0x193a0 | PSP_FW_TRUSTED_OS~0x2 | $PS1 | 0.2D.0.7B | verified(DD12), sha256_ok | | | | 4 | 0x583500 | 0x1cd60 | SMU_OFFCHIP_FW~0x8 | $PS1 | 0.4C.53.0 | compressed, veri-failed(D63D), sha256_ok | | | | 5 | 0x5a0300 | 0x440 | SEC_DBG_PUBLIC_KEY~0x9 | 9FC5 | 1 | verified(EA7B), unknown_key_usage(3) | | | | 6 | 0xc141 | 0x0 | SOFT_FUSE_CHAIN_01~0xb | | | | | | | 7 | 0x5a0800 | 0x22100 | PSP_BOOT_TIME_TRUSTLETS~0xc | $PS1 | 6.A.0.7 | verified(CE84), sha256_ok | | | | 8 | 0x5c2900 | 0x13810 | SMU_OFF_CHIP_FW_2~0x12 | $PS1 | 0.4C.53.0 | compressed, veri-failed(D63D), sha256_ok | | | | 9 | 0x5d6200 | 0x2300 | DEBUG_UNLOCK~0x13 | $PS1 | 0.2D.0.7B | verified(7BC7), sha256_ok | | | | 10 | 0x5d8500 | 0x3100 | 0x1b | $PS1 | 0.2D.0.7B | verified(CE84), sha256_ok | | | | 11 | 0x5db600 | 0x19100 | 0x1c | $PS1 | 0.2D.0.7B | verified(CE84), sha256_ok | | | | 12 | 0x5f4700 | 0x5100 | 0x1d | $PS1 | 0.2D.0.7B | verified(CE84), sha256_ok | | | | 13 | 0x5f9800 | 0x8100 | 0x1f | $PS1 | 0.2D.0.7B | verified(8615), sha256_ok | | | | 14 | 0x601900 | 0x6c0 | HARDWARE_IP_CONFIG~0x20 | $PS1 | B.1.1.3 | verified(98CC), sha256_ok | | | | 15 | 0x602000 | 0x6b0 | 0x120 | $PS1 | B.2.1.2 | verified(98CC), sha256_ok | | | | 16 | 0x602700 | 0x30 | WRAPPED_IKEK~0x21 | | | | | | | 17 | 0x602900 | 0x5370 | SEC_GASKET~0x24 | $PS1 | D.25.0.A7 | verified(2496), sha256_ok | | | | 18 | 0x607d00 | 0x48d60 | MP2_FW~0x25 | $PS1 | 9.B.0.5E | verified(C9C6), sha256_ok | | | | 19 | 0x650b00 | 0x10200 | DRIVER_ENTRIES~0x28 | $PS1 | 0.2D.0.7B | verified(DD12), sha256_ok | | | | 20 | 0x660d00 | 0x2a0 | ABL0~0x30 | $PS1 | 42.23.A0.52 | verified(7B55), sha256_ok | | | | 21 | 0x6c6c00 | 0x2780 | VBIOS_PRELOAD~0x3c | $PS1 | 20.12.0.20 | verified(C14C), sha256_ok | | | | 22 | 0x6c9400 | 0xa200 | 0x95 | $PS1 | 0.2.14.2 | verified(16C7), sha256_ok | | | | 23 | 0x6d3600 | 0x1f00 | TOS_SECURITY_POLICY~0x45 | $PS1 | D.25.40.A7 | verified(2496), sha256_ok | | | | 24 | 0x6d5500 | 0x220 | FW_INVALID~0x44 | $PS1 | 0.2.0.17 | verified(82A5), sha256_ok | | | | 25 | 0x6e5e00 | 0x6100 | DRTM_TA~0x47 | $PS1 | 4.2D.0.37 | verified(61CE), sha256_ok | | | | 26 | 0x6ebf00 | 0x2680 | KEY_DATABASE~0x50 | $PS1 | 1 | verified(EA7B), sha256_ok | | | | 27 | 0x6ee600 | 0x2480 | TOS_PUBLIC_KEY~0x51 | $PS1 | 1 | verified(EA7B), sha256_ok | | | | 28 | 0x6f0b00 | 0x720 | BL_ROLLBACK_SPL~0x55 | $PS1 | 5.2D.0.74 | verified(EA7B), sha256_ok | | | | 29 | 0x6f1300 | 0x17ab0 | MSMU_BINARY_0~0x5a | $PS1 | FF.4C.67.0 | compressed, veri-failed(5E2F), sha256_ok | | | | 30 | 0x708e00 | 0x12000 | 0x5d | | 1.3.C.B5 | verified(DB85), sha256_inconsistent | | | | 31 | 0x71ae00 | 0x9a0 | WMOS~0x5c | $PS1 | 0.23.6.16 | verified(8A19), sha256_ok | | | | 32 | 0x71b800 | 0x60000 | FW_PSP_SMUSCS~0x5f | | | | | | | 33 | 0x77b800 | 0x30310 | DMCUB_INS~0x71 | $PS1 | 0.0.97.62 | verified(45B9), sha256_ok | | | | 34 | 0x7abc00 | 0x210 | 0x76 | $PS1 | 4.0.3.1 | verified(1F34), sha256_ok | | | | 35 | 0x7ad300 | 0x210 | 0x176 | $PS1 | A.0.0.2 | verified(1F34), sha256_ok | | | | 36 | 0x7ae700 | 0xe3c0 | 0x90 | $PS1 | 0.4C.53.0 | compressed, veri-failed(D63D), sha256_ok | | | | 37 | 0x7bcb00 | 0x4400 | 0x94 | $PS1 | 0.6.4.1 | verified(298B), sha256_ok | | | | 38 | 0x7c0f00 | 0x6d80 | 0x9a | $PS1 | FF.4C.67.0 | compressed, veri-failed(5E2F), sha256_ok | | | | 39 | 0x7c7d00 | 0x6c80 | 0x9a | $PS1 | FF.4C.67.0 | compressed, veri-failed(5E2F), sha256_ok | | | | 40 | 0x7cea00 | 0x10200 | 0x9b | $PS1 | B.1.2D.0 | verified(6624), sha256_ok | | | | 41 | 0x7dec00 | 0x10200 | 0x9c | $PS1 | B.1.2D.0 | verified(6624), sha256_ok | | | | 42 | 0x7eee00 | 0xba0 | 0xa2 | $PS1 | FF.4C.64.0 | compressed, veri-failed(5E2F), sha256_ok | | | | 43 | 0x953000 | 0x400 | 0x49 | | | | | | | 44 | 0x61000 | 0x20000 | PSP_NV_DATA~0x4 | | | | | | | 45 | 0x81000 | 0x40000 | PSP_NVRAM~0x54 | | | | +--+---+-------+----------+---------+-----------------------------+----------+--------------+------------------------------------------+

+--+-----------+----------+------------+-------+---------------------+ | | Directory | Addr | Generation | Magic | Secondary Directory | +--+-----------+----------+------------+-------+---------------------+ | | 4 | 0x953000 | None | $BL2 | | +--+-----------+----------+------------+-------+---------------------+ +--+---+-------+-----------+----------+----------------------+----------+--------------+------------------------------------------+ | | | Entry | Address | Size | Type | Magic/ID | File Version | File Info | +--+---+-------+-----------+----------+----------------------+----------+--------------+------------------------------------------+ | | | 0 | 0x953800 | 0x340 | BIOS_PUBLIC_KEY~0x5 | 3FC7 | 1 | key_missing(60BB), PLATFORM_SECURE_BOOT | | | | 1 | 0x954000 | 0x3000 | APCB~0x60 | | | | | | | 2 | 0x957000 | 0xc000 | APCB_COPY~0x68 | | | | | | | 3 | 0x963000 | 0x3000 | APCB_COPY~0x68 | | | | | | | 4 | 0x0 | 0x0 | APOB~0x61 | | | | | | | 5 | 0x1a02000 | 0x580020 | FW_XHCI~0x62 | | | | | | | 6 | 0x966000 | 0x40000 | APOB_NV_COPY~0x63 | | | | | | | 7 | 0x9a6000 | 0x6170 | PMU_CODE~0x64 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 8 | 0x9ac200 | 0x5f70 | PMU_CODE~0x64 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 9 | 0x9b2200 | 0x3110 | PMU_CODE~0x64 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 10 | 0x9b5400 | 0x4940 | PMU_CODE~0x64 | $PS1 | 0.0.22.5 | compressed, veri-failed(C534), sha384_ok | | | | 11 | 0x9b9e00 | 0x9e0 | PMU_CODE~0x64 | $PS1 | 0.0.22.5 | compressed, veri-failed(C534), sha384_ok | | | | 12 | 0x9ba800 | 0x250 | PMU_CODE~0x64 | $PS1 | 0.0.22.5 | compressed, veri-failed(C534), sha384_ok | | | | 13 | 0x9bab00 | 0x34a0 | PMU_CODE~0x64 | $PS1 | 0.0.FD.6 | compressed, veri-failed(C534), sha256_ok | | | | 14 | 0x9be000 | 0x6d0 | PMU_DATA~0x65 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 15 | 0x9be700 | 0x250 | PMU_DATA~0x65 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 16 | 0x9bea00 | 0x250 | PMU_DATA~0x65 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 17 | 0x9bed00 | 0x1260 | PMU_DATA~0x65 | $PS1 | 0.0.22.5 | compressed, veri-failed(C534), sha384_ok | | | | 18 | 0x9c0000 | 0x250 | PMU_DATA~0x65 | $PS1 | 0.0.22.5 | compressed, veri-failed(C534), sha384_ok | | | | 19 | 0x9c0300 | 0x250 | PMU_DATA~0x65 | $PS1 | 0.0.22.5 | compressed, veri-failed(C534), sha384_ok | | | | 20 | 0x9c0600 | 0x5e0 | PMU_DATA~0x65 | $PS1 | 0.0.FD.6 | compressed, veri-failed(C534), sha256_ok | | | | 21 | 0x9c0c00 | 0x6140 | PMU_CODE~0x64 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 22 | 0x9c6e00 | 0x5ed0 | PMU_CODE~0x64 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 23 | 0x9ccd00 | 0x33c0 | PMU_CODE~0x64 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 24 | 0x9d0100 | 0x6d0 | PMU_DATA~0x65 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 25 | 0x9d0800 | 0x250 | PMU_DATA~0x65 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 26 | 0x9d0b00 | 0x250 | PMU_DATA~0x65 | $PS1 | 0.0.57.F0 | compressed, veri-failed(C534), sha256_ok | | | | 27 | 0x9d0e00 | 0x17c0 | MICROCODE_PATCH~0x66 | | | | | | | 28 | 0x9d2600 | 0x17c0 | MICROCODE_PATCH~0x66 | | | | | | | 29 | 0x9d3e00 | 0x17c0 | MICROCODE_PATCH~0x66 | | | | | | | 30 | 0x9d5600 | 0x17c0 | MICROCODE_PATCH~0x66 | | | | | | | 31 | 0x9d6e00 | 0x17c0 | MICROCODE_PATCH~0x66 | | | | | | | 32 | 0x9d8600 | 0x17c0 | MICROCODE_PATCH~0x66 | | | | | | | 33 | 0x9d9e00 | 0x260 | MP2_FW_CFG~0x6a | $PS1 | 24.5.22.15 | verified(C9C6), sha256_ok | | | | 34 | 0x19e0000 | 0x20000 | 0x6d | | | | | | | 35 | 0x19c0000 | 0x20000 | 0x6d | | | | | | | 36 | 0x19b0000 | 0x10000 | 0x6d | | | | +--+---+-------+-----------+----------+----------------------+----------+--------------+------------------------------------------+

+--+-----------+---------+------------+-------+---------------------+ | | Directory | Addr | Generation | Magic | Secondary Directory | +--+-----------+---------+------------+-------+---------------------+ | | 5 | 0xc2000 | None | $PSP | | +--+-----------+---------+------------+-------+---------------------+ +--+---+-------+---------+------+------+----------+--------------+-----------+ | | | Entry | Address | Size | Type | Magic/ID | File Version | File Info | +--+---+-------+---------+------+------+----------+--------------+-----------+ | | | 0 | 0xc3000 | 0x0 | 0x48 | | | | | | | 1 | 0xc4000 | 0x0 | 0x4a | | | | | | | 2 | 0xc3800 | 0x0 | 0x48 | | | | | | | 3 | 0xc4800 | 0x0 | 0x4a | | | | +--+---+-------+---------+------+------+----------+--------------+-----------+

Thanks again. Will hopefully have time soon to see if my apu device has the same discrete setup your test devices had, and if so give the ol power glitch a run. Only area currently above my head/skills is the assembly payloads. Haven't any experience in that area, so itll be a good project. Thanks again