fix: invalid names, askopenfilename
This commit is contained in:
11
load_map.py
11
load_map.py
@@ -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 !")
|
||||||
|
|||||||
Reference in New Issue
Block a user