媲美IDA,完爆Ghidra,功能强大,界面简洁的开源逆向平台Cutter介绍
作者: TaQini 更新时间:2020-05-02 18:00:29 原文链接
Cutter
是一款优秀的由逆向工程师开发的开源逆向工程平台,整合了 radare2
和 ghidra
两大开源平台,功能强大,界面清新~ Created by reverse engineers for reverse engineers
Cutter is a free and open-source reverse engineering framework powered by radare2 . Its goal is making an advanced, customizable and FOSS reverse-engineering platform while keeping the user experience at mind. Cutter is created by reverse engineers for reverse engineers.
下面是 官网 上介绍的 Cutter
的特点:
集成 radrae2
控制台•支持多种语言•二进制搜索•类型和结构•语法突出显示•STDIO重定向•远程调试•内核调试•图形概述•以及更多…

对比
目前比较流行的逆向平台有Ida pro、radare2、ghidra,这些平台各有千秋,Ida虽然强大却收费不菲,radare2功能十分全却莫得GUI,ghidra是个不错的工具但是过于庞杂(界面还丑)。可以说 Cutter
有着上述三个平台的全部优点,甚至比他们还要优秀。
首先 无需安装 ,下载下来就能用,支持多平台,而且程序大小仅有75M,这点是不论 ida
还是 ghidra
都比不了的。再有就是界面十分简洁小清新啦~
比如把 Cutter
加入环境变量后,可以在命令行一键启动 Cutter
分析程序:
shell
cutter ./one_gadget
这点和 idaq/idaq64
命令相似, ghidra
只支持打开工程文件,不支持一键分析程序
开启程序后进入程序载入选项界面,这点和 ida
相同,不过比 ida
优秀的一点是在 cutter
的程序载入界面可以自定义分析级别:

选择完成后直接进入主窗口,十分方便快捷。
至于 ghidra
…用过的师傅都知道,在程序载入后,冒出来各种分析方式询问的弹窗,十分繁琐。
Cutter
在界面简洁这点上媲美 IDA
,完爆 ghidra
。
Cutter
的主界面如下:
十分清新的界面,完全集成了 Ghidra
强大的反编译功能,支持多种语言的反编译,而且汇编界面和反编译界面的代码是同步的,这点比 IDA
不知强了多少倍。还整合了 radare2
的控制台,图形界面和控制台敲命令两不误~ 此外 Ghidra
的图形界面用起来很不爽,快捷键少的可怜了(界面还丑),比如改变字体大小都得去单独设置界面,切换界面还得用鼠标去点,而 Cutter
可以使用快捷键直接调整字体大小,按 Space
可以直接切换不同窗口,十分高效,这点比 Ghidra
不知强了多少倍。可以说,有了 cutter
, ghidra
基本上可以退休了。
窗口
下面介绍一些常用的窗口
Dashboard
程序信息面板,开启程序口默认显示这个窗口,这里面的程序信息十分全面
Strings
字符串搜索窗口(同 rabin2 -zz
命令),此外可以在结果中筛选字符串
Info
程序信息窗口,可选header,Import,Relocs等等信息,和ida、ghidra差不多
Search
搜索窗口界面简洁、功能强大, IDA
、 ghidra
望尘莫及。
这个界面提供两个选项,一个是搜索内容,一个是搜索范围。搜索内容十分全面,除了搜常见的汇编指令、字符串、十六进制字符串、32位值之外,居然还能搜 ROP gadget
!虽说直接用 ROPgadget
命令也能搜,但是 Cutter
支持设置搜索范围,而且搜索范围也十分全面,甚至能搜索当前函数中的gadget,这点甚至比 ROPgadget
命令还好用。
Disassembly/Decompiler
反汇编和反编译窗口,应该是最常用的两个窗口,可以把这俩分成两栏在同一屏幕显示。代码同步功能很实用,光标点击任何一个窗口的代码,另一个窗口都会自动同步到相应位置,这点和 ghidra
一样,但是 IDA
是不支持的。选中变量时会自动高亮同名变量(这点 ghidra
居然不支持…)
此外, Cutter
支持 Ghidra
和 r2dec
两种反编译器,可以互相参考。
Functions
默认显示函数窗口,可以看函数便宜,鼠标悬停在函数 上方还可以预览代码,很方便。
此外, cutter
可以自动识别出stripped的程序的 main
函数:
这点和 IDA
相同,但是 ghidra
没有这个功能
Graph
反汇编图形代码块,好看。代码也可以和反编译窗口同步。
Hexdump
十六进制窗口,Hex和ascii也能同步显示。同时有很贴心的导出功能,支持多种语言格式:
快捷键
Cutter
的快捷键大部分是和IDA相同的。
函数重命名
选中函数,按 Shift+N
键即可重命名函数。
变量重定义
按 Y
可以直接对变量进行重定义,修改变量名和变量类型。
变量引用
和 IDA
是一样的,选中变量按 X
可以查看引用信息
其他还有许多功能,就不一一列出啦~