package bap-byteweight

  1. Overview
  2. Docs

Byteweight 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.
type stats
module type Corpus = sig ... end

Data interface.

module type S = sig ... end

Byteweight algorithm interface.

module V1 : sig ... end
module V2 : sig ... end

Make(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.t
module Bytes : sig ... end

Default implementation that uses memory chunk as the domain.

module Stats : sig ... end
OCaml

Innovation. Community. Security.