Skip to content
This repository has been archived by the owner on Jul 1, 2024. It is now read-only.

huku-/xde

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.