package bap-std

  1. Overview
  2. Docs
The Binary Analysis Platform Standard Library

Install

Dune Dependency

Authors

Maintainers

Sources

v2.1.0.tar.gz
sha256=631fc58628418e4856709a0cfc923a65e00c9494fbd28d444c633d11194831de
md5=3db9deac8d429b9b8a8ec9aec54987b1

doc/bap/Bap/Std/Bili/index.html

Module Std.Bili

BIL Interpreter.

bili extends expi with methods for evaluating BIL statements, thus allowing one to interpret BIL AST. To interpret BIL in the intermediate representation use biri.

Also, if you don't need to change the default behavior of the interpreter, then you may use Stmt.eval that exposes an easier interface for BIL evaluation. For example,

let x = Var.create "x" bool_t;;
val x : var = x
let ctxt = Stmt.eval [Bil.(x := int Word.b0)] (new Bili.context);;
val ctxt : Bili.context = <obj>
ctxt#bindings |> Seq.to_list;;
- : (var * Bil.result) list = [(x, [0x1] false)]
  • deprecated

    Use the Primus Framework

class context : object ... end

Bili.context extends Expi.context with PC (Program Counter).

module type S = sig ... end
module Make (M : Monads.Std.Monad.State.S2) : S with type ('a, 'e) state = ('a, 'e) M.t
include S with type ('a, 'e) state = ('a, 'e) Monads.Std.Monad.State.t
type ('a, 'e) state = ('a, 'e) Monads.Std.Monad.State.t
type 'a u = (unit, 'a) state
type 'a r = (Bil.result, 'a) state
module Expi : Expi.S with type ('a, 'e) state = ('a, 'e) state
class 'a t : object ... end

Base class for BIL interpreters

OCaml

Innovation. Community. Security.