我想从函数生成所有外部参照,只是为了检查它在其调用树中使用了什么api。我知道我可以通过右键单击函数名称和“ Xrefs from”来生成调用树图,但是我希望将此函数以文本或类似形式列出,以便我可以轻松阅读。 />从WinGraph读取它非常困难,而且我对这种讨厌的颜色有麻烦。很难在青色背景上阅读白色文本。而且我看不到任何配置它的方法。我的眼睛无法看清它。

那么我如何以某种友好的格式获得此外部参照?我相信这是有可能的。
我正在使用IDA 6.1

预先感谢

#1 楼

MyNav插件将递归显示函数调用,如下所示:


#2 楼

我没有检查它,请小心使用,当心此代码中的错误,祝您好运

import idautils
import idc
import idaapi

def handle_function(func_start):
    for h in idautils.FuncItems(func_start):
        for r in idautils.XrefsFrom(h, 0):
            if r.type == fl_CF or r.type == fl_CN:
                print hex(h), "--calls-->", hex(r.to)

handle_function(address_of_your_function)


#3 楼

查看|打开子视图|函数调用。



评论


谢谢你,但是我真正想要的是像i.imgur.com/rQvraS8.png这样的调用树。 (包括超过0个级别的调用)我认为我必须像用户w提议的那样编写脚本,但对其进行编辑,以便其搜索更加深入。

–larw
2014年5月6日17:13