Skip to main content

Dissasembler

A disassembler is a program that translates machine code into assembly code. Assembly code is a low-level programming language that is specific to a particular computer architecture and is more easily understood by humans than machine code. A disassembler is often used for reverse engineering, debugging, and analyzing malware.

Here is an example of how a disassembler might translate a simple machine code program:

Machine code:
10011010 00011000 00010010 00000000 01011010 00011001 00010010 00000000 00010000 00000000 00000000 00000000

Assembly code:
mov ax, 12 mov bx, 18 nop

In a digital forensic investigation, a disassembler can be used to reverse engineer an executable file in order to understand how it works and potentially uncover any malicious behavior.

For example, if a forensic investigator is examining a suspicious software program that is suspected of being malware, they might use a disassembler to examine the underlying assembly code. This would be done in order to understand how the program functions and to look for any signs of malicious behavior, such as code that is designed to evade detection or steal sensitive data.

In addition to helping forensic investigators understand how a particular piece of software works, a disassembler can also be used to identify and analyze software vulnerabilities, recover lost or deleted code, and aid in the development of custom software tools.

Disassemblers are available both commercially and as open-source. Some popular examples include IDA Pro, Radare2, and Ghidra.

» The CSI Linux Knowledge Base

loader image