huku <[email protected]>
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.
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.
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.