package binsec

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

Modules & types related to DBA types

module Logger : Logger.S
type instruction_sequence = (Dba.address * Dba.Instr.t) list
module Call_stack : Sigs.COMPARABLE with type t = (Dba.address * Dba.address) list
module Region : sig ... end

Dba address / Code address

module Caddress : sig ... end

A DBA instruction is uniquely located at an address + label/id

module AddressStack : sig ... end
module Rights : sig ... end

DBA AST modules

module Expr : sig ... end
module LValue : sig ... end
module Jump_target : sig ... end
type ('a, 'b) defuse = {
  1. defs : 'a;
  2. uses : 'b;
}
module Instruction : sig ... end
module Declarations : sig ... end
module Statement : sig ... end
val malloc_id : int Stdlib.ref
type dbainstrmap = Dba.Instr.t Caddress.Map.t
type read_perm =
  1. | Read of bool
type write_perm =
  1. | Write of bool
type exec_perm =
  1. | Exec of bool
type permissions = Dba.Expr.t * (read_perm * write_perm * exec_perm)
type program = {
  1. start_address : Dba.address;
  2. declarations : Declarations.t;
  3. permissions : permissions list Region.Map.t * Dba.Expr.t Rights.t;
  4. initializations : Dba.Instr.t list;
  5. instructions : dbainstrmap;
}
OCaml

Innovation. Community. Security.