class

Crowbar::Selectors::Entropy

Inherits Crowbar::Selector < Reference < Object

Selects regions based on Shannon information entropy:

  • :high entropy (>= threshold, default 6.5 bits/byte): identifies compressed, encrypted, or random payload chunks.
  • :low entropy (<= threshold, default 2.5 bits/byte): identifies repetitive padding, null blocks, or tabular space runs.

Constructors

new(mode : Mode | Symbol = :high, threshold : Float64 | Nil = nil, window_size : Int32 = 32, weight : Float64 = 1.0)
Source

Class methods

calculate_entropy(bytes : Bytes) : Float64

Calculates Shannon entropy in bits per byte [0.0 .. 8.0]

Source

Instance methods

mode
Source
select(buffer : Buffer) : Array(Tuple(Int32, Int32))

Returns an array of target ranges {start_index, end_index_exclusive}

Source
threshold
Source
window_size
Source

Nested types