Byte Entropy

v0.1.0Adicionado em 26 de set. de 2026Dados de exemplo

Entropia de Shannon em janelas deslizantes de um binário, para identificar seções compactadas ou criptografadas.

cargo install kura-rs
kura add byte-entropy

Copia o arquivo de código-fonte para o seu projeto. A partir daí, o código é seu.

Se outra ferramenta já instala um comando kura, execute cargo install kura-rs --bin kura-rs e use kura-rs add no lugar.

use crate::parts::byte_entropy::windows;

for w in windows(&binary, 4096) {
    if w.entropy > 7.2 {
        println!("offset {:#x}: likely packed ({:.2} bits/byte)", w.offset, w.entropy);
    }
}

Verificação

Dados de exemplo

Verificado com scipy.stats.entropy 1.14 (Python). Método: Teste baseado em propriedades. As mesmas entradas são enviadas às duas implementações e as saídas são comparadas.

Referência
scipy.stats.entropy
Python 1.14
Casos de teste
4.000
Teste baseado em propriedades
Aprovados
4.000 / 4.000
Todos os casos batem
Última execução
26 de set. de 2026
UTC

Estes números são provisórios. Eles ainda não foram medidos e não devem ser lidos como resultados reais. Esta peça está marcada como "sample": true no seu arquivo do registry.

Benchmarks

Dados de exemplo

kura-rs (Rust) comparado com scipy.stats.entropy em vários tamanhos de entrada. Mais rápido em todos os tamanhos de entrada medidos, até 35× mais rápido.

Estes números são provisórios. Eles ainda não foram medidos e não devem ser lidos como resultados reais. Esta peça está marcada como "sample": true no seu arquivo do registry.

kura-rs (Rust)scipy.stats.entropy
Tempo real por execução (menor é melhor).
Mostrar tabela de dados
Tamanho da entradakura-rs (Rust)scipy.stats.entropyAceleração
4.0960,01 ms0,35 ms35×
65.5360,09 ms2,9 ms32×
1.048.5761,4 ms44 ms31×
16.777.21622 ms700 ms32×

Arquivos

  • parts/byte_entropy/mod.rs

Dependências (crates)

Nenhuma. Apenas a biblioteca padrão.