JonathanSalwan Triton Versions Save

Triton is a dynamic binary analysis library. Build your own program analysis tools, automate your reverse engineering, perform software verification or just emulate code.

v0.9

2 years ago

We are glad to announce the release of Triton v0.9 which brings several features:

  • Better dealing with path constraints
  • Lifting To SMT file
  • Lifting to Python file
  • Lifting to LLVM file
  • Lifting to LLVM IR and back
  • Python from 3.6 to 3.9 comparability
  • Add new AST optimizations
  • Add new instructions
  • Add FPU specification
  • Add support for Thumb IT instructions
  • Add the Bitwuzla solver interface
  • Add a synthesis expression engine
  • Fix semantics
  • Fix optimizations
  • And so many more

v0.8.1

4 years ago

This release is based on the v0.8 and only contains the regression patch (72cf02b931c2352a47cb0e8ddb291b60a2e66d5b) related to the ALIGNED_MEMORY optimization issue (see #889).

v0.8

4 years ago

We are glad to announce the release of Triton v0.8 which brings the ARM32 architecture and much more! All fixes and improvements can be found here and a blog post describing what's new in the v0.8 has been released.

v0.7

4 years ago

This version is a big step forward for the project. Below some improvements which have been made:

  • AArch64 support (more than 100 instructions supported)
  • Android support
  • Python 3.6 support
  • Fix some of bugs
  • Capstone 3.0.x and 4.0.x support
  • Fix some memory leaks
  • Shortcut access to a Register over the C++ API (#767)
  • Allow users to set alias on a symbolic variable (#763)
  • Provide a visitor feature in order to looking specific nodes in a tree (#711)
  • iff SMT node support (#571)

All updates can be found here.

v0.6

5 years ago

Version 0.6 provides new features, fixes and big improvements in term of design compared to 0.5. The full list and details of these changes can be found in the the Github issues interface. Version 0.6 has been pushed in order to prepare a new version (0.7) which will focus on AArch64 support already in development.

v0.5

6 years ago

Nothing awesome in this release, mainly focused on bug fixes. The full detail of upgrades can be found here. The version 0.5 has been pushed due to the new philosophy and design of the version 0.6. This version will be maintained few months over the dev-v0.5 branch. However, we recommend people to directly switch into the dev-v0.6.

  • Lot of bugs fixed
  • Some API renamed
  • 11 new instruction semantics
  • A new CMake design

v0.4

7 years ago

This version has been pushed due to the new design philosophy of the next one (v0.5). However, this version provides 95 new features and bug fixes.

v0.3

8 years ago

This version is a big step forward for the project. The version v0.3 allows you to plug any kind of tracers (e.g: Valgrind, Qemu, Pin, DynamoRIO, ...), allows you to simplify your symbolic expressions, to perform symbolic optimizations, to perform online or offline analysis, the libTriton is now available on OSX, Linux and Windows (without pintool), there is a new C++ and Python API and many more... Below, the short list of the main features added.

  • Externalize analysis from pintool (see #226)
  • libTriton available on OSX, Linux and Windows (without the pintool)
  • Tracer independent (see doc)
  • SMT Simplification Passes (see doc)
  • New semantics format (see source)
  • Offline / Online analysis
  • Symbolic Optimizations (see doc)
  • New C++ and Python API
  • Switch to Capstone for a multi-arch design
  • Semantics bug fix
  • Engines bug fix

v0.2

8 years ago

For this version, we have pushed 272 commits and closed 84 issues since the v0.1. Several efforts have been done around the execution speed and the RAM management. Then, a big step forward has been done on the semantics manipulation. To be short, below is the list of the main features added.

  • 32-bits support
  • Semantics representation as AST
  • Eval SMT expressions
  • Generate several models
  • Create and modify your own AST
  • Improve engines
  • Speed up execution
  • Blacklist and whitelist of jited images
  • Less RAM consumption
  • Add semantics
  • Bugs fixed
  • Code coverage tool

v0.1

8 years ago

Basically, this first version contains:

  • A dynamic symbolic execution engine
  • A translation of instructions into SMT-LIB v2.0
  • A solver interface
  • A snapshot engine
  • A taint engine
  • Python bindings on Triton and Pin's features
  • 114 supported semantics
  • A memory tracer tool
  • A database generation tool
  • A format string bug analysis tool
  • A use-after-free bug analysis tool
  • A documentation