Free and Open Source Reverse Engineering Platform powered by rizin
Go to file
Nics c4e8a1c178 Small refactor for the widgets of Cutter (#405)
* Small refactor for the widgets of Cutter

This refactor include the following :

* Creation of a new class
Creation of a new class, named CutterWidget, that inherits from QDockWidget and
is used to represent all of the widgets of the main window.
The goal of this class is to regroup all the behaviour shared by the widgets of
Cutter.

For example : in the constructor, instructions corresponding of those
present in the macro **ADD_DOCK** (in MainWindow.cpp) are executed.
This was made because I think that the macro **ADD_DOCK** which is used
to construct the widgets does not take advantage of the object structure.

* Ensure that every widget has a parent
Some widgets were created using the constructor QDockWidget, but using
**nullptr** (default) as argument, thus they haven't got any parent.

The constructor of a CutterWidget takes as argument the MainWindow and an
action (optional) and calls the constructor of QDockWidget with the main
window as argument. This is valid under the assumption that it is mandatory
for every widget to have the main window as a parent.

* Constructors removal
The constructors of some widgets are not used anywhere and does not seem not
fullfill any current usecase. They were removed.

* Renaming CutterWidget to CutterDockWidget
2018-03-16 22:46:57 +01:00
.github Changes for 1.3 release 2018-03-09 16:28:04 +01:00
cutter_win32 Remove cutter win32 (#58) 2017-10-15 21:19:48 +02:00
docs Docs: Update build guide for Windows (#383) 2018-03-11 14:18:30 +01:00
radare2@4dffa5cd2e Changes for 1.3 release 2018-03-09 16:28:04 +01:00
src Small refactor for the widgets of Cutter (#405) 2018-03-16 22:46:57 +01:00
.appveyor.yml AppVeyor: Change Qt version (#393) 2018-03-13 19:14:40 +01:00
.gitignore Embed Jupyter using Python/C API 2018-02-27 21:26:14 +01:00
.gitmodules Remove cutter win32 (#58) 2017-10-15 21:19:48 +02:00
.travis.yml Fix themes for AppImage 2018-03-09 18:04:05 +01:00
build.bat Fix *.bat scripts (#390) 2018-03-12 08:15:31 +01:00
build.sh Make CUTTER_ENABLE_* individual vars in qmake 2018-03-16 18:37:38 +01:00
CONTRIBUTING.md Made CutterCore singleton 2017-10-09 20:09:35 +02:00
COPYING LICENSE -> COPYING 2017-11-27 17:31:48 +01:00
meson.py Update meson.py for changes in r2 2018-03-09 17:34:27 +01:00
prepare_r2.bat Fix *.bat scripts (#390) 2018-03-12 08:15:31 +01:00
README.md Update README.md (#386) 2018-03-11 19:41:11 +01:00

Cutter

Build Status Build status

A Qt and C++ GUI for radare2 reverse engineering framework (originally named Iaito).

Screenshot

Screenshot

Disclaimer

Cutter is not aimed at existing radare2 users. It instead focuses on those whose are not yet radare2 users because of the learning curve, because they don't like CLI applications or because of the difficulty/instability of radare2.

Installing

Downloading a release

Cutter is available for all platforms (Linux, OS X, Windows). You can download the latest release here.

Building from source

Requirements

Cutter is based on Qt so you will need to have it installed.

Building

First you must clone the repository:

git clone --recurse-submodules https://github.com/radareorg/cutter
cd cutter

Building on linux:

./build.sh

Building on Windows:

set ARCH=x64
set PYTHON=C:\Python36-x64
prepare_r2.bat
build.bat

If any of those do not work, check the more detailed version here.

Check this page for common issues.

Keyboard shortcuts

Shortcut Function
Global shortcuts:
. Focus console input
G & S Focus search bar
F5 Refresh contents
Disassembly view:
Esc Seek to previous position
Space Switch to disassembly graph view
Ctrl/Cmd+C Copy
; Add comment
N Rename current function/flag
Shift+N Rename flag/function used here
X Show Xrefs
Disassembly graph view:
Esc Seek to previous position
Space Switch to disassembly view
+ Zoom in
- Zoom out
= Reset zoom
J Next instruction
K Previous instruction

Help

Right now the best place to obtain help from cutter developers and community is joining this telegram group: