From 2eed9780ba7074de9e464a2bc771ad14f0332a6c Mon Sep 17 00:00:00 2001 From: David Michieli Date: Tue, 16 Feb 2021 12:34:34 +1100 Subject: [PATCH] stm32/mboot: Add unpack-dfu command to mboot_pack_dfu.py tool. This command unpacks a previously packed DFU file, writing out a DFU which should be the same as the original (before packing). --- ports/stm32/mboot/mboot_pack_dfu.py | 26 ++++++++++++++++++++++++++ tools/ci.sh | 5 +++++ 2 files changed, 31 insertions(+) diff --git a/ports/stm32/mboot/mboot_pack_dfu.py b/ports/stm32/mboot/mboot_pack_dfu.py index 47382f5910..540057e06e 100644 --- a/ports/stm32/mboot/mboot_pack_dfu.py +++ b/ports/stm32/mboot/mboot_pack_dfu.py @@ -211,9 +211,16 @@ def pack_dfu(keys, args): def verify_pack_dfu(keys, filename): + """Verify packed dfu file against keys. Gathers decrypted binary data.""" full_sig = pyhy.hydro_sign(MBOOT_PACK_HYDRO_CONTEXT) _, elems = dfu_read(filename) + base_addr = None + binary_data = b"" + for addr, data in elems: + if base_addr is None: + base_addr = addr + header = struct.unpack("