Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
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é.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/ergrelet/windiff
Analyse des VulnérabilitésRétro-ingénierieCollecte d'InformationsAnalyse de Binaires
GitHubergrelet/windiff

windiff

Outil permettant de comparer les informations de symboles, de types et d'appels système (syscall) des binaires Microsoft Windows à travers différentes versions du système d'exploitation, en utilisant une interface Web et/ou des LLM.

Voir le dépôt
39221il y a 2 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
Site web

WinDiff

À propos

WinDiff est un outil open-source basé sur le web qui permet de naviguer et de comparer les informations de symboles, de types et d'appels système des binaires Microsoft Windows à travers différentes versions du système d'exploitation. La base de données de binaires est mise à jour automatiquement pour inclure les informations des dernières mises à jour Windows (y compris les Insider Preview).

Il a été inspiré par ntdiff et rendu possible grâce à Winbindex.

Capture d'écran

Capture d'écran de WinDiff

Comment ça fonctionne

WinDiff se compose de deux parties : un outil en ligne de commande écrit en Rust et un frontend web écrit en TypeScript utilisant le framework Next.js.

L'outil CLI est utilisé pour générer des bases de données JSON compressées à partir d'un fichier de configuration et s'appuie sur Winbindex pour trouver et télécharger les PE (et PDB) nécessaires. Les types sont reconstruits en utilisant resym. L'idée derrière l'outil CLI est de pouvoir facilement mettre à jour et régénérer les bases de données au fur et à mesure que de nouvelles versions de Windows sont publiées. Le code de l'outil CLI se trouve dans le répertoire windiff_cli.

Le frontend est utilisé pour visualiser les données générées par l'outil CLI, de manière conviviale. Le frontend suit le même principe que ntdiff, car il permet de naviguer dans les informations extraites des PE et PDB officiels de Microsoft pour certaines versions de Microsoft Windows et permet également de comparer ces informations entre les versions. Le code du frontend se trouve dans le répertoire windiff_frontend.

Une action GitHub planifiée récupère chaque jour les nouvelles mises à jour depuis Winbindex et met à jour le fichier de configuration utilisé pour générer la version en direct de WinDiff. Actuellement, en raison des limitations de stockage et de calcul (des offres gratuites), seules les mises à jour KB et Insider Preview de moins d'un an sont conservées pour la version en direct. Vous pouvez bien sûr reconstruire vous-même une version locale de WinDiff, sans ces limitations si vous en avez besoin. Voir la section suivante pour cela.

Remarque : Winbindex ne fournit pas de liens de téléchargement uniques pour 100% des fichiers indexés, il est donc possible que certaines informations sur les PE ne soient pas disponibles dans WinDiff pour cette raison. Cependant, dès que ces PE sont sur VirusTotal, Winbindex pourra fournir des liens de téléchargement uniques pour eux et ils seront alors intégrés automatiquement dans WinDiff.

Comment construire

Prérequis

  • Rust 1.85 ou supérieur
  • Node.js 20.9 ou supérieur

Ligne de commande

La construction complète de WinDiff est « auto-documentée » dans ci/build_frontend.sh, qui est le script de construction utilisé pour construire la version en direct de WinDiff. Voici ce qu'il contient :

root@kitploit:~
# Résoudre le dossier racine du projet
PROJECT_ROOT=$(git rev-parse --show-toplevel)

# Générer les bases de données
cd "$PROJECT_ROOT/windiff_cli"
cargo run --release "$PROJECT_ROOT/ci/db_configuration.json" "$PROJECT_ROOT/windiff_frontend/public/"

# Construire le frontend
cd "$PROJECT_ROOT/windiff_frontend"
npm ci
npm run build

Le fichier de configuration utilisé pour générer les données de la version en direct de WinDiff se trouve ici : ci/db_configuration.json, mais vous pouvez le personnaliser ou utiliser le vôtre. Les PRs visant à ajouter de nouveaux binaires à suivre dans la configuration en direct sont les bienvenues.

Compétence en recherche de sécurité (Claude Code)

Le dépôt fournit une compétence d'agent qui transforme WinDiff en un assistant automatisé de recherche en sécurité. Au lieu de parcourir vous-même l'interface de comparaison, vous pouvez demander à Claude Code de comparer deux versions de Windows et de rédiger ce qui a changé — et pourquoi c'est important.

La compétence se trouve dans .claude/skills/windiff-version-diff-analysis/. Lorsque vous ouvrez ce dépôt dans Claude Code, elle se charge automatiquement et se déclenche sur des demandes comme :

  • "Compare ntoskrnl.exe entre 21H2 et 24H2 et dis-moi ce qu'il y a de nouveau."
  • "Quels nouveaux appels système ou atténuations de processus sont apparus dans cette mise à jour Windows ?"
  • "Qu'est-ce qui a changé dans win32k.sys / ci.dll qui importe pour les EDR ou l'anti-cheat ?"

Étant donné deux versions, la compétence pilote windiff_cli pour générer les bases de données, les compare, et produit un rapport qui interprète le delta brut des symboles/types/appels système en utilisant des connaissances internes de Windows (préfixes d'API, rôles des composants), présenté pour trois publics : les développeurs anti-malware/EDR, les développeurs anti-cheat et les chercheurs en vulnérabilités. Elle met en évidence les nouveaux appels système, les nouveaux indicateurs d'atténuation (y compris les bits cachés dans les structures de champs de bits anonymes, reliés à leur parent comme _EPROCESS::MitigationFlags2Values), les nouvelles télémétries ETW/renseignement sur les menaces et rappels noyau, les modifications d'intégrité du code, et les tout nouveaux composants.

Voici un rapport généré par Claude Opus 4.7 pour la demande "Compare ntoskrnl.exe entre 25H2 et 26H1 et dis-moi ce qu'il y a de nouveau. Rédige ton rapport dans un fichier markdown" : ntoskrnl_25H2_to_26H1.md

Utiliser l'assistant de comparaison sans Claude Code

La logique de comparaison principale de la compétence est un script Python autonome sans dépendances, utilisable seul sur n'importe quelles bases de données produites par windiff_cli :

root@kitploit:~
# Lister les versions de système d'exploitation / binaires disponibles dans un répertoire de bases de données
python3 .claude/skills/windiff-version-diff-analysis/scripts/windiff_diff.py \
  windiff_frontend/public --list

# Comparer un binaire entre deux versions de système d'exploitation (suffixes "version_update_architecture")
python3 .claude/skills/windiff-version-diff-analysis/scripts/windiff_diff.py \
  windiff_frontend/public ntoskrnl.exe 21H2_BASE_amd64 22H2_BASE_amd64

Il imprime un résumé lisible par l'homme sur stderr et du JSON structuré (exports, symboles, modules, appels système ajoutés/supprimés, et modifications de types/champs de bits résolues) sur stdout. Voir le SKILL.md de la compétence pour le flux de travail complet et le matériel de référence.

Télécharger l’outil