From someone who does binary reverse engineering full time, in my experience, BinaryNinja, Hopper, radare2, etc are toys compared to IDA Pro + Hex Rays Decompiler. The quality of the results and the features supported are unmatched... until now. I haven’t spent too much time with ghidra yet but it’s the real deal. The output of the decompiler looks alright (not complete garbage like I’ve seen with other tools). Even…
Leaving the decompiler aside, for core disassembly features, in what ways is modern IDA far ahead of its competitors?
Ghidra, NSA's reverse-engineering tool
101–110 of 425 posts
Re: Ghidra, NSA's reverse-engineering tool
#102Earlier quoted context omitted.
If it’s a hobby project why don’t you just pirate it? Honest question.
Somebody sort of casually pirated a copy of IDA Pro back in the mid-2000s (IIRC, he shared his copy on a public server). The IDA people (DataRescue, at the time, but from what I recall the page survived the move to Hex-Rays) found out, banned him from using IDA, and then put a page on their website threatening to rescind IDA licenses from any company that employed him. The IDA team is pretty aggro.
Re: Ghidra, NSA's reverse-engineering tool
#103Earlier quoted context omitted.
Binary Ninja has most of a decompiler and is expected to get the rest soon. Binary Ninja offers multiple views of the code, each with an API that gives you the same access that the GUI has. The different views vary in how much they are like assembly or C. Only that last step, real C code, is still missing. Those other views are quite good if your goal is to understand things, but less good if you were hoping to throw…
Binja could get a decent "C-like" view on top of MLIL, sure, but it still fails in a large number of relatively rare cases. Anybody use SEH or MSVCRT exceptions on x86? Well, there are non-inlined functions that adjust the stack pointer dynamically there. Binary Ninja can't capture that. To be fair, it's unlikely IDA can either- but IDA has a heuristic (read- hack) that treats those functions specially. Result? SP-an…
If you're on the dev branch of binja (which, at least until recently, was miles ahead of stable), you get to do this again in a few days when binja updates and throws out all its old cached information.
Also, saving and loading massive databases can easily be a 5-minutes-or-more process. Again- this does provide you with ample time to explore the area around your office building, but still.
(Mind, this isn't a problem if you mostly see small binaries- for malware it's probably entirely fine.)
Re: Ghidra, NSA's reverse-engineering tool
#104Earlier quoted context omitted.
To be fair, I don't think HexRays is oblivious to this dynamic, and to that end I think the freeware version they offer makes a lot of sense. Especially if it supports AMD64, which I'm hearing it does nowadays. That's not going to prevent many people from taking the five finger discount I'm sure, since they'd rather have as many of the features as they can, but at least nobody can say HexRays isn't trying.
Yeah, but I think the big issue is the lack of decompiler. If you're new to RE, it's literally night and day between that and "assembly with stack variables renamed and some helpful comments". (Even Binja's MLIL is a huge step up from the annotated assembly IDA provides.)
Re: Ghidra, NSA's reverse-engineering tool
#105From someone who does binary reverse engineering full time, in my experience, BinaryNinja, Hopper, radare2, etc are toys compared to IDA Pro + Hex Rays Decompiler. The quality of the results and the features supported are unmatched... until now. I haven’t spent too much time with ghidra yet but it’s the real deal. The output of the decompiler looks alright (not complete garbage like I’ve seen with other tools). Even…
I’m a casual bystander who has only played with these tools, but I’ve been interested in this field for a long time. Do you think that radare2’s UI is a step forward? I like the Unix-esque command line and how composable everything feels. IDA (and now Ghidra) feel like an IDE, while radare2 feels more like Vim.
Re: Ghidra, NSA's reverse-engineering tool
#106Earlier quoted context omitted.
Leaving the decompiler aside, for core disassembly features, in what ways is modern IDA far ahead of its competitors?
Auto analysis when you have barely any information. Any tool can make nice output if you feed it nice input. Try a partial dump from an exotic device and then you’ll see IDA shine.
Re: Ghidra, NSA's reverse-engineering tool
#107Aaaaaand: https://twitter.com/hackerfantastic/status/11030878690637045...
Re: Ghidra, NSA's reverse-engineering tool
#108Earlier quoted context omitted.
Though the obvious explanation for that is that it was an intentional backdoor, that honestly looks more to me like a legitimate oversight than a backdoor. I think an actual backdoor would be a lot more subtle and clever than that. Especially since this way, absolutely anyone could exploit it (it's just Java Debug Wire Protocol). Also, you have to explicitly run it in debug mode for this to happen, which probably onl…
I also don't think it's a backdoor, but the best way to hide a backdoor is to make it look like a mistake.
It is, but usually the best way to do is to make it look like a mistake that's very subtle and difficult to notice without careful testing and analysis, kind of like Apple's infamous SSL "goto fail". That's a classic example of a vulnerability that really could be either an honest mistake or a very insidious backdoor.
This is more like leaving the house's sliding glass door to the backyard wide open for everyone to see.
Re: Ghidra, NSA's reverse-engineering tool
#109Re: Ghidra, NSA's reverse-engineering tool
#110Earlier quoted context omitted.
I don't think they would burn some 0-days for this, one container should be enough.
I think you're underestimating the value of intel on people who know how to get intel or at least interested in the topic.
There's zero chance there's some secret trojan, because the people who are interested in this type of software are the exact people who would be able to find it.