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.11.tar.gz (98.1 kB view details)

Uploaded Source

Built Distribution

tritondse-0.1.11-py3-none-any.whl (110.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for tritondse-0.1.11.tar.gz
Algorithm Hash digest
SHA256 3efa24b55e2c3fd56de616d9d486a6f0ac193e05da6043b7ebd985376bcdf8f7
MD5 7fb85a5d78e0676563b1a8871fc44290
BLAKE2b-256 6f4613f016f096a9817e399b9b96a2b297ee1d9802852baf5368c4b0a46802ca

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for tritondse-0.1.11-py3-none-any.whl
Algorithm Hash digest
SHA256 eaa44a8080c0b658919820291ad65aec740ba2b7843d04a8eb7fea21b363b007
MD5 b8dc21cdc0abdd1d183616a3982d441b
BLAKE2b-256 c59ad95213f7e95f8b43fcf7a09b7dbecd3e12f327568e7b959537b4043028fb

See more details on using hashes here.

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