XED based Disassembly Engine
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
bin
doc
xde
.gitignore
ChangeLog
LICENSE
Makefile
NOTES.md
README.md
TODO
pylintrc
setup.py

README.md

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.