package bap-std
Rooter finds starts of functions in the binary.
type t = rooter
val provide : t -> unit
provide r
reflects the rooter information to the knowledge base.
val providing :
t ->
(unit -> 'a Bap_knowledge.knowledge) ->
'a Bap_knowledge.knowledge
providing 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
}
.
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 option
path s
is the path to the file that this symbolizer serves.
of_image img
create a rooter that will use existing symbol information inside the image, to find roots.
of_blocks
produces a rooter 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.
module Factory : Source.Factory.S with type t = t
A factory of rooters. Useful to register custom rooters