Hacker News new | ask | show | jobs
by psifertex 1653 days ago
If automation and analysis over the IR is your goal, Binary Ninja is the far better choice compared to both Ghidra and IDA. There's always things to work on but even most people who don't use Binary Ninja regularly who have evaluated it agree that our API/BNIL stack is superior to other options.

Disclaimer: BN founder, so biased of course but I'm pretty up-front about our strengths/weaknesses.

3 comments

I confirm. P-code IL is archaic and was designed at the onset of "decompiler science". Modern ILs are much more consistent and suitable for both uplifting and further analysis.
As I mainly reverse automative hardware, I care about only Tricore, C167, SuperH, and PowerPC, in that order - which means Binary Ninja is out for me for the time being!

Thanks for the post though, as I did look into adding a new Architecture and the setup for defining a new ISA is much simpler than it is in even Ghidra/SLEIGH, so kudos to that. Maybe if I find myself with a lot of free time I will try adding something.

Totally fair -- breadth of architecture support is definitely one of the biggest strengths of Ghidra! IDA does as well but purely for disassembly which isn't nearly as useful.

EDIT: But yeah, we designed our lifting to be as simple as possible. Specifically the way we handle flags tends to simplify much of the normal tedium around what's required for other decompilers. If you do decide to build a C167 module, give us a look again. :-)

Would you say its easy or possible to learn reversing while you learn binary ninja? I bought a license a while back and was struggling to figure out how to do things I could easily look up tutorials for in other programs so I ended up not using it much. I found a couple of videos that were pretty out of date and other than that I saw that there were expensive training courses from a single company.

You guys should try and get someone to write a book kind of like the IDA / Ghidra books that Chris Eagle did.

There could be something out there I just missed. Got any advice?

So I do a weekly live-stream which is a bit much to follow to just casually learn: https://youtube.com/c/vector35

But more importantly, there are video excerpts for some basic features which should at least help with understanding how to use BN:

https://www.youtube.com/watch?v=xKBQatwshs0&list=PLCVV6Y9Lmw...

We've got a few more in the editing queue I need to clear out as well.

That said, I agree in terms of needing more intro tutorials would be helpful. Part of the problem with producing something like the IDA books is that we are under far too active development. Our UI and features have grown exponentially over the past few years so there was just never a good time to make something that wouldn't be out of date before it was even done.

You might be interested in joining the Binary Ninja slack which is a great community for getting questions answered. https://slack.binary.ninja/

There's also the free cloud version which doesn't have quite the same features but is an easier introduction without paying. https://cloud.binary.ninja/