Code:
#!/opt/homebrew/bin/python3.11
import sys, struct, zlib, hexdump, tqdm
import crcmod
CRC32 = crcmod.mkCrcFun(0x104C11DB7, 0, 0)
data = bytearray(open(sys.argv[1], 'rb').read())
print('At 0x20000:')
header = data[0x20000:0x20020]
hexdump.hexdump(header)
print()
u32ROM_START, u32RAM_START, u32RAM_END, u32ROM_END, _, u32CRC32_SW = \
struct.unpack('<6L', header[0:0x18])
print(f'u32ROM_START: 0x{u32ROM_START:08x}')
print(f'u32RAM_START: 0x{u32RAM_START:08x}')
print(f'u32RAM_END: 0x{u32RAM_END:08x}
Leave a comment: