Skip to main content

Python binding for QBDI

Project description

Documentation Status https://travis-ci.com/QBDI/QBDI.svg?branch=master https://ci.appveyor.com/api/projects/status/s2qvpu8k8yiau647/branch/master?svg=true

QuarkslaB Dynamic binary Instrumentation (QBDI) is a modular, cross-platform and cross-architecture DBI framework. It aims to support Linux, macOS, Android, iOS and Windows operating systems running on x86, x86-64, ARM and AArch64 architectures. Information about what is a DBI framework and how QBDI works can be found in the user documentation introduction (User Documentation).

QBDI modularity means it doesn’t contain a preferred injection method and it is designed to be used in conjunction with an external injection tool. QBDI includes a tiny (LD_PRELOAD based) Linux and macOS injector for dynamic executables (QBDIPreload), which acts as the foundation for our Python bindings (pyQBDI). QBDI is also fully integrated with Frida, a reference dynamic instrumentation toolkit, allowing anybody to use their combined powers.

x86-64 support is mature (even if SIMD memory access are not yet reported). The support of x86 is new and some bug may occur. ARM architecture is a work in progress but already sufficient to execute simple CLI program like ls or cat. AArch64 is planned, but currently unsupported.

A current limitation is that QBDI doesn’t handle signals, multithreading (it doesn’t deal with new threads creation) and C++ exception mechanisms. However, those system-dependent features will probably not be part of the core library (KISS), and should be integrated as a new layer (to be determined how).

Status

CPU

Operating Systems

Execution

Memory Access Information

x86-64

Android, Linux, macOS, Windows

Supported

Partial (only non SIMD)

x86

Android, Linux, macOS, Windows

Supported

Partial (only non SIMD)

ARM

Linux, Android, iOS

Planned (*)

Planned (*)

AArch64

Android

Planned (*)

Planned (*)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

PyQBDI-0.7.1-cp38-cp38-win_amd64.whl (1.2 MB view hashes)

Uploaded CPython 3.8 Windows x86-64

PyQBDI-0.7.1-cp38-cp38-win32.whl (1.1 MB view hashes)

Uploaded CPython 3.8 Windows x86

PyQBDI-0.7.1-cp38-cp38-manylinux2010_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ x86-64

PyQBDI-0.7.1-cp38-cp38-manylinux2010_i686.whl (1.9 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.12+ i686

PyQBDI-0.7.1-cp38-cp38-macosx_10_13_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.8 macOS 10.13+ x86-64

PyQBDI-0.7.1-cp37-cp37m-win_amd64.whl (1.2 MB view hashes)

Uploaded CPython 3.7m Windows x86-64

PyQBDI-0.7.1-cp37-cp37m-win32.whl (1.1 MB view hashes)

Uploaded CPython 3.7m Windows x86

PyQBDI-0.7.1-cp37-cp37m-manylinux2010_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ x86-64

PyQBDI-0.7.1-cp37-cp37m-manylinux2010_i686.whl (1.8 MB view hashes)

Uploaded CPython 3.7m manylinux: glibc 2.12+ i686

PyQBDI-0.7.1-cp37-cp37m-macosx_10_13_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.7m macOS 10.13+ x86-64

PyQBDI-0.7.1-cp36-cp36m-win_amd64.whl (1.2 MB view hashes)

Uploaded CPython 3.6m Windows x86-64

PyQBDI-0.7.1-cp36-cp36m-win32.whl (1.1 MB view hashes)

Uploaded CPython 3.6m Windows x86

PyQBDI-0.7.1-cp36-cp36m-manylinux2010_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ x86-64

PyQBDI-0.7.1-cp36-cp36m-manylinux2010_i686.whl (1.8 MB view hashes)

Uploaded CPython 3.6m manylinux: glibc 2.12+ i686

PyQBDI-0.7.1-cp36-cp36m-macosx_10_13_x86_64.whl (1.6 MB view hashes)

Uploaded CPython 3.6m macOS 10.13+ x86-64

PyQBDI-0.7.1-cp35-cp35m-win_amd64.whl (1.2 MB view hashes)

Uploaded CPython 3.5m Windows x86-64

PyQBDI-0.7.1-cp35-cp35m-win32.whl (1.1 MB view hashes)

Uploaded CPython 3.5m Windows x86

PyQBDI-0.7.1-cp35-cp35m-manylinux2010_x86_64.whl (1.8 MB view hashes)

Uploaded CPython 3.5m manylinux: glibc 2.12+ x86-64

PyQBDI-0.7.1-cp35-cp35m-manylinux2010_i686.whl (1.8 MB view hashes)

Uploaded CPython 3.5m manylinux: glibc 2.12+ i686

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page