Tan's Blog.

静态分析工具

字数统计: 948阅读时长: 3 min
2019/06/14 Share

静态分析工具

静态分析是指在不运行软件程序的情况下,利用分析工具,采用语法分析、词法分析、控制流与数据流分析等技术手段对软件程序进行扫描。

IDA Pro

IDA是一种递归下降反汇编器。但是,为了提高递归下降过程的效率,IDA的开发者付出了巨大的努力,来为这个过程开发逻辑。为了克服递归下降的一个最大的缺点,IDA在区分数据与代码的同时,还设法确定这些数据的类型。虽然在IDA中看到的是汇编语言形式的代码,但IDA的主要目标之一,在于呈现尽可能接近源代码的代码。此外,IDA不仅使用数据类型信息,而且通过派生的变量和函数名称来尽其所能地注释生成的反汇编代码。这些注释将原始十六进制代码的数量减到最少,并显著增加了向用户提供的符号化信息的数量。

Udis86

udis86支持的X86扩展指令集有:MMX, FPU (x87), AMD 3DNow, SSE, SSE2, SSE3, SSSE3, SSE4.1, SSE4.2, AES, AMD-V, INTEL-VMX, SMX
Udis86提供了一套反汇编的第三方库,用户可自行编写代码进行扩展。udcli是基于Udis86的反汇编工具,集成在Udis86项目里,通过命令行可快速实现反汇编。

Capstone

Capstone是Kali Linux自带的一款轻量级反汇编引擎。它可以支持多种硬件构架,如ARM、ARM64、MIPS、X86。该框架使用C语言实现,但支持C++、Python、Ruby、OCaml、C#、Java和Go语言,具有很好的扩展性。因此,该框架被256种工具所集成,如Cuckoo、Binwalk、IntelliJ IDEA。渗透测试人员一额可以通过Python、Ruby语言编写脚本,引入Capstone引擎,从而构建自己的反汇编工具。

PEiD

PEiD(PE Identifier)是一款著名的查壳工具,其功能强大,几乎可以侦测出所有的壳,其数量已超过470种PE文档 的加壳类型和签名。

扫描模式

正常扫描模式:可在PE文档的入口点扫描所有记录的签名;
深度扫描模式:可深入扫描所有记录的签名,这种模式要比上一种的扫描范围更广、更深入;
核心扫描模式:可完整地扫描整个PE文档,建议将此模式作为最后的选择。PEiD内置有差错控制的技术,所以一般能确保扫描结果的准确性。前两种扫描模式几乎在瞬间就可得到结果,最后一种有点慢,原因显而易见。

命令选项

peid -time〓 显示信息
peid -r〓 扫描子目录
peid -nr〓 不扫描子目录
peid -hard〓 采用核心扫描模式
peid -deep〓 采用深度扫描模式
peid -norm〓 采用正常扫描模式

010Editor

010Editor是一个专业的文本编辑器和十六进制编辑器,旨在快速轻松地编辑计算机上任何文件的内容。该软件可以编辑文本文件,包括Unicode文件,批处理文件,C / C ++,XML等,但010Editor擅长编辑二进制文件。一个二进制文件是一个文件,该文件是计算机可读的,但不是人类可读的(如果在文本编辑器中打开一个二进制文件将显示为乱码)。一个十六进制编辑器是一个程序,允许您查看和编辑二进制文件和先进的十六进制编辑器,包括010编辑器还允许你编辑硬盘驱动器,软盘驱动器,记忆钥匙,闪存驱动器,光盘中的字节的单个字节,过程等。

CATALOG
  1. 1. 静态分析工具
    1. 1.1. IDA Pro
    2. 1.2. Udis86
    3. 1.3. Capstone
    4. 1.4. PEiD
      1. 1.4.1. 扫描模式
      2. 1.4.2. 命令选项
    5. 1.5. 010Editor