# onedump.py produit du JSON pour l’extraction de fichiers OneNote

_Publié le 1 novembre 2026 — https://ip73.fr/2026/11/01/onedump-py-produit-du-json-pour-l-extraction-de-fichiers-onenote/_

L'extraction des fichiers intégrés dans les documents OneNote (.one) vient gagner en automatisation. Didier Stevens a intégré une fonctionnalité clé à son outil `onedump.py` : la production de sortie au format JSON. Cette nouveauté permet désormais de traiter plusieurs fichiers .one simultanément, évitant les exécutions successives de l'outil pour chaque contenu embarqué.

Selon SANS ISC, cette capacité répond à la lourdeur du processus manuel, où il fallait auparavant lancer `onedump.py` de manière répétée pour chaque fichier. Avec l'option `--jsonoutput`, l'outil génère un flux de données structurées contenant le contenu de chaque élément découvert dans le fichier OneNote.

Ce flux JSON n'est pas une fin en soi. Il est conçu pour être immédiatement acheminé vers un autre script, notamment `myjson-filter.py`. C'est l'articulation de ces deux outils qui devient intéressante d'un point de vue pratique. En chaînant les commandes, on peut, par exemple, prendre la sortie JSON de `onedump.py --jsonoutput *.one` et la rediriger vers `myjson-filter.py -W hashvir`.

Ce processus permet de sortir les fichiers extraits sur le disque, en les nommant à partir de leur hachage SHA256, suivis de l'extension `.vir` (ce que Stevens nomme `hashvir`). C'est une méthode très précise pour retrouver le contenu original tout en conservant une trace cryptographique de son origine.

## Le filtrage avancé avec myjson-filter.py

Les fonctionnalités de `myjson-filter.py` sont déjà bien établies, mais l'intégration de cette sortie JSON rend le pipeline beaucoup plus robuste. Ce filtre permet d'appliquer des critères de sélection avancés : filtrage par nom, par contenu, ou encore par type de fichier détecté avec `file-magic.py`. Il supporte même des filtres sophistiqués, comme l'utilisation de règles YARA pour identifier des motifs spécifiques dans le contenu, ou encore l'exécution de fonctions Python personnalisées via l'option `--pythonfilter`.

Ce niveau de granularité est ce qui séduit les analystes, car il transforme une simple récupération en une opération d'analyse ciblée. En utilisant l'option `--pythonfilter`, par exemple, on peut définir des règles complexes pour décider quels éléments conservent leur chemin vers le disque ou leur affichage sur la console.

## Un standard de flux pour l'analyse d'artefacts

Il est intéressant de noter que cette architecture de flux (outil A produit JSON $ightarrow$ outil B consomme JSON) est de plus en plus courante dans les outils de sécurité. L'annonce de `onedump.py` ne fait que consolider une pratique déjà présente dans la communauté des outils de pointe. Les outils de Didier Stevens, comme `myjson-filter.py` (version 0.0.9, datée du 12 juin 2025), montrent cette orientation vers des chaînes de traitement automatisées.

Pour ceux qui souhaitent pousser l'analyse, la possibilité d'écrire les résultats directement vers `stdout` dans `myjson-filter.py` avec un terminateur précis, comme `'
'`, offre un contrôle fin sur la manière dont les données sont présentées ou consommées par le système hôte. Il reste à voir comment ce standard de flux JSON va être adopté par les autres logiciels d'analyse d'artefacts.

## Sources

- [Beta/onedump.py at master · DidierStevens/Beta](https://github.com/DidierStevens/Beta/blob/master/onedump.py), github.com
- [DidierStevensSuite/myjson-filter.py at master · DidierStevens/DidierStevensSuite](https://github.com/DidierStevens/DidierStevensSuite/blob/master/myjson-filter.py), github.com
- [OneNote File Extraction, (Sun, Nov 1st)](https://isc.sans.edu/diary/rss/33478), SANS ISC, 1 novembre 2026
