in tools/guloader/guloader_FixCFG.py [0:0]
def get_addresses_from_tinytracer(file: pathlib.Path) -> list | None:
"""
Retrieves all addresses from TinyTracer log file
:param file: The path to the TinyTracer log file
:return: A list of addresses from TinyTracer log file
None if extraction fails or encounters an exception.
"""
addrs = list()
with open(file, "r") as file:
for line in file:
parts = line.strip().split(";")
if len(parts) >= 2:
addresses = parts[0].split("+")
if len(addresses) == 2:
try:
address1, address2 = map(lambda x: int(''.join(c for c in x if c.isdigit() or c in 'abcdefABCDEF'), 16), addresses)
result_address = int(hex(address1 + address2),16)
addrs.append(result_address)
except ValueError as e:
print(f"Error processing line: {line.strip()}. {e}")
else:
print(f"Invalid format for addresses in line: {line.strip()}")
else:
print(f"Invalid line format: {line.strip()}")
return addrs