逆向分析工具IDA与开源工具GhidraCutter对比测评

Posted 向往生

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了逆向分析工具IDA与开源工具GhidraCutter对比测评相关的知识,希望对你有一定的参考价值。

为评估当前逆向工具的效能,特写此文:

对比版本 

对比其中需要说明的几点:

软件名称出品方官网价格反汇编算法功能及平台支持远程调试反编译差异扩展性
IDA ProIDA商业公司(比利时公司)点击跳转软件+插件单独购买
价格几千美金
递归下降支持全品类处理器X86,X64,ARM,Linux
支持静态分析和动态调试
支持,可置入调试组件,网络调试分析目标机程序纯净还原C代码,支持间接寻址加偏移的程序的解析支持C++,Python,javascript,OCaml编写插件/处理器模块/文件加载器
Ghidra美国国家安全局NSA点击跳转免费线性扫描依赖Java,支持多处理器但未公布类别不支持无法过滤编译器添加的堆栈保护等代码支持 Java 或 Python
Cutter(radare2)社区贡献者,radare2的GUI版本点击跳转免费线性扫描未公布类别不支持无法过滤编译器添加的堆栈保护等代码支持python

1.出身

Ghidra是美国国家安全局开源和维护的,无法排除有什么ZZ问题、后门。

Cutter是radare2的GUI版本,但是之前radare 和radare2到Cutterr的变迁存在开发团队理念不合才做的分家(分支),开发团队的稳定性因为不是商业机构,可能存在长期支持维护不好的问题。

2.反汇编算法

IDA十几年的商业迭代,目前已经是7.6版本,反汇编的算法采用的是 递归下降算法,指 反编译时,按照调用关系来汇编,没有任何地方跳转到的十六进制字节,是不进行汇编的,代码量=有效代码量,这种独特的解析算法基于对程序的深刻分析,而其他的反汇编软件采用 线性扫描反汇编算法,从程序开始到结束,逐个字节对照汇编指令进行分析,反汇编出来的代码量=程序文件大小。效率和代码里,IDA更优。

3.远程调试

IDA支持在目标机上放置调试组件dbgserver,可以通过远程进行静态程序加载和动态调试。可以不需要在目标电脑上(如wince系统,linux系统)安装逆向分析软件或动态调试软件。

以上是关于逆向分析工具IDA与开源工具GhidraCutter对比测评的主要内容,如果未能解决你的问题,请参考以下文章

逆向中静态分析工具——IDA初学者笔记

逆向中静态分析工具——IDA初学者笔记之字符串分析

堆栈认知——逆向IDA工具的基本使用

堆栈认知——逆向IDA工具的基本使用

C++反汇编与逆向分析技术揭秘的目录

IDA逆向笔记-交叉引用分析(快捷键X)