购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.6.1 IDA

IDA(Interactive Disassembler)作为业界最有名的反编译工具,被众多网络安全爱好者所喜爱,当前最新版为IDA 8.2。其中Pro和Home版本是收费版本,费用较为昂贵,读者也可以下载Free版本试用。这里以IDA Free版本为例做初步的介绍。在赛程时间较短的CTF比赛中,我们最常用的一个IDA功能就是汇编转代码功能,它可以帮我们节省不少时间。

在安装完IDA工具后,可以将要分析的二进制文件直接拖入IDA软件中。如图2-34所示,单击OK按钮IDA工具会自动对二进制文件进行分析。

图2-34 IDA工具分析二进制文件

当IDA工具分析完二进制文件后,会自动停在main()函数的入口处,如图2-35所示,左侧为程序所用的函数,右侧是IDA分析后的汇编代码。

图2-35 IDA二进制程序分析结果

如果使用者感觉图表的汇编代码阅读起来不方便,还可以按下空格键,切换成传统的汇编阅读方式,如图2-36所示。

图2-36 IDA切换成传统汇编阅读方式

对于新手直接分析汇编代码非常困难,既浪费时间又分析不准确。这里推荐使用IDA汇编转代码功能,快捷键为F5,又称为F5功能。只要按下F5快捷键,便可以将晦涩难懂的汇编语言转换成我们熟悉的C语言代码,如图2-37所示。在C语言的环境中,比如需要知道hardmode的内容,双击即可查看代码详情,按Esc键便可以返回原始main()函数入口界面。

图2-37 IDA汇编代码转C语言代码

除了强大的反汇编功能,IDA还拥有Patch功能(修补程序)。首先选中需要修改的汇编代码,然后在IDA菜单栏中选择Edit→Patch program→Assemble,便可以在弹出的窗口中修改汇编指令。如图2-38所示,修改程序mov eax,5为mov eax,0x5,接着单击OK按钮即可。

图2-38 IDA修改汇编指令

修补程序后,继续单击Edit→Patch program→Apply patches to input file,在弹出窗口中勾选Create backup复选框,如图2-39所示,单击OK按钮即可保存程序。

图2-39 保存修改后的二进制文件

IDA功能强大,此处只是粗略地介绍了一些IDA最核心的功能。如果想要详细了解IDA,读者可自行搜索学习。 STTTKpxgL1Bmj1qBoWnmhchjNJuQ94SPCEX0tFMqXIszJdUVoFlTYUX9aYKqG9w5

点击中间区域
呼出菜单
上一章
目录
下一章
×