binsec.sse
Binsec_sse.Script
binsec
binsec.base
binsec.cli
binsec.domains
binsec.dwarf
binsec.isa
binsec.kernel
binsec.script
binsec.smtlib
binsec.symbolic
binsec.unix
binsec_cli_bbsse
binsec_cli_disasm
binsec_cli_ghidra
binsec_cli_sse
binsec_cli_xtrasec
binsec_isa_armv7
binsec_isa_armv8
binsec_isa_ppc64
binsec_isa_riscv
binsec_isa_sparcv8
binsec_isa_x86_32
binsec_isa_x86_64
binsec_kernel_dba
binsec_kernel_isa
binsec_kernel_loader
binsec_kernel_parser
binsec_script_ast
binsec_smtlib_bindings
binsec_sse_checkct
binsec_sse_loader
binsec_sse_quick_merge
binsec_sse_shadow_stack
binsec_sse_stake
checkct
shadow_stack
stake
module Ast = Binsec_script.Ast
module Syntax = Binsec_script.Syntax
type env = {
wordsize : int;
endianness : Binsec_kernel.Machine.endianness;
define : Binsec_kernel.Dba.Var.t -> Lexing.position -> unit;
origin : string -> Lexing.position option;
lookup : string -> Binsec_kernel.Dba.LValue.t;
lookup_symbol : string -> Binsec_kernel.Dba.Var.Tag.attribute -> Binsec_kernel.Dba.Expr.t;
}
type 'a loc = 'a Ast.loc
module Symbol : module type of Ast.Symbol
module Loc : module type of Ast.Loc
module Expr : module type of Ast.Expr
module Instr : module type of Ast.Instr
module Output : sig ... end
type Ast.Obj.t +=
| Int of int
| Int_list of int list
| Format of Output.format
| Output of Output.t
| Output_list of Output.t list
| String_list of string list
| Key_val of string * string
| Key_val_list of (string * string) list
| Symbol_list of Symbol.t loc list
| Loc_opt of Loc.t loc option
| Loc_opt_list of Loc.t loc option list
| Expr_opt of Expr.t loc option
| Expr_list of Expr.t loc list
| Named of Expr.t loc * string
| Named_list of (Expr.t loc * string) list
type Ast.Instr.t +=
| Argument of Loc.t loc * int
lval := arg(i)
lval
i
| Return of Expr.t loc option
return rval
rval
| Cut of Expr.t loc option
| Print of Output.t
| Reach of int * Expr.t loc option * Output.t list
| Enumerate of int * Expr.t loc
| Error of string
type Ast.t +=
| Starting_from of Expr.t loc * Instr.t list
| Starting_from_core of Instr.t list
| Load_sections of string list
| Load_data of Loc.t loc
| Concretize_stack_pointer
| Import_symbols of Symbol.t loc list * string
| Hook of Expr.t loc list * Instr.t list * bool
| Return_hook of Ast.Symbol.t loc * Instr.t list
| Decode of Binsec_kernel.Binstream.t * Instr.t list
| Init of Instr.t list
| Explore_all
val pp_options : Format.formatter -> (string * string) list -> unit
val pp_stmts : Format.formatter -> Ast.Instr.t list -> unit
val register_pp : (Format.formatter -> Ast.t -> bool) -> unit
val pp : Format.formatter -> Ast.t -> unit
val read_files : (unit, Binsec_script.obj, unit, unit, Binsec_script.obj Dyp.dyplexbuf) Dyp.dyp_action list list -> string list -> Ast.t list
val read_string : (unit, Binsec_script.obj, unit, unit, Binsec_script.obj Dyp.dyplexbuf) Dyp.dyp_action list list -> string -> 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_kernel.Dba.LValue.t
val eval_expr : ?size:int -> Expr.t loc -> env -> Binsec_kernel.Dba.Expr.t
val eval_block : Ast.Instr.t list -> env -> (module Binsec_kernel.Isa_helper.ARCH) -> (Ast.Instr.t -> env -> Ir.fallthrough list) -> Ir.stmt list