PyCodin is an open source Python library that allows instrumentation of low-level code for different architectures. It came out from the necessity of developing a testing environment for low-level code that exploits vulnerabilities (a.k.a. shellcode). The library provides a virtual CPU front-end, allowing the manipulation of a virtualized memory space and creating different scenarios, giving the developer new tools to control the execution. PyCodin also allows runtime inspection and modification of the execution context of the instrumented program. The first version of the tool uses Qemu as the virtualization back-end.

Source Code


  • PyCodin is licensed using GPL v2 on behalf of Core Security Technologies, Inc. (This is compatible with QEMU's GPLv2 license.)


Release date: 2011-05-31

License type: GPL v2

Related information

Researchers: Adrian Manrique  |  Andres Lopez Luksenberg

Publications:  PyCodin - Instrumentando código sin dolor

Research Project
GPL v2