逆向工程恶意软件,第 3 部分:IDA Pro 简介

原文链接:https://www.hackers-arise.com/post/2017/06/22/Reverse-Engineering-Malware-Part-3-IDA-Pro-Introduction

欢迎回到我的逆向工程恶意软件课程!

本课程专为那些想要登上数字取证和网络安全巅峰的人而设计。

有许多工具可用于逆向工程,但一个拆卸器是独立的。这个行业几乎每个人都在某种程度上使用IDA Pro。IDA Pro是一个反汇编程序,能够在我们没有源代码的情况下执行二进制程序,并创建映射和多种理解二进制文件的模式。它采用源代码并将其表示为汇编代码,以便我们可以更好地了解原始代码的工作原理。IDA Pro也有一个调试器,但在本课程中,我们将主要关注其反汇编功能。

IDA(Interactive Disassembly)Pro最初由Ilfak Guilfanov开发,现在由他在比利时Leige的公司Hex-Rays出售。IDA Pro有Windows版本(我们将在这里使用)以及Linux和MacOS版本。

让我们开始使用IDA吧!

步骤#1下载并安装

IDA Pro是商业软件,但您可以下载本课程的免费版本或演示/评估版本。这些版本有一些限制,例如;

(1)它们只能在x86和ARM平台上工作

(2)它们仅适用于PE / ELF / Macho-0格式

(3)您无法保存结果,可能会超时

(4)其他一些限制。

您可以在此处下载其中任何一个。

下载IDA Pro,接受许可协议,安装Python 2.7并安装Microsoft Visual C++后,IDA Pro将安装到您的系统中。它现在应该在 Windows 的“开始”按钮的程序中。找到它并单击图标。当您这样做时,IDA将启动如下屏幕。点击“新建”。

步骤 #2 加载 PE 文件

由于我们正在使用演示版本,因此我们只能使用可移植可执行(PE)文件。现在,我们可以将文件拖放到工作中心窗口中,或单击文件->打开”。

选择要反汇编和分析的文件后,将弹出以下窗口。如您所见,IDA能够自动确定文件类型(可移植可执行文件)和处理器类型(x86)。点击“确定”。

当IDA开始反汇编和分析时,它会分析整个文件并将信息放入数据库中。此数据库有四个文件:

  1. .id0 – 包含 B 树样式数据库的内容
  2. .id1 – 包含描述每个程序字节的标志
  3. .nam – 包含与命名程序位置相关的索引信息
  4. .til – 包含有关本地类型定义的信息

每当您关闭IDA时,它都会询问您是否要保存这些数据库文件。如果这样做,这四个文件将存档到单个IDB文件中。当人们提到IDA数据库时,这就是他们所指的。这些文件将被保存并随时可供您使用。您将看到这些文件保存在与要分析的文件相同的目录中。

步骤#3开始反汇编

在本实验中,我将使用作为 Acunetix Web 漏洞扫描程序一部分的小.exe文件。它不是恶意软件,但它是一个很好的初学者演示。您可以使用任何32位便携式.exe(PE),因此IDA Pro的演示版本可以对其进行反汇编。当我们打开它时,IDA Pro开始其拆卸过程,并显示如下图所示的信息。

如上所示,IDA 在“IDA 视图”选项卡中为我们提供了一些基本信息。如果我们向下滚动 IDA 视图,我们可以看到每一行代码。这是我们开始恶意软件反汇编和分析时完成大部分工作的地方。

如果我们右键单击,它将显示如下所示的窗口。请注意,我们可以在IDA视图中选择文本视图或任何其他选项。当我们在课程的后面部分开始分析时,我们将在代码 F2 中设置断点。

此 IDA 视图上方的彩色条表示文件占用的内存。它为存储在内存的每个部分中的程序的不同部分的颜色代码。如果我们右键单击内存栏的任何部分,则可以放大存储在内存中的代码段。我们能够放大到单字节级别。

通过选择任何这些可用的视图,我们可以从许多不同的角度查看文件。其中包括 IDA 视图(如此处所示)、十六进制视图、结构、枚举、导入,最后是导出。通过单击这些选项卡中的任何一个,它将为我们提供代码的特定视图(请参阅下面的步骤5中的导入)。

IDA能为我们提供的最有趣、最有启发性的观点之一就是流程图。流程图以图形方式显示文件执行的流程,使其更易于理解。我们可以通过转到顶部菜单栏并单击“查看”->图形->流程图“来打开它。它将打开类似于下面的代码的流程图。

我们可以通过转到流程图顶部的“视图”菜单来放大,以获取更多详细信息。通过这种方式,我们可以查看来自每个寄存器,子例程和函数的程序流。

步骤 5:显示导入

当我们选择“导入”视图时,IDA将向我们显示.exe导入的所有模块。这些导入可以为我们提供有关恶意软件来源的线索。

步骤 6:自定义分析

最后,我们可以通过转到选项->常规来开始自定义IDA显示代码的内容和方式。下面屏幕截图中显示的窗口将使我们能够自定义分析。

虽然这远未对IDA Pro进行完整而彻底的介绍,但我们已准备好使用IDA Pro进行一些恶意软件分析!我将在整个课程中根据需要介绍其他概念和技术。

在继续之前,我认为向您介绍IDA Pro中的一些关键命令和快捷键是很有用的。

另外,请查找完整的IDA Pro快速参考表,由 www.datarescue.com(IDA Pro的原始销售和营销公司)的优秀人员提供。

发表评论

您的电子邮箱地址不会被公开。