Start work on parsing firmware payload.

This commit is contained in:
Markus Birth 2019-10-12 19:32:22 +02:00
parent 9d9dc3671b
commit dd682c6da1
Signed by: mbirth
GPG Key ID: A9928D7A098C3A9A
2 changed files with 13 additions and 1 deletions

View File

@ -264,9 +264,14 @@ class RgnRecordR(RgnRecord):
txt += " (OK)"
else:
txt += " (" + RED + "MISMATCH!" + RESET + ")"
if self.id_payload() == "RGN":
payload_type = self.id_payload()
if payload_type == "RGN":
txt += "\n " + YELLOW + "PAYLOAD IS ANOTHER RGN STRUCTURE:" + RESET
rgn = Rgn()
rgn.load_from_bytes(self.payload[10:])
txt += "\n " + "\n ".join(str(rgn).split("\n"))
elif payload_type == "BIN":
binfw = RgnBin()
binfw.load_from_bytes(self.payload[10:])
txt += "\n " + "\n ".join(str(binfw).split("\n"))
return txt

View File

@ -25,4 +25,11 @@ class RgnBin:
if self.filename is None:
return False
with open(self.filename, "rb") as f:
rawdata = f.read()
f.close()
self.load_from_bytes(rawdata)
def load_from_bytes(self, payload: bytes):
print(repr(payload[0:10]))
jmp = unpack("<L", payload[0:4])[0]
print("{:08x}".format(jmp))