当前位置:   article > 正文

恶意代码分析实战_05 IDA Pro

恶意代码分析实战

0. 概述

交互式反汇编器专业版(IDA Pro)是一款由Hey-Rays发布的极其强大的反汇编器。尽管IDA Pro并不是唯一的反汇编器,但它是许多恶意代码分析师、逆向工程师和漏洞分析师的首选。

有两个商业可用的IDA Pro版本。这两个版本都支持x86架构,高级版比标准版支持更多的处理器,最值得称道的是x64。IDA Pro也支持多种文件格式,比如可移植可执行文件(PE)、通用对象文件(COFF)、可执行与链接格式(ELF)。这里,我们主要围绕x86、x64架构和PE文件格式就行探讨。

IDA Pro除了反汇编整个程序外还可以执行查找函数、栈分析、本地变量标识等更多的任务。IDA Pro在它的快速库标记和识别技术(FLIRT)中包含了可扩展的代码特征,这让它能够识别并标记一个被反汇编的函数,尤其是编译器添加的库代码。

IDA Pro生来就是交互式的,并且反汇编过程所有属性都可用被修改、操作、重新安排或重新定义。IDA Pro最大的优势是它具有保存分析过程的能力,你可以添加注释、标记数据及函数名,然后将你的工作保存到一个IDA Pro数据库(idb)中,留作下次使用。IDA Pro也对插件提供了鲁棒的支持,这样你可用编写自己的扩展,或是利用别人的成果。

1. 加载一个可执行文件

当你加载一个可执行文件时,IDA Pro会尝试识别这个文件的格式以及处理器架构。本例中,文件是Intel x86架构上运行的PE格式文件

当加载一个文件到IDA Pro时,IDA Pro像操作系统加载器一样将文件映射到内存中。要让IDA Pro将文件作为一个原始二进制文件进行反汇编,选择界面顶部的二进制选项。这个选项是非常有用的,因为恶意代码有时会带有shellcode、其他数据、加密参数。甚至在合法的PE文件中带有可执行文件,并且当包含这些附加数据的恶意代码在Windows上运行或被加载到IDA Pro时,它并不会被加载到内存中。

PE文件被编译加载到内存中一个首选的基地址,如果Windows加载器无法将它加载到它的首选地址(因为这个地址已经被使用),加载器会执行一个叫做基地址重定向的操作。这在DLL中经常发生,因为它们经常被加载到与它们首选地址不同的位置。如果你遇到进程中加载的一个DLL的位置与你在IDA Pro中看到的不一样,这可能是这个文件被基地址重定向的结果。这种情况下,需要选择手动加载来指定文件要加载的新的虚拟基地址。

图1. 在IDA Pro中加载一个文件

在默认情况下,IDA Pro的反汇编代码不包含PE头或资源节,因为这些地方经常被恶意代码用来隐藏恶

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/725063
推荐阅读
相关标签
  

闽ICP备14008679号