Byte Entropy

v0.1.0Ajouté le 26 sept. 2026Données d'exemple

Entropie de Shannon sur des fenêtres glissantes d'un binaire, pour repérer les sections compressées ou chiffrées.

Données d'exemple. Ces chiffres sont fictifs et ne proviennent pas de mesures.

cargo install kura-rs
kura add byte-entropy

Copie le fichier source dans votre projet. Le code vous appartient ensuite.

Si un autre outil installe déjà une commande kura, lance cargo install kura-rs --bin kura-rs et utilise kura-rs add à la place.

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);
    }
}

Vérification

Données d'exemple

Vérifié par rapport à scipy.stats.entropy 1.14 (Python). Méthode : Tests basés sur les propriétés. Les mêmes entrées sont fournies aux deux implémentations, puis leurs sorties sont comparées.

Référence
scipy.stats.entropy
Python 1.14
Cas de test
4 000
Tests basés sur les propriétés
Réussis
4 000 / 4 000
Tous les cas concordent
Dernière exécution
26 sept. 2026
UTC

Ces valeurs sont fictives. Elles n'ont pas encore été mesurées et ne doivent pas être lues comme des résultats réels. Ce composant est marqué "sample": true dans son fichier de registre.

Benchmarks

Données d'exemple

kura-rs (Rust) comparé à scipy.stats.entropy sur plusieurs tailles d'entrée. Plus rapide pour toutes les tailles d'entrée mesurées, jusqu'à 35× plus rapide.

Ces valeurs sont fictives. Elles n'ont pas encore été mesurées et ne doivent pas être lues comme des résultats réels. Ce composant est marqué "sample": true dans son fichier de registre.

kura-rs (Rust)scipy.stats.entropy
Temps d'exécution par itération (plus bas = meilleur).
Afficher le tableau de données
Taille d'entréekura-rs (Rust)scipy.stats.entropyAccélération
4 0960,01 ms0,35 ms35×
65 5360,09 ms2,9 ms32×
1 048 5761,4 ms44 ms31×
16 777 21622 ms700 ms32×

Fichiers

  • parts/byte_entropy/mod.rs

Dépendances (crates)

Aucune. Uniquement la bibliothèque standard.