七、IDA静态分析MIPS-Linux程序环境搭建

注:

若访问github或Google较慢,可使用加速器:
http://91tianlu.date/aff.php?aff=3468

在这里插入图片描述
IDA是一款强大的反汇编和动态调试工具,能够辅助研究人员进行静态分析和动态调试。书中通过开源工具将Windows中的IDA工具运行在了Linux系统中。我也多次尝试使用开源工具wine来安装IDA的不同版本,但由于各种原因,导致安装成功率并不高,总是出现各种各样的问题。后来我在网络上搜索到在Linux系统中直接可以使用的版本。这一小节的内容就是对这一方法的总结。

我在百度云盘中上传了IDA的Linux版本,读者可以复制链接下载:

链接:https://pan.baidu.com/s/1jX7EESn5GvIqpttLE83_Gw 
提取码:bl4n

将IDA的压缩包下载到Ubuntu系统中并对其进行解压后,直接在对应的目录中执行./idaq就可以将ida直接启动,因为该版本的IDA是32位的,直接在64位的Ubuntu系统中不能直接启动,所以需要首先在Ubuntu系统中安装启动32位程序需要的依赖库:

$ sudo apt-get install libc6-i686:i386 libexpat1:i386 libffi6:i386 libfontconfig1:i386 libfreetype6:i386 libgcc1:i386 libglib2.0-0:i386 libice6:i386 libpcre3:i386 libpng12-0:i386 libsm6:i386 libstdc++6:i386 libuuid1:i386 libx11-6:i386 libxau6:i386 libxcb1:i386 libxdmcp6:i386 libxext6:i386 libxrender1:i386 zlib1g:i386 libx11-xcb1:i386 libdbus-1-3:i386 libxi6:i386 libsm6:i386 libcurl3:i386

依赖库安装完成后,直接在IDA的安装目录下使用./idaq就能启动IDA了,当然也可以直接双击idaq程序完成启动:

test@ubuntu:~/Desktop/IDA_Pro_v6.4$ ./idaq

在这里插入图片描述
我使用的IDA是v6.4版本,直接将MIPS-Linux架构的程序使用IDA Pro软件打开,IDA可以自动识别要分析程序的指令集架构信息,你只需要保持一路默认就能对其进行反汇编。但为了方便做分析,还需要安装基于MIPS架构的辅助分析插件。

插件下载地址在GitHub上:

$ git clone https://github.com/devttys0/ida.git

下载完成后,分别进入到plugins目录和modules目录,在命令行下,使用python环境运行install.py即可完成安装:

$ python ./install.py /path/to/your/ida/install/directory

为了测试插件安装是否成功,我们从网络上下载一个别人编译好的MIPS-Linux架构的应用程序,这里以busybox为例:

https://busybox.net/downloads/binaries/1.21.1/busybox-mips

将下载好的busybox-mips程序使用idaq程序打开,然后一路保持默认,就能够顺利的对这个busybox-mips程序进行反汇编了:
在这里插入图片描述
在这里插入图片描述
完成以上步骤后,依次单击“Edit”->“Plugins”选项,如果在下拉的子菜单中可以出现“MIPS ROP”字样的插件名称,就说明刚刚从GitHub中下载的插件安装成功了。

我们来运行MIPS ROP插件测试一下:

依次单击“Search”->”mips rop gadgets“:
在这里插入图片描述
然后搜索”把栈地址赋值给$a0寄存器“的ROP gadgets:
在这里插入图片描述
如果你能够成功的搜索到一些ROP gadget指令片段,就说明MIPS ROP插件可以正常工作了。

关于每个插件的详细功能和用法在GitHub中每个插件目录下的README.md中都有详细说明,读者可以进到每个插件目录中逐个阅读:
在这里插入图片描述
这一小节中,我们主要介绍了使用IDA Pro对MIPS-Linux架构的应用程序做静态分析前的准备工作。并对“mips rop finder”插件进行了简短的说明。

下一小节,我们将会对使用IDA Pro如何对MIPS-Linux架构的应用程序做动态调试的步骤做出总结。

最后,希望本次的分享能够给你带来帮助。谢谢大家。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

后知晚觉

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值