package binsec

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type t = {
  1. visited : int;
  2. choices : int;
  3. asserts_unknown : int;
  4. asserts_failed : int;
  5. opaque_predicates : int;
  6. clear_predicates : int;
  7. unknown_predicates : int;
  8. unfeasible_predicates : int;
  9. unfeasible_paths : int;
  10. opaque_predicates_detected : int;
  11. other_opaque_predicates : int;
  12. false_negatives : int;
  13. nb_paths : int;
  14. all_predicates_opaque : PredicatSet.t;
  15. all_predicates_clear : PredicatSet.t;
  16. all_predicates_unknown : PredicatSet.t;
  17. all_predicates_unfeasible : PredicatSet.t;
  18. jumps_done : Virtual_address.Set.t;
  19. mutable all_jumps : Virtual_address.t Stack.t option;
  20. mutable cur_jmp_cond : Dba.Expr.t option;
  21. paths_per_jump : int Virtual_address.Htbl.t;
  22. must_be_opaque : Virtual_address.Set.t;
  23. times : float Virtual_address.Htbl.t;
  24. t_start : float;
  25. t_end : float;
  26. times_e : float Virtual_address.Htbl.t;
  27. t_start_e : float;
  28. t_end_e : float;
  29. times_b : float Virtual_address.Htbl.t;
  30. t_start_b : float;
  31. t_end_b : float;
  32. times_s : float Virtual_address.Htbl.t;
  33. t_start_s : float;
  34. t_end_s : float;
  35. entrypoint_per_jump : int Virtual_address.Htbl.t;
  36. jmp_entry : Virtual_address.t Virtual_address.Htbl.t;
  37. mutable entrypoint : Virtual_address.t;
  38. mutable nb_cur_instr : int;
  39. nb_instr : int Stack.t;
  40. g_t_set : Virtual_address.Set.t;
  41. right_left_conds : Bitvector.t Virtual_address.Htbl.t;
}
val empty : t
module R : sig ... end
include module type of struct include R end
val value : t ref
val add_visited : unit -> unit
val add_choice : unit -> unit
val add_assert_unknown : unit -> unit
val add_assert_failed : unit -> unit
val add_opaque_predicate : unit -> unit
val add_clear_predicate : unit -> unit
val add_unknown_predicate : unit -> unit
val add_predicate_opaque : PredicatSet.elt -> unit
val add_predicate_clear : PredicatSet.elt -> unit
val add_predicate_unknown : PredicatSet.elt -> unit
val add_predicate_unfeasible : PredicatSet.elt -> unit
val add_unfeasible_paths : unit -> unit
val add_unfeasible_predicate : unit -> unit
val add_jump_done : Virtual_address.Set.elt -> unit
val add_op_detected : unit -> unit
val add_other_op : unit -> unit
val add_fn : unit -> unit
val add_path : unit -> unit
val get_nb_paths : unit -> int
val add_must_be_opaque : Virtual_address.Set.elt -> unit
val remove_opaque_predicate : unit -> unit
val remove_clear_predicate : unit -> unit
val remove_unknown_predicate : unit -> unit
val remove_unfeasible_predicate : unit -> unit
val get_predicates_opaque : unit -> PredicatSet.t
val get_predicates_clear : unit -> PredicatSet.t
val get_predicates_unknown : unit -> PredicatSet.t
val get_predicates_unfeasible : unit -> PredicatSet.t
val pp : Format.formatter -> unit -> unit
val pp_predicate : Format.formatter -> unit -> unit
val set_all_jumps : Virtual_address.t Stack.t option -> unit
val set_cur_jmp_cond : Dba.Expr.t option -> unit
val get_cur_jmp_cond : unit -> Dba.Expr.t option
val get_must_be_opaque : unit -> Virtual_address.Set.t
val get_jumps_done : unit -> Virtual_address.Set.t
val get_right_left_conds : unit -> Bitvector.t Virtual_address.Htbl.t
val get_paths_per_jump : unit -> int Virtual_address.Htbl.t
val get_entrypoint_per_jump : unit -> int Virtual_address.Htbl.t
val get_jmp_entry : unit -> Virtual_address.t Virtual_address.Htbl.t
val get_times : unit -> float Virtual_address.Htbl.t
val get_t_start : unit -> float
val set_t_start : float -> unit
val get_t_end : unit -> float
val set_t_end : float -> unit
val get_times_e : unit -> float Virtual_address.Htbl.t
val get_t_start_e : unit -> float
val set_t_start_e : float -> unit
val get_t_end_e : unit -> float
val set_t_end_e : float -> unit
val get_times_b : unit -> float Virtual_address.Htbl.t
val get_t_start_b : unit -> float
val set_t_start_b : float -> unit
val get_t_end_b : unit -> float
val set_t_end_b : float -> unit
val get_times_s : unit -> float Virtual_address.Htbl.t
val get_t_start_s : unit -> float
val set_t_start_s : float -> unit
val get_t_end_s : unit -> float
val set_t_end_s : float -> unit
val get_entrypoint : unit -> Virtual_address.t
val set_entrypoint : Virtual_address.t -> unit
val get_nb_cur_instr : unit -> int
val set_nb_cur_instr : int -> unit
val get_nb_instr : unit -> int Stack.t
val add_nb_instr : int -> unit
val get_g_t_set : unit -> Virtual_address.Set.t
val add_g_t_set : Virtual_address.Set.elt -> unit
OCaml

Innovation. Community. Security.