Page MenuHomeSolus

Switch from radare2 to rizin
ClosedPublic

Authored by aleksvor on Tue, Mar 30, 6:29 AM.

Details

Summary

Cutter has switched from r2 to Rizin as its backend, so we have to make this switch to continue supporting it.
Rizin also seems to be more packaging-friendly project in the long term:

  • Meson is now used as a default build system instead of custom ACR system of r2.
  • Rizin aims to provide a C API for external projects instead of relying on string commands.

Other interesting changes include proper project saving and loading (now it saves and loads the state of the reversing environment instead of simply replaying the commands) and usage of tree-sitter-based command parser by default.

Changelogs:

Depends on D10789.

Test Plan
  1. Disassembled /bin/ls with Rizin.
  2. Rebuilt and tested Cutter 2.0.0 against it.

Diff Detail

Repository
R4698 radare2
Lint
Automatic diff as part of commit; lint not applicable.
Unit
Automatic diff as part of commit; unit tests not applicable.

Event Timeline

aleksvor created this revision.Tue, Mar 30, 6:29 AM
aleksvor requested review of this revision.Tue, Mar 30, 6:29 AM

PR for deprecation of r2 here.

aleksvor updated this revision to Diff 25967.Tue, Mar 30, 9:02 AM

Update to 0.1.2 - this release only fixes incompatibilities with tree-sitter 0.19.x.

aleksvor edited the summary of this revision. (Show Details)Tue, Mar 30, 9:04 AM
JoshStrobl accepted this revision.Fri, Apr 9, 5:48 PM
JoshStrobl added a subscriber: JoshStrobl.

LGTM, thanks!

This revision is now accepted and ready to land.Fri, Apr 9, 5:48 PM
This revision was automatically updated to reflect the committed changes.