Ida-如何找到两个函数之间的联系

逆向工程 艾达
2021-06-28 07:45:35

我有两个功能,我想在它们之间找到联系。

例如。也许有函数 5level up 调用了这些函数,或者其他复杂的连接。

我如何使用 ida 或其他工具找到它。

看图表帮不了我,我有 1000 多个函数

1个回答

以下面的“Hello World!”为例。程序为例。

void Log(char* var) {
printf(var);
}

int main() {
Log("Hello World!\n");
}

编译后gcc,在 IDA 中打开该可执行文件。首先选择您想要开始的功能(例如main)。转到main函数,右键单击反汇编窗口(IDA 视图)并选择Proximity browser或者按Num - 打开邻近浏览器或Num +打开图形视图。窗口将是这样的:

Proximity_Browser

右键单击main矩形,选择Collapse children,然后选择Collapse parents现在右键单击空白区域,选择按名称添加节点,选择要连接的第二个函数main()例如这里我选择printf().

查找路径

现在右键单击main矩形,选择Find pathprintf从查找路径窗口中选择您可以看到mainprintf和中间Log函数之间的联系

main_printf_graph