package bap-mc

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

Module Mc_main

val mc_man : string
val objdump_man : string
type error =
  1. | Bad_user_input
  2. | Bad_insn of Bap.Std.mem * int * int
  3. | Create_mem of Core_kernel.Error.t
  4. | No_input
  5. | Invalid_base of string
  6. | Trailing_data of int
  7. | Inconsistency of Bap_core_theory.KB.conflict
  8. | Unknown_format of string * string * string list
  9. | No_formats_expected of string
  10. | Disassembler_failed of Core_kernel.Error.t
  11. | Loader_failed of Core_kernel.Error.t
  12. | Target_must_be_unknown
  13. | Encoding_must_be_unknown
  14. | Triple_must_not_be_set
  15. | Arch_must_not_be_set
  16. | Backend_must_not_be_set
  17. | Cpu_must_not_be_set
  18. | Bits_must_not_be_set
  19. | Order_must_not_be_set
type output = [
  1. | `insn
  2. | `bil
  3. | `bir
  4. | `sema
  5. | `kinds
  6. | `size
  7. | `invalid
  8. | `addr
  9. | `memory
  10. | `knowledge
]
val compare_output : output -> output -> int
val all_of_output : output list
type target =
  1. | Target of {
    1. name : Bap_core_theory.Theory.Target.t;
    2. encoding : Bap_core_theory.Theory.Language.t;
    }
  2. | Triple of {
    1. name : string;
    2. backend : string option;
    3. cpu : string option;
    4. order : Bap.Std.endian;
    5. bits : int;
    }
val enabled : string
module Spec : sig ... end
val bad_insn : Bap.Std.Addr.t -> ('a, 'b, 'c, 'd) Dis.state -> int -> ('e, Bap_main.Extension.Error.t) Core_kernel._result
val escape_0x : string -> string
val prepend_slash_x : string -> string

to_binary ?escape s make a binary string from ascii representation, (e.g., "\x01\x02..."). Apply optional escape function for each byte

val read_input : Base.string list -> (string, Bap_main.Extension.Error.t) Core_kernel._result
val endian : target -> Bap.Std.endian
val print_kinds : 'a list -> ('b, Bap.Std.Disasm_expert.Basic.kinds) Dis.Insn.t -> unit
val print_insn_size : 'a list -> Bap.Std.Memory.t -> unit
val print_insn_addr : 'a list -> Bap.Std.Memory.t -> unit
val print_insn_memory : 'a list -> Bap.Std.Memory.t -> unit
val print_knowledge : 'a list -> unit
val print_insn : string list -> Bap.Std.Insn.t -> unit
val print_bil : string list -> Bap.Std.Insn.t -> unit
val print_bir : string list -> Bap.Std.insn -> unit
val print_sema : string list -> 'a Bap_knowledge.Knowledge.value -> unit
val equal_output : output -> output -> bool
val is_enabled : Core_kernel.String.t list -> bool
val formats : (output, 'a list) Core_kernel.List.Assoc.t -> output -> 'a list
val print : target -> Bap.Std.Memory.t -> Bap.Std.Disasm_expert.Basic.full_insn -> ([> `addr | `bil | `bir | `insn | `kinds | `knowledge | `memory | `sema | `size ] -> string list) -> (unit, Bap_main.Extension.Error.t) Base.Result.t
val bits : target -> int
val module_of_kind : [< `bil | `bir | `insn ] -> string
val validate_module : [< `bil | `bir | `insn ] -> Core_kernel.String.t list -> (unit, error) Core_kernel.Result.t
val validate_formats : ([< `addr | `bil | `bir | `insn | `invalid | `kinds | `knowledge | `memory | `sema | `size ] * Core_kernel.String.t list) list -> (unit, Bap_main.Extension.Error.t) Core_kernel.Result.t
val print_invalid : 'a -> unit
val run : ?only_one:bool -> ?stop_on_error:bool -> ('a, 'b) Dis.t -> target -> Bap.Std.Memory.t -> ([> `addr | `bil | `bir | `insn | `invalid | `kinds | `knowledge | `memory | `sema | `size ] -> Core_kernel.String.t list) -> (int, Bap_main.Extension.Error.t) Core_kernel._result
val check_invariants : (bool * (unit, 'a) Core_kernel.Result.t list) list -> (unit, 'a) Core_kernel.Result.t
val check : ('a -> bool) -> 'a -> error -> (unit, Bap_main.Extension.Error.t) Core_kernel._result
val triple_must_not_be_set : 'a option -> (unit, Bap_main.Extension.Error.t) Core_kernel._result
val arch_must_not_be_set : 'a option -> (unit, Bap_main.Extension.Error.t) Core_kernel._result
val backend_must_not_be_set : 'a option -> (unit, Bap_main.Extension.Error.t) Core_kernel._result
val cpu_must_not_be_set : 'a option -> (unit, Bap_main.Extension.Error.t) Core_kernel._result
val bits_must_not_be_set : 'a option -> (unit, Bap_main.Extension.Error.t) Core_kernel._result
val order_must_not_be_set : 'a option -> (unit, Bap_main.Extension.Error.t) Core_kernel._result
val target_of_arch : string -> int option -> Bap.Std.endian option -> target
val make_triple : ?bits:int -> ?order:Bap.Std.endian -> ?backend:string -> ?cpu:string -> string -> target
val parse_arch : string option -> Bap_core_theory.Theory.Target.t -> Bap_core_theory.Theory.Language.t -> string option -> string option -> string option -> int option -> Bap.Std.endian option -> (target, Bap_main.Extension.Error.t) Base.Result.t
val format_info : (unit -> (string * 'a * 'b) list) -> string
val string_of_failure : error -> string
OCaml

Innovation. Community. Security.