Scroll to navigation

X86DIS(1) libdisasm X86DIS(1)

NAME

x86dis - disassemble a bytestream of Intel x86 instructions

SYNTAX

x86dis [ -a offset|--addr=offset]
 

[ -r offset len|--range=offset len]
 

[ -e offset|--entry=offset]
 

[ -s name|--syntax=name]
 

[ -d name|--desc=name]
 

[ -f file|--file=file]
 

[ -o file|--out=file]
 

[ -l file|--log=file]
 

[ -p num|--pagesize=num]
 

[ -h|-?|--help]
 

[ -v|--version]

DESCRIPTION

A command-line interface to the libdisasm disassembler library.

OPTIONS

At least one option from the list -a, -e, -r must be given.
-f, --file=file
 
Read input bytes from file instead of stdin
-o, --out=file
 
Write output to file instead of stdout
-l, --log=file
 
Log errors to file instead of stderr
-p, --pagesize=num
 
Set page size for buffering STDIN to num (default 512K)
-s, --syntax=name
 
Set output syntax to name, where name is one of intel
 
(Intel syntax), att (AT&T syntax), raw (libdisasm syntax)
-d, --desc=name
 
Print a description of syntax name
-a, --addr=offset
 
Disassemble single instruction at offset
-e, --entry=offset
 
Disassemble forward from offset
-r, --range=offset len
 
Disassemble len bytes starting at offset
 
All offset and len parameters are expected to follow the conventions used in strtoul(3), where hexadecimal numbers have the prefix 0x, octal numbers have the prefix 0, and decimal numbers have no prefix. A value of 0 for len indicates that that range extends to the end of the file.
 
 
 

EXAMPLES

cat `which ls` | x86dis -s intel -e 0x00 -r 0x00 -1 -a 0xEEEE
 
x86dis -e 0 -s intel < bootsect.img
 
x86dis -d -s raw -f a.out -e `readelf -h a.out |
 

grep Entry | awk '{ printf( "0x%%x", strtonum($4) - 0x8048000 ) }` echo '55 89 e5 83 EC 08' | perl -ane 'foreach(@F){print pack("C",hex);}'| x86dis -e 0 -s att

NOTES

x86dis performs no file format parsing, nor any verification that its input is in fact executable binary code. All offsets are assumed to be from the start of the file, with no load addresses applied. The intent is to provide a bytestream disassembler rather than an object file disassembler.
Descriptions of the various output formats can be obtained using the -d option.

AUTHORS

mammon_ <mammon_@users.sourceforge.net>

SEE ALSO

bastard(1), libdisasm(7), x86_disasm(3), x86_format_insn(3), x86_init(3)
0.21 mammon_