Man Linux: Main Page and Category List

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)