fix: invalid names, askopenfilename

This commit is contained in:
ALittlePatate
2023-02-14 15:22:14 +01:00
committed by GitHub
parent 848c4b5170
commit 2b6848308e

View File

@@ -1,13 +1,14 @@
import ida_search import ida_search
import idc import idc
import tkinter.filedialog import tkinter as tk
from tkinter import filedialog
def rename_func(addr, function_name) : def rename_func(addr, function_name) :
if addr == idc.BADADDR : if addr == idc.BADADDR :
print("Bad address") print("Bad address")
return 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. if not idc.set_name(int(addr, 16), function_name): #the 0x800 flag is for "FORCE", so it will rename the function even if it already has a name --> no using it cuz it renames functions multiple times.
print("Rename address failed") print("Rename address failed")
return return
@@ -28,15 +29,17 @@ def read_map(file_path) :
line = line[18:] #8040e570 4 @354 JSystem.a JALCalc.cpp line = line[18:] #8040e570 4 @354 JSystem.a JALCalc.cpp
data = line.split(" ") data = line.split(" ")
addr = data[0] addr = data[0]
name = data[3] name = data[3].replace("sub","")
if "." in addr : continue if "." in addr : continue
if " " in name or "\t" in name : continue
rename_func(addr, name) rename_func(addr, name)
print("[+] Starting...") print("[+] Starting...")
root = tk.Tk()
root.withdraw()
file_path = filedialog.askopenfilename() file_path = filedialog.askopenfilename()
print("[+] Scanning map file") print("[+] Scanning map file")
read_map(file_path) read_map(file_path)
print("[+] Done !") print("[+] Done !")