逆向分析工具介绍
2.1逆向分析工具介绍
在二进制代码分析中,必须要用到逆向分析的工具,这些软件工具一般可分为
2.1系统监控工具,
2.2反汇编器,
2.3调试器
2.4和反编译器。
系统监控工具用来监控,研究以及剖析
待逆向的程序,这是由于程序与外部世界的通信都要经过操作系统,系统监控工具可
以监控网络活动,文件访问,注册表访问等等一系列的软件运行活动。反汇编器足以
程序的可执行二进制代码为输入,生成包含整个或部分程序的汇编代码文本文件的程
序。
反汇编是一个与处理器相关的过程,反汇编器一般支持多种CPU絮构,反汇编
器的工作过程比较简单,但优秀的反汇编器能更加准确识别二进制代码,提高逆向分
析效率。
调试器是一种程序,它允许软件开发人员在程序运行的同时观察程序。它的
两个最基本特征是:断点设置和代码跟踪。断点允许用户选择程序中任意位置的某行
代码,一旦程序运行在这一行,它就指示调试器暂停程序的运行,并显示程序的当前
状态。代码跟踪允许用户在程序运行时跟踪它的执行,跟踪意味着程序每执行一条汇
编代码然后暂停,并允许用户观察甚至改变程序的状态。通过断点设置和代码跟踪,
用户可以在程序执行到有问题的代码的同时仔细地观察代码,并确定问韪的所在。
反编译器的功能要比反汇编器更进一步,反编泽器接受可执行的二进制文件,并试图从
中生成可读性好的高级程序语言代码。其思想是尝试逆向编译的过程,以获得最初的
源代码文件或接近最初源代码的文件 。然而对于人多数C,C++开发的程序而言,
真正恢复初始源文件是不太现实的。
我们在逆向分析中运用了大量的辅助软件,这砦软件不仅仅在对FreeGate软件的
分析中有重要用途,同时也可以将其扩展,在建立一个通用分析方法中扮演不可或缺
的角色。
我们将分析工具分为五大类,以下工具均为运行在Windows下的软件。
(1)反汇编工具
反汇编工具是逆向分析中,最重要的工具,它不仅仅能够将可执行文件的.二进制代
码翻泽成汇编代码,同时还可以根据软件内部的互相调用关系分析软件的结构,识别
软件的函数调用。反汇编工具在逆向分析中作为前期的处理者,能够极大的减少人工
工作。我们主要使用的反汇编工具有:
Ollydbg l.10(自由软件,功能强大,结合静态反汇编与动态调试的分析器)
Win32Dasml (自由软件,静态分析工具)
IDA pr0 5.0 (商业软件,最强大的静态反汇编工具)
(2)动态调试工具
动态调试工具是人工逆向分析中所用到的主要工具,在经过反汇编工具的处理之
后,我们可以获得人量的软件信息,但是软件的行为和许多细节,必须在运行过程中
才能寻找出来,因此我们需要结合动态调试上具进行分析。我们主要使用的动态调试
工具有:
Ollydbg l.10(自由软件,功能强大,结合静态反汇编与动态调试的分析器)
Windbg 6.7【8】(免费软件,Microsoft公司的内核级调试工具)
(3)软件信息识别和修改工具
软件信息识别和修改工具,是软件信息分析的重要辅助工具,通过这些工具灼帮
助我们能够方便的获取软件的内部资源信息,问时还可以修改一砦细节,方便调试。
我们常州的软件信息识别和修改工具有:
Hedit l.0(共享软件,16进制编辑器)
PEiD 0.94(免费较件,软件信息和编写语言分析工具)
(4)系统监视工具
作为黑箱分析的重要辅助手段,对于软件的各方面进行监视的工具是必不可少
的,我们将其分成网络监视,进程监视,文件监视和注册表监视网个方面:
Wireshark l.0 (免费软件,网络监视和包分析类软件)
Outpost Firewall 4.01 (共享软件,使用hook技术的Windows防火墙)
ProcExp 10.21 (免费软件,强人的进程分析软件)
FileMon 7.04 (免费软件,强大的文件读写监视软件)
RegMon 7.04 (免费软件,强大的注册表读写监视软件)
(5)专用反保护工具
LordPE (Win32 PE文件修改,转存工具)
ImportREC (Win32 PE文件结构修复软件)
AIl versions ASPack unpacker (免费软件,ASPack压缩壳脱壳工具)
UnPECompact2.02[19](免费软件,PECompact压缩壳脱壳工具)
UPX 3.0[20](自由软件,UPX压缩壳加壳和脱壳工具)
参考:
FG软件的逆向分析技术研究.doc
Powered by Zoundry