package bap-std
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=63ada71fa4f602bd679174dc6bf780d54aeded40ad4ec20d256df15886e3d2d5
md5=b8b1aff8c6846f2213eafc54de07b304
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