package binsec

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Abstract representation of configuration data for static analyses

type instruction_kinds = Dba.Instr.t list
type widening_delay = int
module BoundThreshold : sig ... end
module WideningThreshold : sig ... end
val default_global_widening_thresholds : WideningThreshold.t
val default_global_widening_delay : int
type t = private {
  1. entry_points : Virtual_address.Set.t;
  2. jumps : Dba.addresses Dba_types.Caddress.Map.t;
  3. allowed_jumpzones : (Dba.address * Dba.address) list;
  4. stops : Dba_types.Caddress.Set.t;
  5. prepend_stubs : instruction_kinds Dba_types.Caddress.Map.t;
  6. substitute_stubs : Dba_types.instruction_sequence Dba_types.Caddress.Map.t;
  7. linear_addresses : (Virtual_address.t * Virtual_address.t) list;
  8. global_widening : WideningThreshold.t * widening_delay;
  9. local_widening_thresholds : WideningThreshold.t Dba_types.Caddress.Map.t;
  10. local_widening_delays : widening_delay Dba_types.Caddress.Map.t;
}

Configuration definition

val default : t

Constructors and modificators

val empty : t
val set_entry_points : Virtual_address.Set.t -> t -> t
val has_entry_points : t -> bool
val set_stops : Dba_types.Caddress.Set.t -> t -> t
val set_prepend_stubs : instruction_kinds Dba_types.Caddress.Map.t -> t -> t
val set_allowed_jumpzones : (Dba.address * Dba.address) list -> t -> t
val set_linear_addresses : (Dba.address * Dba.address) list -> t -> t
val set_global_widening_delay : widening_delay -> t -> t
val set_global_widening_thresholds : WideningThreshold.t -> t -> t