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

Uploaded Source

Built Distribution

tritondse-0.1.12-py3-none-any.whl (110.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: tritondse-0.1.12.tar.gz
  • Upload date:
  • Size: 98.4 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.12.tar.gz
Algorithm Hash digest
SHA256 7b0c40d7536977577036640ca4759314fac6e53d68567f5d3b66c983323a173c
MD5 84d739d6065c6ed3c49b45743937b87f
BLAKE2b-256 fe1bc0924408d148027c8813d565513c7a0cd5e4c9aa36fdcc66f5c1b610e561

See more details on using hashes here.

File details

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

File metadata

  • Download URL: tritondse-0.1.12-py3-none-any.whl
  • Upload date:
  • Size: 110.2 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.12-py3-none-any.whl
Algorithm Hash digest
SHA256 7df195b10a801030d01dc8c24eda052de5d488352a57b5bf72359a6733f1ad93
MD5 56c37ac1a1f75a0685ca4ca9648a51dd
BLAKE2b-256 ceea05f8fd2dad38cfd20591b239bcd41a1f87b2ce977bd0556816240b2f2562

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