huku- / xde

XED based Disassembly Engine

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

XDE - XED based Disassembly Engine

huku <huku@grhack.net>

About

XDE is a WIP disassembly engine based on pyxed and pyrsistence.

XDE is constantly updated and will soon become a full featured, reliable, modular, yet minimal and clean, x86 and x86_64 disassembly engine. At its current version, XDE can handle large CFGs, using the API offered by pyrsistence, without wasting too much main memory. This feature alone makes XDE ideal for implementing binary analyses schemes.

Installing XDE

First, download and compile pyxed and pyrsistence as XDE depends on both. You can find the relevant instructions in each project's README.md file.

Then, grab section extractor and install it as well.

Last but not least, run the following command to install XDE:

python setup.py install

The setup script will install the xde Python module under site-packages and a small utility, named xdec, under /usr/local/bin.

Using XDE

First run the section extractor script against the binary you would like to disassemble.

$ sex /bin/ls

A directory named ls.sex/ will be created. Pass the path to this directory to the constructor of class Disassembler as shown below.

import xde

disasm = xde.disassembler.Disassembler('ls.sex/')
disasm.disassemble()

Once disassemble() returns, you can access various members of class Disassembler to explore the program's instructions and structure. For more information and examples have a look at XDE's wiki.

For bugs, comments, whatever feel free to contact me.

About

XED based Disassembly Engine

License:BSD 2-Clause "Simplified" License


Languages

Language:Python 99.8%Language:Makefile 0.2%