https://github.com/binaryanalysisplatform/bap-frames
Store and read traces in Protobuf
https://github.com/binaryanalysisplatform/bap-frames
Last synced: 10 months ago
JSON representation
Store and read traces in Protobuf
- Host: GitHub
- URL: https://github.com/binaryanalysisplatform/bap-frames
- Owner: BinaryAnalysisPlatform
- License: mit
- Created: 2014-09-05T18:20:43.000Z (almost 12 years ago)
- Default Branch: master
- Last Pushed: 2023-12-01T22:09:09.000Z (over 2 years ago)
- Last Synced: 2025-05-07T17:14:53.680Z (about 1 year ago)
- Language: OCaml
- Homepage:
- Size: 529 KB
- Stars: 20
- Watchers: 12
- Forks: 11
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Overview
`Frames` is a format for storing execution traces. This repository contains:
- A description in [piqi](http://piqi.org/) language of the `frames` format;
- A `C++` library for writing data in the `frames` format
- An `OCaml` library `bap-frames` for reading data in the `frames` format
- A BAP plugin `frame` that provides `frames` format reader for the `bap-plugins` library
# Build and install
## OCaml bap-frames library
### From sources
```
oasis setup
./configure --prefix=`opam config var prefix`
make
make install
```
### From opam
1. Add our opam repository if you don't have one
```
opam repository add bap git://github.com/BinaryAnalysisPlatform/opam-repository.git
```
2. install
```
opam install bap-frames
```
## C++ `libtrace` library
1. Install [piqi](https://piqi.org/downloads/) so you have the `piqi` binary in `PATH`.
2. Install `protobuf-devel` (Debian: `libprotobuf-dev`).
3. Generate configuration files
```
cd libtrace
./autogen.sh
```
4. Configure (use configuration options to your taste)
```
./configure
```
5. Compile and install
```
make
make install
```