逆向分析工具IDA与开源工具Ghidra、Cutter对比测评
为评估当前逆向工具的效能,特写此文:
对比版本
对比其中需要说明的几点:
软件名称 | 出品方 | 官网 | 价格 | 反汇编算法 | 功能及平台支持 | 远程调试 | 反编译差异 | 扩展性 |
IDA Pro | IDA商业公司(比利时公司) | 点击跳转 |
软件+插件单独购买 价格几千美金 |
递归下降 |
支持全品类处理器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与开源工具Ghidra、Cutter对比测评相关推荐
- 55种数据可视化开源工具_通过开源工具增强学生能力的15种方法
55种数据可视化开源工具 该学年即将恢复,因此您将在接下来的几周内在Opensource.com上看到更多教育文章. 最近,我读了约翰·斯宾塞(John Spencer)和AJ朱利安尼(AJ Juli ...
- 55种数据可视化开源工具_4种开源工具让我的创业起步
55种数据可视化开源工具 当我创办第一家公司时,资金很紧张. 我们有一个小型办公室和几台计算机,但没有其他很多. 我完成了所有成本计划,甚至没有考虑营业执照和软件成本. 我知道这是一个错误,但是将此类 ...
- 开源在线文档编辑工具_4个开源工具,可让您无忧地在线阅读
开源在线文档编辑工具 我敢打赌,您会在网络浏览器中进行一些阅读(可能比其他). 该阅读内容可能包括从博客文章,文章和文章到较长的论坛文章等等的所有内容. 在浏览器窗口中阅读的问题在于,它充满了分心. ...
- 逆向分析系列——常见的脱壳工具
脱壳工具 :UPX-Ripper1.3 UPX-ShellEx V1.0 RC9 脱壳对象:UPX Stripper v2.7 ASP Unpacker PE-Scan 脱壳对象:ASPack UnP ...
- 华为开源构建工具_5个开源工具可快速构建地图应用
华为开源构建工具 近年来,地理信息系统(GIS)引起的所有关注都可能使您认为它们是新事物. 实际上,超过160年前,地理空间数据在确定1854年伦敦霍乱致命爆发的来源方面发挥了重要作用. 当地医生约翰 ...
- 工具推荐 | 利用开源工具查看MobaXterm远程终端工具存储的Session账号密码信息
欢迎关注「WeiyiGeek」公众号 点击
- 拿走不谢!固件逆向分析过程中的工具和技巧(上)
将固件逆向分析,然后再将逆向分析后的内容转换为有用的东西,这个过程对于所有人来说都是一个耗时又耗力的过程.有时即使文件出现在你面前,你也无能为力,比如你可能会面临专有(几乎没有文档记录)的文件格式.奇 ...
- 拿走不谢!固件逆向分析过程中的工具和技巧(下)
上文,我们讨论了固件逆向分析过程中的部分工具和策略,这篇我们接着介绍如何分析被加密的固件以及分析策略. hex editor的使用 hex editor是一款使用简单的十六进制编辑工具,能快速对数字进 ...
- [系统安全] 三.IDA Pro反汇编工具初识及逆向工程解密实战
您可能之前看到过我写的类似文章,为什么还要重复撰写呢?只是想更好地帮助初学者了解病毒逆向分析和系统安全,更加成体系且不破坏之前的系列.因此,我重新开设了这个专栏,准备系统整理和深入学习系统安全.逆向分 ...
- neo4j 机器学习_21个必知的机器学习开源工具,涵盖5大领域
作者 | 张璐瑶.李林虹 来源 | 读芯术 本文将介绍21个你可能没使用过的机器学习开源工具. · 每个开源工具都为数据科学家处理数据库提供了不同角度. · 本文将重点介绍五种机器学习的工具--面向非 ...
最新文章
- java运算符-逻辑、三元运算符
- 数据结构:最大子序列和
- http请求中get和post的区别以及其他请求方式
- java web定义数组_Java基础之数组--数组常用操作
- 微软官方的SqlHelper
- 采用redis+ThreadLocal获取全局的登录用户信息(二)增加token快失效时刷新
- 为了养成NLP卷王,我画了一张路线图
- 5G 协议新漏洞可追踪位置信息
- 【转载】oracle normal、sys、system、sysdba、sysoperdba的区别
- 使用 matlab 数字图像处理(七)—— 频率域处理
- 用时间序列的方法处理数据
- javascript的模块化编程
- 无线ac管理服务器调试方法,AC功能管理无线AP设置步骤
- python写一个网络测速脚本_网络测速工具——Speedtest
- 机器人操作空间轨迹规划 -- 姿态规划
- isis学不到looback口的路由_光纤猫接D-Link无线路由器,怎么设置上网
- objective-c感悟(四)class、catagory、class extension、optional
- POJ 1273 Dinic
- 浅谈CPU 硬盘 内存关系
- python技术分享_Python技术分享:爬虫