It's good, but wow is it a lot of detail; it's like reading a book on MS Word that explains every option. It's what you want in a Ghidra reference, but it is not a breezy read.
So, for those not in the know? Ghidra is software/ software language for reverse-engineering? So I feed it the .exe file and it will try to tell me the original C++ code?
Sort of. Modern Compilers convert your code to an intermediate language which is similar to a generalized type of assembly language, that is then converted into opcodes of your cpu architecture.
This program goes in the opposite direction. But the problem is often not a one-to-one function so it has to pick at each stage what to produce based on heuristics. Thus you can get anything ranging from really close to the original source code to way off or nothing at all.
Thus the assembly listing that it produces is invaluable in deciphering what is going on and you can give many hints along the way to assist both the disassembly where that fails and decompiling to figure out how things work.
This program goes in the opposite direction. But the problem is often not a one-to-one function so it has to pick at each stage what to produce based on heuristics. Thus you can get anything ranging from really close to the original source code to way off or nothing at all.
Thus the assembly listing that it produces is invaluable in deciphering what is going on and you can give many hints along the way to assist both the disassembly where that fails and decompiling to figure out how things work.