Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
evtx — Un analyseur rapide (et sûr) pour le format de journal d'événements XML Windows (EVTX) | Kitploit
Outils/GitHubGitHub/omerbenamram/evtx
Analyse ForensiqueCriminalistique NumériqueRéponse aux IncidentsAnalyse de Journaux
GitHubomerbenamram/evtx

evtx

Un analyseur rapide (et sûr) pour le format de journal d'événements XML Windows (EVTX)

Voir le dépôt
9498115il y a 6 joursVérifié par Kitploit

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

EVTX

Un analyseur multiplateforme pour le format Windows XML EventLog


Crates.io version Download docs.rs docs safety-dance Build status

Fonctionnalités

  • 🔒 Implémenté en utilisant 100% de Rust sécurisé - et fonctionne sur toutes les plateformes supportées par Rust (qui ont stdlib).
  • ⚡ Rapide - voir les benchmarks ci-dessous. Il est plus rapide que toute autre implémentation par ordre(s) de grandeur !
  • 🚀 Multi‑threadé.
  • ✨ Prend en charge les sorties XML et JSON, toutes deux directement construites à partir d'une représentation intermédiaire (IR) partagée (aucune conversion xml2json n'est effectuée !)
  • ⛏️ Prend en charge une récupération de base des enregistrements/blocs manquants !
  • 🐍 Des liaisons Python sont également disponibles à l'adresse https://github.com/omerbenamram/pyevtx-rs (et sur PyPi https://pypi.org/project/evtx/)

Visualiseur Web (EVTX Web)

EVTX Web Screenshot

Vous préférez une option sans installation ? Un explorateur EVTX complet s'exécute directement dans votre navigateur, propulsé par le même noyau Rust compilé en WebAssembly.

👉 Essayez-le maintenant : https://omerbenamram.github.io/evtx/

Tout se passe localement – les fichiers ne quittent jamais votre machine. Points forts :

  • Glissez-déposez des fichiers .evtx (ou cliquez pour parcourir) – gère de très gros fichiers journaux !
  • Analyse extrêmement rapide via WebAssembly et rendu à défilement virtuel
  • Filtres à facettes sur le niveau, le fournisseur, le canal, l'ID d'événement et les champs EventData dynamiques – tous soutenus par DuckDB‑WASM
  • Recherche en texte intégral, gestion des colonnes et export JSON/XML à la volée de l'ensemble filtré
  • Thèmes clair/sombre, navigation au clavier et interface utilisateur de style Windows

Le visualiseur est servi statiquement depuis GitHub Pages ; après le premier chargement, il fonctionne complètement hors ligne.

Installation (utilitaire binaire associé) :

  • Téléchargez la dernière version exécutable depuis https://github.com/omerbenamram/evtx/releases
    • Les versions sont automatiquement construites pour Windows, macOS et Linux. (exécutables 64 bits uniquement)
  • Construisez à partir des sources en utilisant cargo install evtx

evtx_dump (Utilitaire binaire) :

L'utilitaire binaire principal fourni avec cette crate est evtx_dump, et il offre un moyen rapide de convertir des fichiers .evtx en différents formats de sortie.

Quelques exemples

  • evtx_dump <evtx_file> exportera le contenu des enregistrements evtx en xml.
  • evtx_dump -o json <evtx_file> exportera le contenu des enregistrements evtx en JSON.
  • evtx_dump -f <output_file> -o json <input_file> exportera le contenu des enregistrements evtx en JSON vers un fichier donné.
  • cat <evtx_file> | evtx_dump -o jsonl - lira le fichier EVTX depuis stdin (utile pour le pipe/décompression).

evtx_dump peut être combiné avec fd pour un traitement par lots pratique des fichiers :

  • fd -e evtx -x evtx_dump -o jsonl analysera un dossier et exportera tous les fichiers evtx vers un seul fichier jsonlines.
  • fd -e evtx -x evtx_dump '{}' -f '{.}.xml' créera un fichier xml à côté de chaque fichier evtx, pour tous les fichiers du dossier de manière récursive !
  • Si la source du fichier doit être ajoutée au json, xargs (ou gxargs sur mac) et jq peuvent être utilisés : fd -a -e evtx | xargs -I input sh -c "evtx_dump -o jsonl input | jq --arg path "input" '. + {path: \$path}'"

Remarque : par défaut, evtx_dump essaiera d'utiliser le multithreading, ce qui signifie que les enregistrements peuvent être retournés dans le désordre.

Pour forcer l'utilisation d'un seul thread (ce qui garantira également l'ordre), -t 1 peut être passé.

Rendu hors ligne des modèles (WEVT_TEMPLATE)

Les enregistrements EVTX peuvent référencer des définitions de modèle stockées dans les binaires du fournisseur (EXE/DLL/SYS). evtx_dump peut extraire ces modèles dans un cache hors ligne et les utiliser au moment du rendu.

Remarque : cette fonctionnalité nécessite de construire evtx_dump avec la fonctionnalité Cargo wevt_templates (les binaires de version peuvent déjà l'inclure).

  • Construire un cache (fichier .wevtcache portable unique) :
    • evtx_dump extract-wevt-templates --input <provider.dll> --output /tmp/wevt_cache.wevtcache --overwrite
  • Exporter un fichier EVTX en utilisant le cache (règle déterministe : s'applique uniquement lorsqu'un enregistrement échoue en raison d'un GUID de modèle explicitement manquant/corrompu) :
    • evtx_dump --wevt-cache /tmp/wevt_cache.wevtcache <log.evtx>

Aides au débogage :

  • Exporter les valeurs de substitution TemplateInstance d'un enregistrement (JSONL) :
    • evtx_dump dump-template-instances --input <log.evtx> --record-id <ID> | head -n1
  • Rendre un GUID de modèle spécifique avec substitutions (XML vers stdout) :
    • evtx_dump apply-wevt-cache --cache /tmp/wevt_cache.wevtcache --template-guid <GUID> --evtx <log.evtx> --record-id <ID>

Voir docs/wevt_templates.md pour les détails et le contexte (issue #103).

Exemple d'utilisation (en tant que bibliothèque) :

use evtx::EvtxParser;
use std::path::PathBuf;

// Change this to a path of your .evtx sample.
let fp = PathBuf::from(format!("{}/samples/security.evtx", std::env::var("CARGO_MANIFEST_DIR").unwrap()));

let mut parser = EvtxParser::from_path(fp).unwrap();
for record in parser.records() {
    match record {
        Ok(r) => println!("Record {}\n{}", r.event_record_id, r.data),
        Err(e) => eprintln!("{}", e),
    }
}

La version parallèle est activée lors de la compilation avec la fonctionnalité "multithreading" (activée par défaut).

Benchmarking des performances

En utilisant le multithreading - evtx est significativement plus rapide que tout autre analyseur disponible. Pour les performances monocœur, il est à la fois le plus rapide et le seul analyseur multiplateforme qui prend en charge les sorties xml et JSON.

Les performances ont été mesurées sur ma machine avec hyperfine (outil de mesures statistiques).

Je lance les tests sur un AMD Ryzen 3900X 12 cœurs.

Exécution du benchmark : Juin 2026 (evtx 0.12.2).

Système : Arch Linux (Linux 7.0.11-arch1-1 x86_64).

Commit du benchmark : 99a6def.

Télécharger l’outil