Skip to main content

A library of Dynamic Symbolic Exploration based the Triton library

Project description

TritonDSE

TritonDSE is a Python library providing exploration capabilities to Triton and some refinement easing its usage. This library is primarily designed to perform pure emulation symbolic execution even though it can also be applied under different settings. It works by performing an elementary loading of the program and starts exploring from the entrypoint. The whole exploration can be instrumented using a hook mechanism enabling to obtain a handle on various events.

At the moment solely ELF and Linux are supported. But further development can lead to more platform. Furthermore it provides facilities on the C runtime and it has not been tested on other types of programs.

Documentation


TritonDSE goal is to provide higher-level primitives than Triton. Triton is a low-level framework where one have to provide manually all instructions to be executed symbolically. As such, TritonDSE provides the following features:

  • Loader mechanism (based on LIEF, cle or custom ones)
  • Memory segmentation
  • Coverage strategies (block, edge, path)
  • Pointer coverage
  • Automatic input injection on stdin, argv
  • Input replay with QBDI
  • input scheduling (customizable)
  • sanitizer mechanism
  • basic heap allocator
  • some libc symbolic stubs

Quick start

Installation

pip install tritondse

The pip package will install all dependencies.

Documentation

A complete documentation on how to use TritonDSE is available on Github pages.


External Contributors

  • Jonathan Salwan
  • Richard Abou Chaaya

All contributions*

Project details


Download files

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

Source Distribution

tritondse-0.1.9.tar.gz (97.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

tritondse-0.1.9-py3-none-any.whl (109.4 kB view details)

Uploaded Python 3

File details

Details for the file tritondse-0.1.9.tar.gz.

File metadata

  • Download URL: tritondse-0.1.9.tar.gz
  • Upload date:
  • Size: 97.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.7

File hashes

Hashes for tritondse-0.1.9.tar.gz
Algorithm Hash digest
SHA256 bf9045078ef1c3526dc0bae805426b91fd6081e3c116c70d696ae1b4bd8a7489
MD5 ebe115922c2accd1afc94d0d4690f7fa
BLAKE2b-256 7a5899b32bc1b8fb80bf95c55b32ce184b34c1632eebdcf35b737952153d07d0

See more details on using hashes here.

File details

Details for the file tritondse-0.1.9-py3-none-any.whl.

File metadata

  • Download URL: tritondse-0.1.9-py3-none-any.whl
  • Upload date:
  • Size: 109.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.7

File hashes

Hashes for tritondse-0.1.9-py3-none-any.whl
Algorithm Hash digest
SHA256 8ab836b3271d322dbdb0d6bb73dcd0b249815e0f58154ecd7695017ebcea213e
MD5 7608fd176dfe6c3d4d56c79e5ac4d510
BLAKE2b-256 495e319667fa6fa03efc188c4e3692bc685c4bd9bf02a3ccc4eed751355d8b2c

See more details on using hashes here.

Supported by

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