Cutter – Free and Open Source Re Platform Powered by Radare2
cutter.re
cutter.re
I will confess I use one written by the author of radare2; in fact, it was apparently the precursor to radare.
It is called ired and I keep a copy of it as a single .c file. Compiles quickly on BSD/Linux. Works well with large binary files.
I recently went trying to add more modern arm to it, but it's unfortunately not easy to extend. Some of these tools were written by only one or two people and have a lot of work in them which is quite impressive.
Unfortunately that one person codebase also means that it is generally hard to extend and rewrite.
https://nitter.nixnet.services/r2gui/status/1300792273819635...
But I'm very impressed that retdec was able to to get in an early return. Deeply nested ifs are a big pain point for me in ghidra, in cases when the code would be much easier to read with an early return.
Edit: I wonder how it's implemented. Presumably you need some heuristic to decide to duplicate a basic block. Perhaps that could be exposed to the user?
That’s what I often used to construct or understand regular expressions, for what it’s worth!
While Ghidra, radare2 and IDA Pro are difficult to use, UI wise this and Hopper have simpler GUIs to help you focus on the actual re task
It's a synthesizer. Instead of using the classic MIDI protocol and SYSEX messages , it uses a proprietary protocol to communicate with a software via USB. I want to create an alternative open source software editor for that synthesizer. That's why I need to reverse engineer the protocol in order to send the right USB packets to the device.
Is it possible that the synthesizer is using a classic USB chip (such as the "FTDI") and doing serial over USB? If that's the case, it might be substantially easier to figure out the protocol.
Another option is to try to look at its ID using `lsusb`.
If it's a known USB-to-serial chip, then I guess you can mount it and read/write directly to it using pyserial.
Cutter is a program for the disassembly of programs. In order to use it you need knowledge of assembly, and that usually takes at least a year of training.
Reversing the USB protocol by software is very hard for someone without experience. USB protocol is very complex and has lots of layers.
I recommend that you start watching videos on internet like "reversing usb devices" and looking at real projects that do it.
Also, last time I used wireshark it gave me a very low level representation of things. It is a very good idea also knowledge of programming like python or lisp that can transform the low level representation into high level information automatically.
How does a tool like this compare with a classical disassembler? Is it the same thing plus a GUI to navigate the code?
Examples include ida, ghidra, binary ninja, hopper, and x64dbg; cutter is an opensource program with similar functionality to those.
Then I clicked the link, and the first line also says it's a RE tool. Huh. Fuck me, right?
So I'm gonna leave it here: https://blog.mitchjlee.com/2020/your-writing-style-is-costly
But qira README says: QIRA is a competitor to strace and gdb
This is very different in itself. Cutter is competitor to IDA, Binja or Ghidra. In fact, Debugging in Cutter is still in beta while all other features work very well.
P.S. You didn't need to downvote this lol. Take a little criticism ( it wasn't even criticism tbh ) ig?
Qira doesn't seem to have diasm graph, fn call graph, hex editor, decompiler, etc.
>It's more minimal, that's all and it's personal preference.
Totally understand and for that you should have a look at radare (https://radare.org/n/radare2.html)
>You didn't need to downvote this lol. Take a little criticism.
I'm sure I didn't as I'm new to HN and somehow don't see downvote option. This was not a criticism tbh, more like a misunderstanding and it's fine.
(I find the conflation of minimalness with elaborateness of GUI a bit amusing. Like when people say that xterm is more minimal than gnome-terminal, when in fact the two have similar featuresets and xterm is if anything more bloated.)