
Ghidra Decompiler Analysis Engine - muizelaar
https://ghidra-decompiler-docs.netlify.com/
======
archgoon
It looks like they managed to finally get the source code released 2 weeks
ago.

[https://github.com/NationalSecurityAgency/ghidra](https://github.com/NationalSecurityAgency/ghidra)

I'm curious as to what prevented them from doing that on day one. Any legal
issues presumably would have been worked out prior to the announcement. I
guess timelines didn't line up :)

~~~
Aissen
Code arrived on this repo just 4 days ago. Previously, part of the code was
released alongside the binary in a tarball.

------
megous
Amazing. Just what I needed today, when I was writing OpenRisc processor
definition for sleigh. :)

~~~
Something1234
What's sleigh?

~~~
danielvf
Sleigh is the processor specification tool for Ghidra. He’s making it so that
Ghidra can work with OpenRISC.

------
kbumsik
How is the experience with Ghidra so far? Does anyone think a true free IDA
Pro replacement finally come? I did some reverse engineering for ARM devices
last year, and IDA Pro seemed like the only option but it costs around $1000.

~~~
laburn
I regularly look at ARM software and firmware. There are certain things that
IDA does better, like FLIRT analysis, which I’ve missed since switching to
Ghidra.

Ghidra also currently lacks support for certain ARM instruction decodings so
you can get odd looking disassembly. That isn’t to say you can’t add it.

Ghidra has been very nice for reversing C++ code. After filling in most of the
members for an object field it makes reversing other subroutines that use the
defined type simpler, IMO.

~~~
kbumsik
Thx for your opinion. What about automatic ARM-Thumb swap on jump
instructions? I tried Radare 2 before and it was so hard to work with ARM
firmware. If Ghidra supports a proper ARM-Thumb switch, it sounds like a
greate alternative to IDA for me.

~~~
laburn
I don’t normally see ARM with thumb code so I couldn’t tell you. I am fairly
certain it is supported but to what degree I am uncertain.

------
tango12
Prev HN thread (recent):
[https://www.nsa.gov/resources/everyone/ghidra/](https://www.nsa.gov/resources/everyone/ghidra/)

~~~
cthalupa
I think
[https://news.ycombinator.com/item?id=19315273](https://news.ycombinator.com/item?id=19315273)
is what you were looking for

~~~
acqq
The sources documented in the original post here (Decompiler Analysis Engine,
written in C++) weren't openly published before just 3-4 days ago. The post
that was about that event, 3 days ago, got only 7 comments. So HN mostly
missed that event until now.

The sources published earlier were the Java sources, and the engine documented
here was only in the binary form.

------
VikingCoder
If Ghidra was really good, they wouldn't have had to release the source to it.
;)

~~~
saagarjha
It's Java, so it's not all that hard to reverse engineer.

~~~
gpm
The decompiler is in c++.

~~~
archgoon
I believe this has now been released.

[https://github.com/NationalSecurityAgency/ghidra/tree/master...](https://github.com/NationalSecurityAgency/ghidra/tree/master/Ghidra/Features/Decompiler/src/decompile/cpp)

~~~
gpm
Yep!

That's why I stated the language so confidently ;)

