IDA Pro配合Hex-Rays Decompiler,可以把已经识别的机器代码转换成接近C语言形式的伪代码,并进一步保存成.c文件。这种结果主要方便阅读程序逻辑,并不等同于恢复原项目源码,原来的变量名、注释、宏定义以及部分类型信息通常已经不存在。导出后发现少了函数、某段只有声明,或者个别位置没有生成代码,也不一定是保存动作出了问题,函数识别状态、反编译失败和类型分析都会影响最终内容。
IDA Pro会把反汇编结果、函数命名、注释、类型信息以及大量分析状态保存在IDA数据库中,因此关闭程序后通常不需要重新分析原始二进制文件,只要重新打开对应数据库即可继续工作。当前IDA主要使用.i64数据库,较早版本还可能留下.idb文件。处理“IDA Pro数据库怎么重新打开,IDA Pro数据库加载失败是什么原因”时,应先确认打开的是数据库本身,再根据版本兼容、异常关闭、文件完整性和插件环境逐项判断。Hex-Rays说明,IDA数据库就是用于保存分析工作并在后续会话中继续使用的文件。