package binsec

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type 'a t =
  1. | Hook : {
    1. addr : Binsec.Virtual_address.t;
    2. info : string;
    3. mutable succ : [ `All ] t;
    } -> [< `Label | `All ] t
  2. | Exec : {
    1. addr : Binsec.Virtual_address.t;
    2. info : string;
    3. n : int;
    4. others : (Binsec.Virtual_address.t * string) list;
    5. mutable succ : [ `All ] t;
    } -> [< `Label | `All ] t
  3. | Assign : {
    1. var : Libsse.Types.Var.t;
    2. rval : Libsse.Types.Expr.t;
    3. mutable succ : [ `All ] t;
    } -> [< `All ] t
  4. | Clobber : {
    1. var : Libsse.Types.Var.t;
    2. mutable succ : [ `All ] t;
    } -> [< `All ] t
  5. | Load : {
    1. var : Libsse.Types.Var.t;
    2. base : Types.A.t;
    3. dir : Binsec.Machine.endianness;
    4. addr : Libsse.Types.Expr.t;
    5. mutable succ : [ `All ] t;
    } -> [< `All ] t
  6. | Store : {
    1. base : Types.A.t;
    2. dir : Binsec.Machine.endianness;
    3. addr : Libsse.Types.Expr.t;
    4. rval : Libsse.Types.Expr.t;
    5. mutable succ : [ `All ] t;
    } -> [< `All ] t
  7. | Symbolize : {
    1. var : Libsse.Types.Var.t;
    2. mutable succ : [ `All ] t;
    } -> [< `All ] t
  8. | Assume : {
    1. test : Libsse.Types.Expr.t;
    2. mutable succ : [ `All ] t;
    } -> [< `Assume | `All ] t
  9. | Assert : {
    1. test : Libsse.Types.Expr.t;
    2. mutable succ : [ `All ] t;
    } -> [< `Assert | `All ] t
  10. | Branch : {
    1. test : Libsse.Types.Expr.t;
    2. mutable taken : [ `All ] t;
    3. mutable fallthrough : [ `All ] t;
    } -> [< `Branch | `All ] t
  11. | Goto : {
    1. addr : Binsec.Virtual_address.t;
    2. mutable preds : (bool * [ `All ] t) list;
    } -> [< `All ] t
  12. | Jump : Libsse.Types.Expr.t -> [< `Jump | `All ] t
  13. | Halt : [< `All ] t
  14. | Probe : {
    1. kind : Probe.t;
    2. mutable succ : [ `All ] t;
    } -> [< `Probe | `All ] t
  15. | Cut : [< `All ] t
  16. | Die : string -> [< `All ] t
val addr : [ `Label ] t -> Binsec.Virtual_address.t
val assign : Binsec.Dba.LValue.t -> Binsec.Dba.Expr.t -> [ `All ] t -> [ `All ] t
val nondet : Binsec.Dba.LValue.t -> [ `All ] t -> [ `All ] t
val of_dhunk : Binsec.Dhunk.t -> [ `All ] t
val of_script : ?continue:[ `All ] t -> Script.Instr.t list -> [ `All ] t
val mk_cut : Binsec.Virtual_address.t -> string -> Libsse.Types.Expr.t option -> [ `All ] t -> [ `Label ] t
val mk_assume : Binsec.Virtual_address.t -> string -> Libsse.Types.Expr.t -> [ `All ] t -> [ `Label ] t
val mk_assert : Binsec.Virtual_address.t -> string -> Libsse.Types.Expr.t -> [ `All ] t -> [ `Label ] t
val mk_reach : Binsec.Virtual_address.t -> string -> int -> Libsse.Types.Expr.t option -> int -> Types.Output.t list -> [ `All ] t -> [ `Label ] t
val mk_enumerate : Binsec.Virtual_address.t -> string -> int -> Types.Output.format -> Libsse.Types.Expr.t -> int -> [ `All ] t -> [ `Label ] t
OCaml

Innovation. Community. Security.