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/Brancher/index.html

Module Std.Brancher

Brancher is responsible for resolving destinations of branch instructions.

type t = brancher
type dest = addr option * edge

destination target (if known) and edge classification (see edge)

val sexp_of_dest : dest -> Ppx_sexp_conv_lib.Sexp.t
val dest_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> dest
type dests = dest list
val sexp_of_dests : dests -> Ppx_sexp_conv_lib.Sexp.t
val dests_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> dests
val create : (mem -> Disasm_expert.Basic.full_insn -> dests) -> t

create resolve creates a brancher from resolve function, that accepts a memory region, occupied by an instruction, the instruction itself and returns a list of destination.

val of_bil : arch -> t

of_bil arch creates a brancher that will use a BIL code to statically deduce the instruction destinations.

val resolve : t -> mem -> Disasm_expert.Basic.full_insn -> dests

resolve brancher mem insn returns a list of destinations of the instruction insn, that occupies memory region mem.

val provide : t -> unit
module Factory : Source.Factory.S with type t = t
OCaml

Innovation. Community. Security.