I am looking for a free & open source alternative to IDA Pro runs on MacOS - the suggestions should have as close to the features of IDA as possible. I should also be able to edit an executable that I am debugging (i.e. change/remove things).
-
6Possible duplicate of Is there any disassembler to rival IDA Pro?– Brendan Dolan-GavittCommented Jul 23, 2017 at 4:11
-
In the above mentioned link you can find most possible alternatives for various platforms, including macOS.– PhoeniXCommented Jul 23, 2017 at 15:55
-
Hy @Megabeets sorry about that, I've been quite busy with life, I marked your answer as accepted :)– user20964Commented Jan 11, 2018 at 14:08
6 Answers
I highly recommend radare2 which seems to suit you the best:
radare2 is an open source framework for reverse engineering and binary analysis which implements a rich command line interface for disassembling, analyzing data, patching binaries, comparing data, searching, replacing, visualizing and more. It has great scripting capabilities, it runs on all major platforms (GNU/Linux, Windows *BSD, iOS, OSX, Solaris…) and it supports tons of architectures and file formats. [...] radare2 is absolutely libre. [Source]
You can find most of the features you have in IDA in radare (including the option to edit a binary that you debug) and in case you lack some feature you can always open a request on the Github page or develop it by yourself. Note that, in my opinion, the learning curve of r2 is pretty steep and it'll take some time to get use to it.
Installation
It’s recommended to use the current git version of radare2.
Simply run:
git clone https://github.com/radare/radare2.git
cd radare2
./sys/install.sh
You'll need to perform several more steps in order to sign radare and make it ready to debug applications without the need of root permissions.
Beginners guides
This should be enough in order to learn the basics of radare.
User Interface
radare2 has a powerful command line visual modes to help you go through the program and super useful while debugging. This is how the Visual Graph Mode looks like:
The official graphic user interface of radare2 is called Cutter (originally named Iaito). Cutter is built on top of Qt and C++.
-
I believe Radare isn't able "to edit an executable that I'm debugging (I.e. change/remove things)", am I wrong? Commented Jul 29, 2017 at 6:00
-
3Sure you can :) Editing, pathching, resizing, copying & pasting, etc are all possible with radare. Check for example
w?
to list write commands anddr?
to list registers commands. Commented Jul 29, 2017 at 7:34 -
Currently R2 is not even close to IDA, it's UI version is even worse than a text one. Yet it's the best alternative for Mac... Commented Oct 1, 2018 at 6:35
This is not free and open source but Hopper Disassembler is $99US for personal use which compared to IDA Pro is super cheap. There is a free trial version if you would like to check it out. https://www.hopperapp.com/
As of 2020, Ghidra should be considered as a major contender. It is challenging IDA Pro in many areas. The integrated decompiler is one of its greatest assets.
The support for debugging was added recently on the official repository. It will be added to the next official build. Ref
-
1The integrated decompiler is actually a separate decompiler that could be integrated into other tools, such as IDA.– 0xC0000022L ♦Commented Dec 22, 2020 at 17:12
-
There aren't any. Radare is the only open source disassembler (that works on OSX) worth mentioning, and its capabilities are still far away from what you're looking for.
https://github.com/radare/radare2 or
brew install radare2
The officially supported debugging package for Mac OS X is lldb.
You can always try GDB which is the legendary GNU Debugger. It is not in any way as fancy as IDA buy you can always spice it up with GDB-Dashboard or gdbgui.
Although they are not free, you can try either Hopper Disassembler and Binary Ninja. Both can be bought starting from $99.