软件安全分析基础工具
静态分析工具
IDA Pro
-
IDA Pro简称为IDA,是一款交互式的反汇编工具。
-
IDA使用递归下降算法进行 代码扫描,从而反汇编。
-
IDA也有强大的反编译功能,在汇编代码页面点击F5,即可得到反编译后的伪代码。
-
IDA的导入表与导出表函数的解析功能具备提取导入表的地址、函数名、动态库名等参数和导出表的地址、函数名、Ordinal等参数。
-
IDA能够加载pdb格式的符号库,通过符号库能够解析出大量的函数符号信息。
-
IDA提供了SDK插件开发接口,用户能够扩展逆向分析功能。
Udis86
-
Udis86是一款开源反汇编库。
-
Udis86提供了一套反汇编的第三方库,用户可自行编写代码进行扩展,Udis86库提供了C/C++接口。
-
基于Udis86的反汇编工具udcli。udcli集成在Udis86项目里,通过命令行可快速实现反汇编。
Capstone
-
Capstone是一款开源、轻量级、多平台、多架构反汇编框架。
-
Capstone的主要功能是提供一套反汇编框架、核心是反汇编引擎,提供扩展接口。
-
Capstone提供了C语言开发接口。Capstone基于C语言开发,提供C/C++、Pyhon、Java、Perl等接口,具有开放接口好、轻量级、性能高等特点。
-
目前基于Capstone进行开发的产品被应用于恶意软件自动分析、逆向工程等领域。
PEID
-
PEID的功能有检查PE文件的构成成分,也用于检测程序是否加壳。
-
如果想要对程序进行脱壳,需要辅助插件的帮助。
010Editor
-
010Editor是一款编辑器软件,具有文件编辑和文件解析等功能。
-
文件编辑是010Editor的基础功能,编辑方式支持文本编辑、二进制编辑以及十六进制Hex等编辑模式。同时也具备复制、剪切、粘贴、查找、替换等基础功能。
-
范本分析是010Editor的一大特色功能,用于对文件格式进行解析,提取文件的格式字段内容。范本解析需要范本文件Template.bt的支持。
-
脚本分析功能也是010Editor的一项高级功能,需要脚本文件的支持。
动态分析工具
Process Monitor
-
Process Monitor是一款进程监控工具,主要用于进程行为监控与记录,包括文件操作行为、注册表操作行为、网络行为等。
-
Process Monitor能够监控文件的打开、读、写、关闭等操作,同时获取操作是否成功的状态、文件路径、读写偏移量、字节数等参数。
-
Process Monitor能够监控注册表的创建、打开、读、写、关闭等操作,同时获取操作是否成功的状态、注册表路径、访问类型、长度等参数。
Wireshark
-
Wireshark是一款开源的网络数据包采集与分析软件,具备数据包采集和数据报文协议解析的能力。
-
Wireshark的流量采集功能通过Capture菜单的Option选项进行设置,设置要采集的网卡,设置过滤规则,可以指定协议、IP地址、端口号等。
-
Wireshark的协议分析功能可以分析实时采集的数据,也可以飞行系离线存储的数据包,协议分析支持网络层的IP、IPv6,支持传输层的TCP、UDP,支持应用层的HTTP、FTP/POP3/SMTP等已知协议,另外还支持IPsec、SSL、TLS、HTTPS等安全协议。
总结
这里面很多软件在之前做oj题时都已经使用过,所以这一章学习起来还是很快的,因为已经有过一定的实践经验,不过这一章的学习也给了我不少对这些软件使用方式新的启发。