Legend:
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Page
Library
Module
Module type
Parameter
Class
Class type
Source
Bap_byteweightByteweight library.
Byteweight is a function start identification algorithm [1]. This library provides a functorized implementation.
An auxiliary Bap_byteweight_signatures library provides an access to the repository of binary signatures.
@see <https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-bao.pdf>
[1]: Bao, Tiffany, et al. "Byteweight: Learning to recognize functions in binary code."
23rd USENIX Security Symposium (USENIX Security 14). 2014.module type Corpus = sig ... endData interface.
module type S = sig ... endByteweight algorithm interface.
module V1 : sig ... endmodule V2 : sig ... endMake(Corpus)(Trie) creates a Byteweight procedure, that works in the Corpus domain and uses Trie for its implementation.
The Trie module specifies how substrings are compared. In particular, it gives an opportunity, to implement normalized string comparison.
module Make
(Corpus : Corpus)
(Trie : Bap.Std.Trie.S with type key = Corpus.key) :
S with type key = Corpus.key and type corpus = Corpus.tmodule Bytes : sig ... endDefault implementation that uses memory chunk as the domain.
module Stats : sig ... end