IDA pro使用入门:加载文件并开始分析
ida可以分析的文件格式也非常多,包括windows下的pe格式文件(.exe、.dll、.sys)、linux 下的elf文件(.elf、.so,安卓的JNI库同理)、mac系统的常见文件格式,以及一些不常见到系统的文件格式。
ida的功能强大,对于一般的无壳保护,无混淆代码的程序ida能直接反汇编出位代码(在进入函数代码区域后按F5快捷键),在一定程度上减少了逆向分析的难度和门槛。
一、启动分析
IDA分为x64和x86两个不同的版本,安装时会同时安装上,图标如下,图标上有64字样的就是专门用来分析64位程序的:
分析32位或64位的程序需要启动的IDA版本不同,不方便判断程序是32还是64位的话,最简单的方式就是同时启动这两个版本,再分别加载同一个要分析的程序进行分析,能成功分析的那个就是正确的版本。
启动软件后的第一个界面如下,单击“Go”按钮即可直接进入软件:
把要分析的文件拖入IDA的主窗口后:
这时候直接点击“OK”即可开始分析,分析过程中出现类似下面这样的提示,选择“No”即可:
此时软件窗口左下方会有正在分析的进度显示,直到显示“AU: idle”即表示分析完成:
此时软件会自动跳转到Graph view模式:
这时在IDA View-A子窗口内单击右键,选“Text view”即可切换到代码模式:
二、函数搜索
左侧的Functions window为分析出的函数列表,双击其中任意一行都可以跳转到对应的函数:
在该列表取得焦点的情况下,按Ctrl+F可以打开函数搜索栏,输入要搜索的函数关键字,即可搜索符合条件的函数:
三、代码分析
双击对应的函数名称后,右侧的IDA view-A会定位跳转到对应函数并显示出汇编代码:
此时按键盘上的F5键,即可自动反编译出该函数的伪代码:
这时双击左边的函数列表,可以在右侧的Pseudocode-A代码区反编译出对应函数的伪代码,在伪代码中双击调用的函数名称,可以跳转并自动反编译这个调用的函数(前提是该函数的代码在该程序内部,而不是外部的调用)。
伪代码包含了使用的变量和调用的函数和相应的参数等,虽然可读性不是很高,但已经在一定程度上体现出了程序内部的逻辑结构,包括一些字符串都会自动以明文方式显示,对提取二进制文件内部的信息起很大的帮助。