我有两个功能,我想在它们之间找到联系。
例如。也许有函数 5level up 调用了这些函数,或者其他复杂的连接。
我如何使用 ida 或其他工具找到它。
看图表帮不了我,我有 1000 多个函数
我有两个功能,我想在它们之间找到联系。
例如。也许有函数 5level up 调用了这些函数,或者其他复杂的连接。
我如何使用 ida 或其他工具找到它。
看图表帮不了我,我有 1000 多个函数
以下面的“Hello World!”为例。程序为例。
void Log(char* var) {
printf(var);
}
int main() {
Log("Hello World!\n");
}
编译后gcc,在 IDA 中打开该可执行文件。首先选择您想要开始的功能(例如main)。转到main函数,右键单击反汇编窗口(IDA 视图)并选择Proximity browser。或者按Num - 打开邻近浏览器或Num +打开图形视图。窗口将是这样的:
右键单击main矩形,选择Collapse children,然后选择Collapse parents。现在右键单击空白区域,选择按名称添加节点,选择要连接的第二个函数main()。例如这里我选择printf().
现在右键单击main矩形,选择Find path,printf从查找路径窗口中选择。您可以看到main和printf和中间Log函数之间的联系。