package bap-std
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=a6e80853aaaa26b7ca564d9878891d7146ec1c83852541387c1bba1ad036b8ea
md5=13f2cb1e3b9d90348852252fb0f2d09f
doc/bap/Bap/Std/Brancher/index.html
Module Std.Brancher
Brancher is responsible for resolving destinations of branch instructions.
type t = brancherval sexp_of_dest : dest -> Ppx_sexp_conv_lib.Sexp.tval dest_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> desttype dests = dest listval sexp_of_dests : dests -> Ppx_sexp_conv_lib.Sexp.tval dests_of_sexp : Ppx_sexp_conv_lib.Sexp.t -> destsval create : (mem -> Disasm_expert.Basic.full_insn -> dests) -> tcreate resolve creates a brancher from resolve function, that accepts a memory region, occupied by an instruction, the instruction itself and returns a list of destination.
set_path s limits the symbolizer applicability only to addresses that belong to a file/compilation unit with the specified path.
val path : t -> string optionpath s is the path to the file that this symbolizer serves.
of_bil arch creates a brancher that will use a BIL code to statically deduce the instruction destinations.
val resolve : t -> mem -> Disasm_expert.Basic.full_insn -> destsresolve brancher mem insn returns a list of destinations of the instruction insn, that occupies memory region mem.
val provide : t -> unitprovide brancher provides the brancher information to the knowledge base.
val providing :
t ->
(unit -> 'a Bap_knowledge.knowledge) ->
'a Bap_knowledge.knowledgeproviding t scope provides the information in the specified scope,
After the scope function is evaluated the information source is retracted from the knowledge base.
See Bap_knowledge.Knowledge.promising{promising
}
.
module Factory : Source.Factory.S with type t = t