识别函数内部的 API

逆向工程 ida插件
2021-06-29 14:04:43

我知道这是一个愚蠢的问题😂😂

我正在使用 IDA,我想知道是否有一个插件可以识别函数内所有被调用的 API,而不是手动输入每个函数?

3个回答

我不确定插件。但是,这个答案提供了一个用于类似目的的 IDC 脚本。

很久以前我也写了一个脚本来调用函数图。您可以利用它并根据您的需要进行调整(idapython)。

def generate_graph():
        callees = {}
        # loop through all functions
        for ea in idautils.Functions():
            function = idc.get_func_name(ea)
            callees[function] = set()
            for h in idautils.FuncItems(ea):
                for xref in idautils.XrefsFrom(h, 0):
                    callees[function].add(idc.get_func_name(xref.to))
        return callees

要概览函数中调用的 API,您可以使用 Graph 功能而无需插入:

  • 选择功能
  • 点击菜单 View > Graphs > Users xrefs chart...
  • Starting Direction检查Cross references from
  • Ignore组中,检查所有除了Externals

在此处输入图片说明

在此处输入图片说明

另一种方法是在运行时使用 ollydbg 转储导入表,并使用脚本将其加载到您的 ida 中。我曾经从 ollydbg 的导入表中复制数据(地址和函数名称),并使用我编写的脚本将其解析为 ida。不过我现在已经找不到剧本了..