diff --git a/basicutils_6x.py b/basicutils_6x.py index 3070bc4..d91349e 100644 --- a/basicutils_6x.py +++ b/basicutils_6x.py @@ -22,6 +22,7 @@ import idc import struct import idautils +import idaapi import re BADADDR = idc.BADADDR @@ -202,7 +203,7 @@ def GetCanonicalName(f): def NameCanonical(f,mod_name,func_name): n = "%s_%s_%08x" % (mod_name,func_name,f) print "Renaming %s to %s\n" % (idc.GetFunctionName(f),n) - idc.MakeName(f,n) + idaapi.do_name_anyway(f,n) #Put function in canonical format when it doesn't have a name, but you know the module name def RenameFuncWithAddr(f,s): diff --git a/basicutils_7x.py b/basicutils_7x.py index 720d7f4..9defe27 100644 --- a/basicutils_7x.py +++ b/basicutils_7x.py @@ -102,6 +102,7 @@ def ForEveryFuncInSeg( seg, fun ): f = start while (f < end): """print "ev: %#x" % f""" + print f fun(f) f=NextFunction(f) @@ -233,7 +234,7 @@ def GetCanonicalName(f): def NameCanonical(f,mod_name,func_name): n = "%s_%s_%08x" % (mod_name,func_name,f) print "Renaming %s to %s\n" % (idc.get_func_name(f),n) - ida_name.set_name(f,n) + ida_name.force_name(f,n) #Put function in canonical format when it doesn't have a name, but you know the module name def RenameFuncWithAddr(f,s): diff --git a/cc_base.py b/cc_base.py index 6c32a6c..091ac44 100644 --- a/cc_base.py +++ b/cc_base.py @@ -17,6 +17,14 @@ # HAVE A NICE DAY. import basicutils_7x as basicutils +import json + +## Utilities + +#escape_for_graphviz() +#Return the string escaped for usage in a GraphViz file +def escape_for_graphviz(string): + return json.dumps(string) ## CodeCut Basics ## A couple of functions for working with function and module lists and outputting results @@ -69,7 +77,7 @@ def gen_mod_graph(module_list, suffix): file.write("digraph g {\n") for (node1,node2) in g: - line = "%s -> %s\n" % (node1,node2) + line = "%s -> %s\n" % (escape_for_graphviz(node1),escape_for_graphviz(node2)) file.write(line) file.write("}\n") @@ -94,7 +102,7 @@ def gen_rename_script(module_list, suffix): while (c