通常,您在IDA中看到一个函数,并想知道它能做什么?什么可以执行?但你只能看到它的身体。
这个脚本与以前的不同,它将从当前函数开始绘制调用图,递归深入,直到某个限制,因为整个调用图可能很大,很难导航。
例如,Linux内核中的vsnprintf()函数:kernel_vsnprintf.png。现在你可以谈谈这件事了。而且它和标准的不一样。";...";结尾表示有更多的呼叫,这些呼叫被限制了。
与我之前的IDAPython脚本不同,这个脚本不需要外部networkx库。但是您需要GraphViz来渲染*.gv文件。
此外,图中所有可能路径的列表可能会很大,因此只会转储函数列表。