mandiant / mandiant/capa

Cutter/Rizin integration (plugin?)

Open
#1,739 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
6.2k
Forks
726
Avg merge
11d 11h
Merged PRs (30d)
7

Description

[Rizin](https://github.com/rizinorg/rizin) is a highly-portable cross-platform reverse engineering framework and a toolkit. It has support for analyzing binaries, disassembling code, debugging programs, attaching to remote GDB/LLDB, WinDbg servers, rich plugin system (see `rz-pm`), and integration with various decompilers. For example, Ghidra decompiler plugin - [rz-ghidra](https://github.com/rizinorg/rz-ghidra). It is actively developed and can be easily integrated in various open source and commercial products. I believe, it will be highly beneficial to support these and provide a package for install from `rz-pm`, see the package repository here: [rz-pm-db](https://github.com/rizinorg/rz-pm-db).

For integration with Python we have native bindings via the [rz-bindgen](https://github.com/rizinorg/rz-bindgen): https://rizin.re/posts/gsoc-2022-rz-bindgen/

Screenshot 2023-08-21 at 14 35 46

[Cutter](https://cutter.re/) is a crossplatform Qt/C++ GUI frontend to Rizin:

Screenshot 2023-08-21 at 14 38 20

After Ghidra it's the second most popular FOSS reverse engineering tool and the most popular native one.

For documentation on writing plugins for Cutter see [the official tutorial](https://cutter.re/docs/plugins.html) and the [curated list](https://github.com/rizinorg/cutter-plugins) of various popular plugins.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

The issue names no capa files, tests, or entry points. Start by reviewing the linked Rizin package references, rz-bindgen material, and Cutter plugin tutorial, then clarify whether the goal is a plugin, Python integration, or rz-pm package; completion criteria are not defined.

Written by the indexing model from the issue text.

Assessment

Tech stack
cpp, python
Domain
devtools, reverse-engineering
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.