版本:IDA Pro 7.6
Graph View(控制流视图)其实我真的看得很少,因为遇到分析难题时总是是因为间接调用,它根本分析不出来。但是一开IDA它就自动分析这个特别卡。所以今天想彻底解决一下,让默认打开为Text View。
注:后来发现卡顿不是分析控制流视图的分析造成的。
网上找了一下没找到,问了一下GPT,记一下这个过程。
文章目录
- 设置Text View为默认
- 解决IDA打开新固件卡顿的问题
设置Text View为默认
在IDA (Interactive Disassembler) 中,默认情况下打开一个新的二进制文件时,IDA 通常会展示其“控制流图”(Graph View)。如果你希望IDA在打开之后默认显示“文本视图”(Text View)而不是“控制流图”,你可以尝试以下方法:
-
打开IDA的“Options”菜单,选择“General…”。
-
在“General”设置中,找到启动或布局相关的选项。
-
修改默认视图设置,将其从“Graph View”更改为“Text View”或“IDA View-A”。【实际操作是禁用某个选项】
-
确认更改并重新启动IDA。
然后我发现它虽然确实是Text View了但是一打开它还是很卡,而且转成Graph View很迅速,说明它可能还是对Graph View进行了分析。我希望直接关掉这个分析。
解决IDA打开新固件卡顿的问题
于是我问GPT,它让我看看打开的时候的选项,我发现打开时它有个“Analysis-Enable”的选项:
我把这个选项关掉之后打开新固件的速度快了很多。
但是经过我的测试我发现这个关掉或者开启不会影响转成Graph View的速度,说明打开新固件卡顿的原因根本就不是这个分析过程。
于是,我把Analysis打开了并观察了一下它到底是什么这么耗时:
根据对输出的观察(如下图),发现是分析的时候,IDA会自动连接网络对function信息进行进一步的解析,而可能是因为我用的版本是绿色版没有联网功能,或者我的网络不好,或者远端没有ARM的资料库,什么原因都有可能,总之就是无响应了。
GPT:这个日志指出的卡顿可能是由于IDA尝试连接到其Lumina服务器来获取已知库的信息,但是连接失败了。Lumina是Hex-Rays提供的一项服务,旨在通过网络共享和检索函数信息来增强IDA的功能。如果你在分析时不需要这项服务,或者连接Lumina服务时遇到问题,可以选择关闭这个功能来避免启动时的延迟。
我发现这个功能就在IDA的菜单栏,于是我直接上网查了一下,查到有CSDN博客这样说:
二进制静态分析—库函数识别:lumina(ida>7.2,有一定效果),ida7.2新推出的功能,类似finger。ida官方出了一个符号识别服务器。但是正版太贵了,买不起。山寨lumina安装:具体参数参考https://lumen.abda.nl/cert
我根据https://lumen.abda.nl/cert的教程去修改了我的配置,才发现我的配置竟然本来就是改好的!只是端口不一样(说明是之前的破解大佬自己改的)。
IDA < 8.0修改的具体方式是:
1. 修改{IDA_HOME}\cfg\ida.cfg
LUMINA_HOST = "lumen.abda.nl"; // This semicolon is important!
LUMINA_PORT = 1235
2.安装签名文件:下载hexrays.crt(https://abda.nl/lumen/hexrays.crt)放到IDA根目录,重启IDA即可
lumen(就是lumina的山寨版)是这么解释:
lumen.abda.nl 的原始证书已于 2021 年 10 月 2 日到期。 因此,颁发了有效期为 5 年的新证书,端口已从 1234 更改为 1235。
更新后这个功能就能正常使用了,也可以看到一些元数据:
解决了这个问题之后,虽然它分析数据还是会卡顿一下,但是没之前卡得久了。感觉还好。