/pydasm

Minimal "pydasm" fork for Windows

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

pydasm

I had some trouble compiling pydasm on recent Windows platforms. This "slightly" modified version should works on Windows 7/8/10 (Only tested on Windows 10).

What is pydasm ?

pydasm is a python wrapper for libdasm. It attempts to capture all the functionality of libdasm and bring its versatility to Python.

Installation

First, install Microsoft Visual C++ Compiler for Python 2.7

git clone https://github.com/axcheron/pydasm
python setup.py install

Also, if you don't already have it, you can find the last version of Python 2.7 here.

Usage

import pydasm

buffer = '\x90\x31\xc9\x31\xca\x31\xcb'

offset = 0
while offset < len(buffer):
   i = pydasm.get_instruction(buffer[offset:], pydasm.MODE_32)
   print pydasm.get_instruction_string(i, pydasm.FORMAT_INTEL, 0)
   if not i:
     break
   offset += i.length

Credits

Thanks to jt, skape, thief, spoonm and fine folks @nologin responsible for libdasm ! Special thanks to ero for creating and contributing pydasm.

License

This project is released under the BSD license. See LICENCE.