package bap-std

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

Install

Dune Dependency

Authors

Maintainers

Sources

v2.5.0.tar.gz
sha256=9c126781385d2fa9b8edab22e62b25c70bf2f99f6ec78abb7e5e36d63cfa4174
md5=5abd9b3628b43f797326034f31ca574f

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.