You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
PyAsmJIT is a Python package for x86/x86_64/ARMv7 assembly code generation
and execution.
This package was developed as part of the BARF project
(https://github.com/programa-stic/barf-project) in order to test instruction
translation from x/86/x86_64/ARM to REIL. The main idea is to be able to run
fragments of code natively. Then, the same fragment is translated to REIL and
executed in a REIL VM. Finally, both final contexts (the one obtained through
native execution and the one from emulation) are compare for differences.
Installation
The following command installs the package:
$ python setup.py install
Dependecies
NASM : the Netwide Assembler, a portable 80x86 assembler
Quickstart
The following extract shows how to execute on-the-fly a fragment of x86_64
assembly code.
The inner workings of the package is very simple. PyAsmJIT communicates with
nasm using the subprocess package. Once the machine code is generated, it
is place in a memory location previously reserved with the proper permissions
flags. Then, the code is executed as a thread.
Limitations
Currently:
It does not handle memory operations
It only works with x86, x86_64 and ARMv7
License
The BSD 2-Clause License. For more information, see LICENSE.
About
PyAsmJIT is a Python package for x86_64/ARM assembly code generation and execution.