/angr-platforms

A collection of extensions to angr to handle new platforms

Primary LanguagePythonBSD 2-Clause "Simplified" LicenseBSD-2-Clause

The angr Platforms collection

This is a collection of extensions to angr to handle new platforms!

Here you can find the following:

The core idea here is that angr and its components are extensible through registration -- a method, such as pyvex.lift.register() can be used to include your out-of-tree code into angr's automatic consideration. Through these mechanisms, you can write new architectural descriptions, laoders for new binary formats, lifters for new instruction sets, new simulated execution environments (SimOSes). You can even create entirely new execution engines that operate on instructions other than the VEX IR.

A set of tutorials, providing a walkthrough of these components, how they interact, and how to write them, can be found here: https://github.com/angr/angr-platforms/tree/master/tutorial