herosi / cto Goto Github PK
View Code? Open in Web Editor NEWCall Tree Overviewer
License: MIT License
Call Tree Overviewer
License: MIT License
This CTO project is great, but when the number of nodes is large, the current layout will take up a lot of screen space. If it can support changing the layout to a mind map, it will save a lot of screen space,thank you.
I have a function that is called way too often from a specific function. I would like to hide it from the graph view.
2023-11-05 22:03:19.182 IDAPython: Error while calling Python callback :
2023-11-05 22:03:19.182 Traceback (most recent call last):
2023-11-05 22:03:19.182 File "D:\soft\IDA_Pro_7.7\plugins\cto\cto_func_lister.py", line 1370, in OnCreate
2023-11-05 22:03:19.182 self.create_tree()
2023-11-05 22:03:19.182 File "D:\soft\IDA_Pro_7.7\plugins\cto\cto_func_lister.py", line 1386, in create_tree
2023-11-05 22:03:19.182 self.PopulateTree()
2023-11-05 22:03:19.182 File "D:\soft\IDA_Pro_7.7\plugins\cto\cto_func_lister.py", line 1664, in PopulateTree
2023-11-05 22:03:19.182 func_name, ifunc, idx = self.RegisterFuncToTree(imp_dll, imp_ea, imp_name, self.imports, self.imports_ids, other_data=(imp_name, imp_ord, dll_name))
2023-11-05 22:03:19.182 File "D:\soft\IDA_Pro_7.7\plugins\cto\cto_func_lister.py", line 1591, in RegisterFuncToTree
2023-11-05 22:03:19.182 ifunc_internal_funcs_cnt.setData(self.count_func_type(func_ea, [FT_GEN]), QtCore.Qt.DisplayRole)
2023-11-05 22:03:19.182 File "D:\soft\IDA_Pro_7.7\plugins\cto\cto_func_lister.py", line 1576, in count_func_type
2023-11-05 22:03:19.182 r = [d for k,(d,ft,,) in self.func_relations[func_ea]['children'].items() if ft in func_types]
2023-11-05 22:03:19.182 KeyError: 42248388
2023-11-05 22:03:20.747
Does cto have a function to display the call path between two function nodes selected by the user, for example, the main function calls the puts and gets functions, when the user selects to display these two nodes, the call graph from the main node to these two nodes will be automatically generated?
Error:
Failed while executing plugin_t.run():
Traceback (most recent call last):
File "C:/Program Files/IDA Pro 7.5 SP3/plugins/cto_plugin.py", line 153, in run
self.exec_cto()
File "C:/Program Files/IDA Pro 7.5 SP3/plugins/cto_plugin.py", line 126, in exec_cto
self.g = cto.exec_cto(cto_data=sync_data, debug=debug)
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\cto.py", line 4058, in exec_cto
return cto
UnboundLocalError: local variable 'cto' referenced before assignment
Log:
Launching CTO (Call Tree Overviewer) ...
For the first execution, CTO will analyze all functions to build the call tree. Please wait for a while.
data is unavailable. extract data from idb or pickle
Got a unexpected error (<class 'IndexError'>: pop from empty list) (4049)
Traceback (most recent call last):
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\cto.py", line 4049, in exec_cto
cto = CallTreeOverviewer(ida_kernwin.get_screen_ea(), cto_data=cto_data , debug=debug)
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\cto.py", line 99, in init
cto_base.cto_base.init(self, cto_data, debug)
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\cto_base.py", line 80, in init
self.update_data()
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\cto_base.py", line 223, in update_data
self.cache_update()
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\cto_base.py", line 153, in cache_update
self.cto_data["cto_data"]["func_relations"], self.cto_data["cto_data"]["import_eas"], self.cto_data["cto_data"]["string_eas"] = get_func_relation.get_func_relations()
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\get_func_relation.py", line 875, in get_func_relations
for func_ea, parents, children, func_type, gvars, strings, stroff, vtbl in get_relation_in_all_funcs(import_eas, string_eas):
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\get_func_relation.py", line 866, in get_relation_in_all_funcs
for ea, parents, children, func_type, gvars, strings, stroff, vtbl in get_func_relation(f, import_eas, string_eas):
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\get_func_relation.py", line 848, in get_func_relation
parents, children, apicalls, gvars, strings, stroff, vtbl = get_family_members(f.start_ea, bbs, import_eas, string_eas)
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\get_func_relation.py", line 838, in get_family_members
children, apicalls, gvars, strings, stroff, vtbl = get_children(bbs, import_eas, string_eas)
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\get_func_relation.py", line 684, in get_children
get_calls_in_bb(bb, bbs, import_eas, string_eas, result=result, apicalls=apicalls, gvars=gvars, strings=strings, stroff=stroff, vtbl=vtbl)
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\get_func_relation.py", line 655, in get_calls_in_bb
target_ea, func_type, op, target_name = get_funcptr_ea(ea, bbs, import_eas, string_eas)
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\get_func_relation.py", line 509, in get_funcptr_ea
tmp_func_name, tmp_func_type, _v = get_func_info_by_opstr(ea, i)
File "C:\Program Files\IDA Pro 7.5 SP3\plugins\cto\get_func_relation.py", line 261, in get_func_info_by_opstr
member_name = member_names.pop()
IndexError: pop from empty list
IDA Version 7.5 sp3
python 3.9.0
Failed while executing plugin_t.run():
Traceback (most recent call last):
File "C:/IDA Pro 7.7 SP1/plugins/cto_func_lister_plugin.py", line 149, in run
self.exec_cto_func_lister()
File "C:/IDA Pro 7.7 SP1/plugins/cto_func_lister_plugin.py", line 118, in exec_cto_func_lister
self.g = cto_func_lister.exec_cto_function_lister(cto_data=sync_data, debug=debug)
File "C:\IDA Pro 7.7 SP1\plugins\cto\cto_func_lister.py", line 1715, in exec_cto_function_lister
cto_func_lister = cto_func_lister_t(cto_data=cto_data, debug=debug)
File "C:\IDA Pro 7.7 SP1\plugins\cto\cto_func_lister.py", line 535, in init
cto_base.cto_base.init(self, cto_data, curr_view, debug)
File "C:\IDA Pro 7.7 SP1\plugins\cto\cto_base.py", line 62, in init
self.cmt_obj = comments.comment_t()
AttributeError: module 'comments' has no attribute 'comment_t'
I'm going crazy. I tried to solve it myself, everything seems correct, but I keep getting this error.
IDA PRO 7.7
Windows 10
Python 3.8
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.