From 4eaddebd9655ffa85059af95097c4206e6d98101 Mon Sep 17 00:00:00 2001 From: ALittlePatate <48603993+ALittlePatate@users.noreply.github.com> Date: Tue, 14 Feb 2023 14:57:42 +0100 Subject: [PATCH] first commit --- load_map.py | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 load_map.py diff --git a/load_map.py b/load_map.py new file mode 100644 index 0000000..7d9814a --- /dev/null +++ b/load_map.py @@ -0,0 +1,45 @@ +import ida_search +import idc +import tkinter.filedialog + +#global vars +end_ea = idc.get_segm_end(0) #end address + +def rename_func(addr, function_name) : + if addr == idc.BADADDR : + print("Bad address") + return + + if not idc.set_name(int(addr, 16), function_name, 0x800) : #the 0x800 flag is for "FORCE", so it will rename the function even if it already has a name. + print("Rename address failed") + return + + print(f"{addr} --> {function_name}") + +def read_map(file_path) : + with open(file_path, 'r') as f : + in_section = False + for line in f.readlines() : + if " -----------------------" in line : + in_section = True + + elif in_section : + if line == "\n" : + in_section = False + continue + + line = line[18:] #8040e570 4 @354 JSystem.a JALCalc.cpp + data = line.split(" ") + addr = data[0] + name = data[3] + + if "." in addr : continue + + rename_func(addr, name) + +print("[+] Starting...") +file_path = filedialog.askopenfilename() + +print("[+] Scanning map file") +read_map(file_path) +print("[+] Done !")