You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
bddisasm/bindings/pybddisasm
BITDEFENDER\vlutas 433e723e07
Implemented a reverse oprand lookup table. It holds pointers to relevant operands inside INSTRUX, for quick lookup.
3 years ago
..
_pybddisasm Move pybddisasm to the bindings directory 3 years ago
pybddisasm Move pybddisasm to the bindings directory 3 years ago
LICENSE Move pybddisasm to the bindings directory 3 years ago
MANIFEST.in Move pybddisasm to the bindings directory 3 years ago
README.md Move pybddisasm to the bindings directory 3 years ago
setup.cfg Move pybddisasm to the bindings directory 3 years ago
setup.py Implemented a reverse oprand lookup table. It holds pointers to relevant operands inside INSTRUX, for quick lookup. 3 years ago

README.md

The Bitdefender disassembler Python wrapper

Build

Building and installing is easy:

python3 setup.py build
python3 setup.py install

Usage

Use it by importing the pybddisasm.disasm module:

from pybddisasm.bddisasm import *

instr = nd_decode_ex2(buff, arch, arch, arch, vendor, current_rip)

Example

from pybddisasm.bddisasm import *
from sys import *

buff = b"\x55\x48\x8b\x05\xb8\x13\x00\x00"
offset = 0

while offset < getsizeof(buff):
    instr = nd_decode_ex2(buff[offset:], 64, 64, 64)

    if instr is None:
        break

    print(instr.Text)

    offset += instr.Length

Pip

Use pip to install the package:

pip install pybddisasm