IDA作为一款支持多个平台系统的反编译软件,被各界人员所广泛使用,功能十分强大。那么IDA在帮助我们反编译解析文件的过程中,究竟做了一些什么操作呢?
实际上,IDA本质是一个数据库应用程序,在分析可执行文件时,IDA会自动针对此文件创建和填充数据库,之后我们对此文件执行的一系列修改和操作,最终都只是对数据库进行修改。IDA强大的地方在于它提供了各种可用于分析和操作数据库的工具。
一、创建IDA数据库
当我们打开IDA后,选择“New”新建一个文件反编译任务,随后选择需要反编译的文件,此时IDA会弹出一个保存数据库界面,提示我们设置此文件数据库的保存路径,保存类型为i64类型,具体如下图1。
设置完成之后,一路点击确定直到文件在IDA中分析完成并打开,此时我们在数据库保存路径下即可查看到下图2红框标出的四个文件。
其中id0类型文件是一个二叉树形式的数据库;id1类型文件包含了描述每个程序字节的标记;nam类型文件包含了与Names窗口显示的给定程序位置有关的索引信息;til类型文件则存储了与数据库本地类型定义相关的信息。
一旦出现了上述四个文件,说明IDA关于该文件的数据库创建成功。
二、保存IDA数据库
创建数据库成功后,我们可以在IDA中对反编译文件进行各种编辑操作,当我们关闭文件时,会弹出下图3所示的保存数据库的界面,该界面提供了三个保存数据库的选项,我们需要按需选择。
第一个选项:Don not pack database(不打包数据库),使用此选项,则数据库的四个文件将不会被打包成一个IDB文件,建议不要使用此选项。
第二个选项:Pack database (Store)(不压缩打包数据库),使用此选项,会将上述的四个数据库文件通过“不压缩”的形式打包成一个文件,建议使用此选项。
第三个选项:Pack database (Deflate)(压缩打包数据库),使用此选项,会将上述的四个数据库文件通过“压缩”的形式打包成一个文件。
我们选择第二个选项进行数据库保存,保存过后即会生成一个i64格式的数据库文件,如图4。通过双击该数据库文件可快速在IDA中打开到上一次编辑时的状态界面。
三、IDA数据库的好处
IDA将某个可执行文件解析后保存到数据库中,从速度角度出发,我们再次打开此文件时,不需要再重复解析第二次,节省了计算机资源;从安全角度出发,当我们在分析恶意软件时,无需重复在分析人员之间传递恶意软件本身,我们只需要传递恶意软件的分析数据库即可。
打开数据库的方式也很方便,在Open菜单中,我们选择打开的类型为i64类型,然后找到数据库文件打开就可以了。
IDA通过数据库的方式进行文件反编译编辑与保存,同时保障着我们的使用安全。了解这方面的相关知识,有利于我们对IDA的进一步使用,更多关于IDA的相关教程,我们可到城东书院网站上进行了解查看。