有没有什么简单的方法可以使用 IDApython获取二进制程序的函数调用图,然后将其转换为 networkx 图,而不是遍历每个函数并自己构建调用图?
基本上我想要一个调用图,我可以告诉哪些节点是库调用,哪些是本地节点,并且不包括库调用的函数(所以我不会深入研究嵌套库函数相互调用)
我试过 gen_simple_call_chart() 但有两个大问题:
生成的 DOT 文件中的库节点和本地节点之间没有区别(没有颜色或任何东西)
CHART_IGNORE_LIB_FROM 不起作用,我不想包含由库调用调用的节点:(
例如,无论是 library 还是 local ,所有节点都是黑色的:
"205" [ label = "sub_40AF20", pencolor = black ];
"206" [ label = "ShellExecuteW", pencolor = black ];