Timeline for What's the difference between a disassembler, debugger and decompiler?
Current License: CC BY-SA 3.0
6 events
when toggle format | what | by | license | comment | |
---|---|---|---|---|---|
Dec 12, 2016 at 15:57 | comment | added | Soufiane Tahiri | If you are looking for a simple/simplistic answer: a Disassembler is a tool that transforms a binary to a low level language / mnemonic / assembly while a decompiler transforms the binary to (theoretically, or not...) its primary high level language used to code this binary. Meaning that not every binary could be decompiled but every binary could be disassembled. .NET assemblies and JAVA files for exemple once decompiled could be transformed to their original C#/Java code. | |
Dec 12, 2016 at 15:05 | comment | added | Jongware | A major difference, as yet unmentioned, between disassembling and decompiling is that disassembly is deterministic. Every machine code instruction disassembles to precisely one assembler instruction (I'll not mention the data/code dichotomy here, which is a kind of a Halting Problem). When decompiling, on the other hand, a single instruction may be translated into a number of expressions, and conversely, any number of instructions may be gathered into one high level expression – all at the discretion of the decompiler. Different decompilers may yield different results. | |
Dec 12, 2016 at 13:11 | history | edited | js1984 | CC BY-SA 3.0 |
added 126 characters in body
|
Dec 12, 2016 at 11:45 | review | Late answers | |||
Dec 12, 2016 at 20:04 | |||||
Dec 12, 2016 at 11:30 | review | First posts | |||
Dec 12, 2016 at 20:04 | |||||
Dec 12, 2016 at 11:29 | history | answered | js1984 | CC BY-SA 3.0 |