Skip to main content
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