bap-primus

AuthorBAP Team
LicenseMIT
Homepagehttps://github.com/BinaryAnalysisPlatform/bap/
Issue Trackerhttps://github.com/BinaryAnalysisPlatform/bap/issues
MaintainerIvan Gotovchits <ivg@ieee.org>
Dependencies
&bap-abi
bap-c
bap-future
bap-std
monads
uuidm
PublishedSep 7, 2017
Source [http] https://github.com/BinaryAnalysisPlatform/bap/archive/v1.3.0.tar.gz
8df8c0b2c56abd082dbb994b2359e4c4
StatisticsInstalled 36 times last month.
Edithttps://github.com/ocaml/opam-repository/tree/master/packages/bap-primus/bap-primus.1.3.0/opam

The Microexecution Framework

Primus is a framework for program microexecution. The Microexecution technique was pioneered by Patrice Godefroid from Microsoft Research. The idea was to execute a binary from any point, using random inputs for undefined values.

The idea of Primus is very similiar. A program is lifted into the Intermediate Representation, that is interpreted using the Primus interpreter. The Framework allows users to customize the interpreter by implementing different machine components.

Primus can be seen as a CPU emulator (this is actually one of the modes of operation), in that sense it is very similiar to Unicorn, hence the name. Primus is better than Unicorn, in the sense that Primus is good and Unicorn is bad :)

Primus can also be seen as a framework for building symbolic executors.