Udis86 - Disassembler Library for x86 and AMD64

Documentation · Project Page · Author

Udis86 is an easy-to-use minimalistic disassembler library (libudis86) for the x86 and AMD64 (x86-64) range of instruction set architectures. The primary intent of the design and development of udis86 is to aid software development projects that entail binary code analysis.

libudis86

  1. Full support for the x86 and x86-64 (AMD64) range of instruction set architectures.
  2. Full support for all AMD-V, INTEL-VMX, MMX, SSE, SSE2, SSE3, FPU(x87), and AMD 3Dnow! instructions.
  3. Supports 16bit, 32bit, and 64bit disassembly modes.
  4. Generates output in AT&T or INTEL assembler language syntaxes.
  5. Supports flexbile input methods: File, Buffer, and Hooks.
  6. Thread-safe and Reentrant.
  7. Clean and very easy-to-use API.
  8. New! The new standalone build system makes udis86 usable and embeddable in kernel code (or other environments which, say, lack libc).
See Usage.

udcli

A front-end incarnation of this library, udcli is a small command-line tool for your quick disassembly needs.
See Usage.

Author

Udis86 is a creation of Vivek Mohan. You can reach me at vivek[at]sig9[dot]com. Please let me know if you are using udis86, have ideas for it, or would like to comment on it.

© 2006 Vivek Mohan