Byte Entropy
v0.1.0Añadido el 26 sept 2026Datos de ejemploEntropía de Shannon sobre ventanas deslizantes de un binario, para detectar secciones empaquetadas o cifradas.
Datos de ejemplo. Estas cifras son provisionales, no mediciones.
cargo install kura-rs
kura add byte-entropyCopia 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 ejemploVerificado 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.
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 ejemplokura-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.
Mostrar tabla de datos
| Tamaño de entrada | kura-rs (Rust) | scipy.stats.entropy | Aceleración |
|---|---|---|---|
| 4096 | 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× |
Archivos
- parts/byte_entropy/mod.rs
Dependencias (crates)
Ninguna. Solo la biblioteca estándar.