avatar

目录
媲美IDA,完爆Ghidra,功能强大,界面简洁的开源逆向平台Cutter介绍

Cutter

介绍

Cutter是一款优秀的由逆向工程师开发的开源逆向工程平台,整合了radare2ghidra两大开源平台,功能强大,界面清新~ 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
1
cutter ./one_gadget

这点和idaq/idaq64命令相似,ghidra只支持打开工程文件,不支持一键分析程序

开启程序后进入程序载入选项界面,这点和ida相同,不过比ida优秀的一点是在cutter的程序载入界面可以自定义分析级别:

选择完成后直接进入主窗口,十分方便快捷。

至于ghidra…用过的师傅都知道,在程序载入后,冒出来各种分析方式询问的弹窗,十分繁琐。

Cutter在界面简洁这点上媲美IDA,完爆ghidra

Cutter的主界面如下:

十分清新的界面,完全集成了Ghidra强大的反编译功能,支持多种语言的反编译,而且汇编界面和反编译界面的代码是同步的,这点比IDA不知强了多少倍。还整合了radare2的控制台,图形界面和控制台敲命令两不误~ 此外Ghidra的图形界面用起来很不爽,快捷键少的可怜了(界面还丑),比如改变字体大小都得去单独设置界面,切换界面还得用鼠标去点,而Cutter可以使用快捷键直接调整字体大小,按Space可以直接切换不同窗口,十分高效,这点比Ghidra不知强了多少倍。可以说,有了cutterghidra基本上可以退休了。

窗口

下面介绍一些常用的窗口

Dashboard

程序信息面板,开启程序口默认显示这个窗口,这里面的程序信息十分全面

Strings

字符串搜索窗口(同rabin2 -zz 命令),此外可以在结果中筛选字符串

Info

程序信息窗口,可选header,Import,Relocs等等信息,和ida、ghidra差不多

搜索窗口界面简洁、功能强大,IDAghidra望尘莫及。

这个界面提供两个选项,一个是搜索内容,一个是搜索范围。搜索内容十分全面,除了搜常见的汇编指令、字符串、十六进制字符串、32位值之外,居然还能搜ROP gadget!虽说直接用ROPgadget命令也能搜,但是Cutter支持设置搜索范围,而且搜索范围也十分全面,甚至能搜索当前函数中的gadget,这点甚至比ROPgadget命令还好用。

Disassembly/Decompiler

反汇编和反编译窗口,应该是最常用的两个窗口,可以把这俩分成两栏在同一屏幕显示。代码同步功能很实用,光标点击任何一个窗口的代码,另一个窗口都会自动同步到相应位置,这点和ghidra一样,但是IDA是不支持的。选中变量时会自动高亮同名变量(这点ghidra居然不支持…)

此外,Cutter支持Ghidrar2dec两种反编译器,可以互相参考。

Functions

默认显示函数窗口,可以看函数便宜,鼠标悬停在函数 上方还可以预览代码,很方便。

此外,cutter可以自动识别出stripped的程序的main函数:

这点和IDA相同,但是ghidra没有这个功能

Graph

反汇编图形代码块,好看。代码也可以和反编译窗口同步。

Hexdump

十六进制窗口,Hex和ascii也能同步显示。同时有很贴心的导出功能,支持多种语言格式:

快捷键

Cutter的快捷键大部分是和IDA相同的。

函数重命名

选中函数,按Shift+N键即可重命名函数。

变量重定义

Y可以直接对变量进行重定义,修改变量名和变量类型。

变量引用

IDA是一样的,选中变量按X可以查看引用信息

其他还有许多功能,就不一一列出啦~

下载

官网/下载地址:https://cutter.re/

官方github:https://github.com/radareorg/cutter

文章作者: TaQini
文章链接: http://taqini.space/2020/05/02/cutter-intro/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 TaQini
打赏
  • Wechat
    Wechat
  • Alipay
    Alipay

评论