5 ms·
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 Hel
by smartmic 9y ago
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).
- pjmlp 9y agoEasier 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.
- problems 9y agoIt'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.
- moyix 9y agoA 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/dream_oakland2016.pdf https://net.cs.uni-bonn.de/fileadmin/ag/martini/Staff/yakdan... Sadly, DREAM++ has never been released open source :(
- ant6n 9y agoIf there's a binary of it, you could use it to decompile itself. A kind of reverse bootstrapping.
- moyix 9y agoSadly 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
- deleted 9y ago[deleted]
- deleted 9y ago[deleted]
- deleted 9y ago[deleted]