back

by smartmic·9y ago·view on hn ↗
Sorry for the maybe silly question, but why does one need a decompiler? Isn't it easier to look an disassembly from tools like objdump? The example from the Hello World decompilation does not look significantly more readable to me than a disassembly (with some basic knowledge of assembler).
3 comments
A good decompiler can have a massive impact on the readability of the code. For example, here's a study where the authors found that their decompiler allowed students without reverse engineering expertise to approach the performance of RE experts on some tasks.

https://net.cs.uni-bonn.de/fileadmin/ag/martini/Staff/yakdan...

Sadly, DREAM++ has never been released open source :(

If there's a binary of it, you could use it to decompile itself. A kind of reverse bootstrapping.
Sadly there is no binary, only papers. Now, if someone could come up with a technique for automatically creating source code from a PDF description... :D
Easier to turn back into editable code, change it, recompile it, port to another processor without having to implement a binary translator, just a few ideas.
It's easier to read pseudo-C than assembly, especially on an architecture you're not terribly familiar with. I can fire up an ARM decompiler (Hex-Rays) and be able to do some basic RE work in minutes on an architecture I've never touched assembly for. It's also just plain faster to read, though the nice graph views for assembly do help you understand how loops and conditionals are really structured, it's still not as good as C.