Byte Entropy
v0.1.0Adicionado em 26 de set. de 2026Dados de exemploEntropia de Shannon em janelas deslizantes de um binário, para identificar seções compactadas ou criptografadas.
cargo install kura-rs
kura add byte-entropyCopia 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 exemploVerificado 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.
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 exemplokura-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.
Mostrar tabela de dados
| Tamanho da entrada | kura-rs (Rust) | scipy.stats.entropy | Aceleração |
|---|---|---|---|
| 4.096 | 0,01 ms | 0,35 ms | 35× |
| 65.536 | 0,09 ms | 2,9 ms | 32× |
| 1.048.576 | 1,4 ms | 44 ms | 31× |
| 16.777.216 | 22 ms | 700 ms | 32× |
Arquivos
- parts/byte_entropy/mod.rs
Dependências (crates)
Nenhuma. Apenas a biblioteca padrão.