Disassembly library used by objdump

I am looking for a library that parses binary code.

I found that libdisasm performs exactly the same task as I want. However, I found several links indicating that libdisasm does not work for 64-bit executables. Is it correct?

But the objdump output for 64-bit executables is reliable (as far as I know). So, objdump also uses a similar library for disassembly ?? Initially, I thought objdump uses libdisasm.

+6
source share
2 answers

objdump uses libopcodes from binutils . This is fairly simple, however, since it provides only a textual representation and does not contain structured instruction information. Other options:

+10
source

This is just to clarify the question posed by the original poster in the comment (I don't have enough comments for comments).

The libdisasm project has not been supported for many years. It does not support the x86-64 (64-bit) instruction set or any of the x86 (32-bit) extensions after SSE3.

The opdis project is a replacement for libdisasm. Libdisasm wrote opdis to avoid the frequent updates needed to support the ever-changing instruction sets of Intel and AMD. The actual opcis disassembler is handled by libopcodes from GNU binutils (the disassembler used by objdump), with opdis providing command metadata and higher-level disassembly functions.

+1
source

Source: https://habr.com/ru/post/920576/


All Articles