(home)

PyX86

: Description : Emulate in Python a small subset of x86 ISA in order to run a specific piece of code.

: Status : Dormant

Notes

About diStorm3, currently, I work hard on implementing the instructions'
templates of real 80x86 integer instructions. So every 80x86 instruction
become a set of Virtual Opcodes.

For example: MOV EAX, EBX, is translated into: ASSIGN(REG(0), REG(3)). All
these virtual opcodes are actually nodes of expression trees. When this is
all done, you will be able to translate a stream of instructions into an
expressions tree and do whatever you just wish with this tree, may it be,
analyzing, rebuilding, parsing, translation to high level language, etc.

Code

Links

Potentially useful tools/libraries:

x86 ISA information:

One option I considered was translating x86 assembly to Python bytecode:

Other

code@rancidbacon.com