package binsec

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

Module Binsec_sse_loader.IrSource

Sourcetype builtin = ..
Sourcetype builtin +=
  1. | Inline of Binsec_kernel.Dhunk.t
  2. | EndOfHook
Sourceval pp_builtin : Stdlib.Format.formatter -> builtin -> unit
Sourceval register_builtin_printer : (Stdlib.Format.formatter -> builtin -> bool) -> unit
Sourcetype 'a opcode =
  1. | Nop : [ `Fallthrough ] opcode
  2. | Instruction : Binsec_kernel.Instruction.t -> [< `Label | `Fallthrough ] opcode
  3. | Hook : {
    1. addr : Binsec_kernel.Virtual_address.t;
    2. info : string;
    } -> [< `Label | `Fallthrough ] opcode
  4. | Assign : {
    1. var : Binsec_kernel.Dba.Var.t;
    2. rval : Binsec_kernel.Dba.Expr.t;
    } -> [ `Fallthrough ] opcode
  5. | Clobber : Binsec_kernel.Dba.Var.t -> [ `Fallthrough ] opcode
  6. | Forget : Binsec_kernel.Dba.Var.t -> [ `Fallthrough ] opcode
  7. | Load : {
    1. var : Binsec_kernel.Dba.Var.t;
    2. base : string option;
    3. dir : Binsec_kernel.Machine.endianness;
    4. addr : Binsec_kernel.Dba.Expr.t;
    } -> [ `Fallthrough ] opcode
  8. | Store : {
    1. base : string option;
    2. dir : Binsec_kernel.Machine.endianness;
    3. addr : Binsec_kernel.Dba.Expr.t;
    4. rval : Binsec_kernel.Dba.Expr.t;
    } -> [ `Fallthrough ] opcode
  9. | Symbolize : Binsec_kernel.Dba.Var.t -> [ `Fallthrough ] opcode
  10. | Assume : Binsec_kernel.Dba.Expr.t -> [ `Fallthrough ] opcode
  11. | Assert : Binsec_kernel.Dba.Expr.t -> [ `Fallthrough ] opcode
  12. | Builtin : builtin -> [< `Fallthrough | `Terminator ] opcode
  13. | Goto : {
    1. target : Binsec_kernel.Virtual_address.t;
    2. tag : Binsec_kernel.Dba.tag;
    } -> [< `Fallthrough | `Terminator ] opcode
  14. | Jump : {
    1. target : Binsec_kernel.Dba.Expr.t;
    2. tag : Binsec_kernel.Dba.tag;
    } -> [ `Terminator ] opcode
  15. | Halt : [ `Terminator ] opcode
  16. | Cut : [ `Terminator ] opcode
  17. | Die : string -> [ `Terminator ] opcode
Sourceand label = [ `Label ] opcode
Sourceand fallthrough = [ `Fallthrough ] opcode
Sourceand terminator = [ `Terminator ] opcode
Sourceval pp_opcode : Stdlib.Format.formatter -> 'a opcode -> unit
Sourcetype node =
  1. | Fallthrough of {
    1. label : label;
    2. kind : fallthrough;
    3. succ : int;
    }
  2. | Branch of {
    1. label : label;
    2. test : Binsec_kernel.Dba.Expr.t;
    3. target : int;
    4. fallthrough : int;
    }
  3. | Terminator of {
    1. label : label;
    2. kind : terminator;
    }
Sourceval pp_node : Stdlib.Format.formatter -> node -> unit
Sourceval label_of : node -> label
Sourcetype stmt =
  1. | Nop
  2. | Label of string
    (*

    label:

    *)
  3. | Opcode of fallthrough
  4. | If of Binsec_kernel.Dba.Expr.t * string
    (*

    if rval then goto label

    *)
  5. | Goto of string
    (*

    goto label

    *)
  6. | End of terminator
Sourcemodule type GRAPH = sig ... end
Sourcemodule type INSTRUMENT = sig ... end
Sourcemodule View : GRAPH
Sourcemodule Graph : sig ... end
Sourcemodule Killset : sig ... end