package bap-std
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=9c126781385d2fa9b8edab22e62b25c70bf2f99f6ec78abb7e5e36d63cfa4174
md5=5abd9b3628b43f797326034f31ca574f
doc/bap/Bap/Std/Symbolizer/index.html
Module Std.Symbolizer
Symbolizer maps addresses to function names
type t = symbolizersymbolizer data type
val provide : Bap_knowledge.Knowledge.agent -> t -> unitprovide agent symbolizer registers symbolizer in the knowledge base.
This function enables an easy integration of the old symbolizers/information sources infrastructure into the knowledge base representation introduced with BAP 2.0.
A symbolizer is regiestered in the knowledge base through an agent which denotes the level of trustwothiness of the symbolizer.
val providing :
Bap_knowledge.Knowledge.agent ->
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.proposing{proposing
}
.
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_blocks produces a symbolizer from a serialized sequence of blocks. Each element of the sequence is deconstructed as (name,ba,ea), where name is a subroutine name, ba is a virtual address of a block start, and ea is an address of the block end.
resolve symbolizer addr returns a name of function, to which a given address belongs. If the address is not know to the symbolizer, then the name is constructed from an address
chain ss creates a symbolizer, that will try to resolve an address using each symbolizer in order.
val empty : tempty is a symbolizer that knows nothing.
module Factory : Source.Factory.S with type t = t