IDA 在 ~70mb 可执行文件上运行缓慢

逆向工程 艾达
2021-07-01 07:57:47

我让 IDA 加载了一个大约 70MB 的可执行文件,它现在已经分析了大约 16 个小时(仍然没有完成,虽然已经完成了一半以上)。虽然进步,进步是非常,非常缓慢。另一方面,一个 5MB 的文件在大约 5 分钟内被分析。我记得一个 40MB 的可执行文件需要大约 30-40 分钟的时间来分析,但这与 16 小时以上相比不算什么。

Hopper 花费了大约 2 个小时(并且使用了 6GB 的 RAM!)来分析同一个文件,但它设法完成了它。查看反汇编后,似乎有问题的可执行文件倾向于使用许多函数指针(而不是直接调用函数)

这是正常的吗?我能做些什么来加快这个过程吗?

1个回答

您可以使用一些技巧来加快此过程。

IDAFunctions window以及其他一些窗口显示已排序的数据。这意味着对于添加的每个函数,它都会对整个视图进行排序。当操作 >100k 函数时,这可能需要相当长的 (>1se​​c) 时间。因此,如果您有大约 20 万个函数,则分析将或多或少地花费很长时间。

我强烈建议关闭(隐藏是不够的)除Output window. 这应该会加快速度。

关于RAM,作为​​32位应用程序,IDA最多只能占用3GB左右的内存。根据我的经验,它可以很好地处理 100MB 的二进制文件。