Byte Entropy

v0.1.0Añadido el 26 sept 2026Datos de ejemplo

Entropía de Shannon sobre ventanas deslizantes de un binario, para detectar secciones empaquetadas o cifradas.

cargo install kura-rs
kura add byte-entropy

Copia el archivo de código fuente en tu proyecto. A partir de ahí, el código es tuyo.

Si otra herramienta ya instala un comando kura, ejecuta cargo install kura-rs --bin kura-rs y usa kura-rs add en su 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);
    }
}

Verificación

Datos de ejemplo

Verificado frente a scipy.stats.entropy 1.14 (Python). Método: Pruebas basadas en propiedades. Las mismas entradas se pasan a ambas implementaciones y se comparan las salidas.

Referencia
scipy.stats.entropy
Python 1.14
Casos de prueba
4000
Pruebas basadas en propiedades
Superados
4000 / 4000
Todos los casos coinciden
Última ejecución
26 sept 2026
UTC

Estas cifras son provisionales. Todavía no se han medido y no deben interpretarse como resultados reales. Esta pieza está marcada con "sample": true en su archivo del registro.

Benchmarks

Datos de ejemplo

kura-rs (Rust) frente a scipy.stats.entropy con distintos tamaños de entrada. Más rápido en todos los tamaños de entrada medidos, hasta 35× más rápido.

Estas cifras son provisionales. Todavía no se han medido y no deben interpretarse como resultados reales. Esta pieza está marcada con "sample": true en su archivo del registro.

kura-rs (Rust)scipy.stats.entropy
Tiempo real por ejecución (menos es mejor).
Mostrar tabla de datos
Tamaño de entradakura-rs (Rust)scipy.stats.entropyAceleración
40960,01 ms0,35 ms35×
65.5360,09 ms2,9 ms32×
1.048.5761,4 ms44 ms31×
16.777.21622 ms700 ms32×

Archivos

  • parts/byte_entropy/mod.rs

Dependencias (crates)

Ninguna. Solo la biblioteca estándar.