Hex Editor - Binary File Editing Software for Windows
Docs

Overview

A disassembler is a computer program that translates machine language into assembly language - the inverse operation to that of an assembler. A disassembler differs from a decompiler, which targets a high-level language rather than an assembly language. Disassembly, the output of a disassembler, is often formatted for human-readability rather than suitability for input to an assembler, making it principally a reverse-engineering tool.

Example

A processor consumes instructions encoded as raw bytes to change its internal state (to calculate something or to change the operation flow). For example, sequence of three bytes 83 C4 04 is interpreted by x86 processor as an instruction to add value 4 to register esp. However, it is difficult to operate with raw instruction bytes for humans. It is much easier to represent the same command as an assembler instruction:

    add esp, 4

This instruction is directly translated (or assembled) to 83 C4 04.

Disassembler is intended to do the opposite. It will parse 83 C4 04 and produce a add esp, 4. So, a disassembler is needed to convert raw binary file into something readable by a human eye.

Supported Instruction Sets

A current version of the Hex Editor Neo supports disassembling:

A comprehensive instruction set documentation is available at Intel® (x86 and x64) and Microsoft® (MSIL: part III) web sites.