Hacker News new | ask | show | jobs
by rene77 1650 days ago
Ghidra's existance is a bit unfortunate, really. While it was released relatively recently, it's already a dated product permanently stuck with a clunky UI. And by being free, it'll create an extremely high bar for possible commercial products to clear. Combined with the extremely small market of low-cost SRE tools (so small in fact, that Hopper's author decided against porting their tool to Windows), we'll be stuck with IDA and Ghidra (and all their idiosyncrasies) for the next decade at least. Which is a damn shame.
5 comments

The market is guaranteed to stay small if the "hobbyist" version of the software is $350/y. I've heard great things about it, but that's pretty far outside the "try it out for fun" range. I had a lot of fun experimenting with hardware hacking and dumping the firmware of an ARM device I own, but I'm certainly not paying $350 for one architecture for one year just to explore whether or not I like reverse engineering. What about kids hacking raspberry pis?

I respect people's right to sell software, but I'm tempted to crack out the world's tiniest violin when I hear people complain that FOSS is eating their lunch. Consider how much good FOSS compilers have done for the world, and how many more people were able to program computers that otherwise would never have been able to afford it.

I believe the pricing is high by necessity - we're talking about employing some dozen of people on the higher end of competency doing terribly unexciting work. Hobbyists should settle on the Hopper tool, which is $99 a year.

Also, if you wanted to advocate for FOSS, compilers are an all around terrible example. In fact, they prove my point: thanks to GCC and the likes, we're still stuck with hodgepodge of fragile build systems, platform-dependent code and poor IDE integrations. Hell, modern programmers will be right at home with 1988's compilers, seeing how Makefiles are still somehow relevant even today.

Compare that with the early 90's Turbo Pascal which had an IDE with a built-in help system, a build system, a debugger, and a profiler. We could've had competition to improve upon all that, and instead it's 2021, and you have to spend hours per project to keep the tooling from breaking. In my carreer, I've probably spent more paid hours setting up "free" tooling than I paid for commercial tools. It's just a sad lose-lose situation for everyone.

>doing terribly unexciting work.

You mean writing reverse reverse engineering tools? Personally I can hardly think of a more exciting job.

Also blaming GCC for today's dev experience is just wrong. With some notable exceptions(VS debugger), the situation over at Microsoft is just as bad and in no way influenced by GCC.

Oh, believe me, it's boring as hell. It's just endless hours of making sense of incomplete hardware manuals, converting tables to code by hand and handling subtle hardware differences. And what I did was console game modding - something that did look exciting at the time. IDA itself must be even worse, seeing how its codebase is two decades old by now.

As for the modern dev experience, what else do you expect? FOSS starved small software vendors by raising the bar for commercial software, so Microsoft has barely any competition in their field. Sure, there's JetBrains software, but that's it?

I say this as someone who worked on another Eclipse SWT application that I think is very good, is still in use, and that I am very proud to have worked on, but the SWT UI is the one thing I absolutely hate about Ghidra. I feel like many aspects of that specific school of 00's enterprise-Java-application UX design aged about as well as a wheel of goat cheese left on the dash of a car on a 90-degree summer day. (In particular, when using SWT applications, I find the buttons and layout to be cluttered and hard-to-parse - for me, the bars of small, densely packed buttons are frustrating to work with. Also, something about the iconography in those programs is generally opaque and ends up making me feel kind of stupid.)
Doesn't this just prove that Ghidra is actually very, very old? By the UX alone, I'd place it in the 2003-2006 range, the time when the excitement of Mac OS X turned into a new generation of bombastic widget toolkits.
2003 is "very old", really? FYI IDA dates to 1991.
Those are not the only choices:

Binary Ninja (disclaimer: BN dev here) Hopper JEB Relyze

That said, I 100% agree with the impact Ghidra has had on the market. It's definitely making it _much_ harder to sell a commercial product when a well maintained, zero cost, open source alternative is available. If we (Vector 35, Binary Ninja devs) hadn't been as far along in our development roadmap and growing our customer base as we were when Ghidra was released we'd likely have had to simply do something else which would be an overall loss for the community.

Who knows what other products/ideas will now never see the light of day. The barrier to entry was already extremely high in this space for a limited return, but now? Nearly impossible for anyone new to entry.

> ...it's already a dated product permanently stuck with a clunky UI...

I don't disagree with you. However we're discussing this in the context of IDA: A program whose user-interface is permanently stuck in the 90s. Its extremely idiosyncratic default key-bindings also betray exactly how dated its interface is.

I don't think Ghidras existence is unfortunate at all. Without it I, and a few people I know, would never have even touched this space. Ghidra is not perfect but a slick GUI is not something that is important in such a product.