Udis86 0.9 Released

After a long hiatus and some major code overhaul, here you are, version 0.9 of udis86/. I'll be posting a HOWTO on using libudis86, soon. From the website -

Udis86 is an easy-to-use minimalistic disassembler library (libudis86) for the x86 and x86-64 (AMD64) 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.

Salient features of libudis86:

  • Full support for the x86 and x86-64 (AMD64) ISAs.
  • Includes support for all MMX, SSE, FPU(x87), and AMD 3Dnow! Instructions
  • Supports 16/32/64 Bits disassembly modes.
  • Capable of generating output in AT&T or INTEL assembly language syntax.
  • Plugin-in based model for customizing ouput syntax.
  • Supports different types of inputs - File, Buffered, and Hooks.
  • Thread-safe and Reentrant.
  • API consists of multi-level wrappers for fine-grained control over the decoder.

The package also includes udcli - a tiny command line tool based on libudis86, which accepts binary input from STDIN and prints the disassembled output to STDOUT. The code serves as a good example of how you can use libudis86.