package binsec

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type env = {
  1. wordsize : int;
  2. endianness : Binsec.Machine.endianness;
  3. define : Binsec.Dba.Var.t -> Lexing.position -> unit;
  4. origin : string -> Lexing.position option;
  5. lookup : string -> Binsec.Dba.LValue.t;
  6. lookup_symbol : string -> Binsec.Dba.Var.Tag.attribute -> Binsec.Dba.Expr.t;
}
type 'a loc = 'a Binsec.Ast.loc
module Symbol : module type of Binsec.Ast.Symbol
module Loc : module type of Binsec.Ast.Loc
module Expr : module type of Binsec.Ast.Expr
module Instr : module type of Binsec.Ast.Instr
module Output : sig ... end
type Binsec.Ast.Obj.t +=
  1. | Int of int
  2. | Int_list of int list
  3. | Format of Output.format
  4. | Output of Output.t
  5. | Output_list of Output.t list
  6. | String_list of string list
  7. | Key_val of string * string
  8. | Key_val_list of (string * string) list
  9. | Symbol_list of Symbol.t loc list
  10. | Loc_opt of Loc.t loc option
  11. | Loc_opt_list of Loc.t loc option list
  12. | Expr_opt of Expr.t loc option
  13. | Expr_list of Expr.t loc list
  14. | Named of Expr.t loc * string
  15. | Named_list of (Expr.t loc * string) list
type Binsec.Ast.Instr.t +=
  1. | Argument of Loc.t loc * int
    (*

    lval := arg(i)

    *)
  2. | Return of Expr.t loc option
    (*

    return rval

    *)
  3. | Cut of Expr.t loc option
  4. | Print of Output.t
  5. | Reach of int * Expr.t loc option * Output.t list
  6. | Enumerate of int * Expr.t loc
type Binsec.Ast.t +=
  1. | Starting_from of Expr.t loc * Instr.t list
  2. | Starting_from_core of Instr.t list
  3. | Load_sections of string list
  4. | Load_data of Loc.t loc
  5. | Concretize_stack_pointer
  6. | Import_symbols of Symbol.t loc list * string
  7. | Hook of Expr.t loc list * Instr.t list * bool
  8. | Decode of Binsec.Binstream.t * Instr.t list
  9. | Init of Instr.t list
  10. | Explore_all
val pp_options : Format.formatter -> (string * string) list -> unit
val pp_stmts : Format.formatter -> Binsec.Ast.Instr.t list -> unit
val register_pp : (Format.formatter -> Binsec.Ast.t -> bool) -> unit
val pp : Format.formatter -> Binsec.Ast.t -> unit
val read_files : (unit, Libparser.obj, unit, unit, Libparser.obj Dyp.dyplexbuf) Dyp.dyp_action list list -> string list -> Binsec.Ast.t list
exception Inference_failure of Expr.t loc
exception Invalid_size of Expr.t loc * int * int
exception Invalid_operation of Expr.t loc
val eval_loc : ?size:int -> Loc.t loc -> env -> Binsec.Dba.LValue.t
val eval_expr : ?size:int -> Expr.t loc -> env -> Binsec.Dba.Expr.t