← Tous les documents

Fichiers $I et $R : quelle différence dans la Corbeille ?

3 min de lecture

Toute entrée de la Corbeille sur Windows Vista et ultérieur est une paire : un fichier de métadonnées et un fichier de contenu. Les deux résident dans le sous-dossier SID de l'utilisateur sous $Recycle.Bin. Savoir lequel est lequel détermine si vous disposez du contenu, du contexte, ou des deux.

Les deux moitiés

FichierRôleContenu
$I…IndexChemin d'origine, taille originale, FILETIME de suppression
$R…RécupérationContenu du fichier supprimé, octet par octet

Les deux noms partagent un identifiant aléatoire de 6 caractères et l'extension d'origine. Échangez la lettre de tête et vous obtenez le partenaire :

$IA1B2C3.docx   ← en-tête de métadonnées 544 octets (v1) ou variable (v2)
$RA1B2C3.docx   ← longueur d'octets identique au document original

Pourquoi cette séparation existe

Le shell veut montrer à l'utilisateur "report.pdf" dans la Corbeille, même si sur disque le fichier est maintenant $RA1B2C3.pdf ailleurs. Le $I permet à l'Explorateur d'afficher le nom et le dossier d'origine sans toucher au contenu. Une restauration se réduit alors à un renommage et un déplacement bon marché, piloté par le chemin du $I : pas de copie, pas de recalcul de hash.

Pour l'investigation, cette séparation est aussi pratique : un $I fait 544 octets (v1) ou quelques centaines (v2). Vous pouvez en extraire des milliers d'une image rapidement et les trier indépendamment des blobs $R.

Valeur forensique de chacun, pris isolément

  • $R seul indique le contenu mais pas son origine ni son heure de départ. Vous pouvez toujours le hasher, l'analyser avec YARA, ou carver le système de fichiers à la recherche du chemin d'origine.
  • $I seul indique le chemin d'origine, la taille et l'heure exacte de suppression. Même après qu'une restauration a renvoyé le $R, même après qu'un wiper a détruit le contenu, le $I survit jusqu'à ce que la Corbeille soit vidée.

Ensemble, ils reconstruisent l'événement de suppression complet avec vérification par hash.

Quand la paire se rompt

Vous verrez régulièrement des cas déséquilibrés :

  • $I sans $R. Opérations de vidange partielle, wipers anti-forensiques de contenu (BCWipe, sdelete -p 3 -z), ou quelqu'un qui carve et retire le contenu. Le $I suffit à prouver l'existence et le moment.
  • $R sans $I. Habituellement une anomalie du shell ou un outil qui a importé des fichiers directement dans le dossier Corbeille. Traitez-le comme du contenu orphelin et pivotez vers le MFT pour le chemin d'origine.
  • Tailles incohérentes. Si le $I indique 4 Mo et que le $R est à 0, le contenu a été effacé sur place. Mérite sa propre ligne dans le rapport.

Pour aller plus loin

Questions fréquentes

Quelle est la différence entre les fichiers $I et $R ?
Le fichier $I contient uniquement les métadonnées : chemin d'origine, taille et heure de suppression. Le fichier $R contient le contenu supprimé. Ils partagent le même identifiant, donc $I et $R viennent toujours en paire.
Comment les fichiers $I et $R sont-ils nommés ?
Tous deux commencent par $I ou $R, suivi du même identifiant aléatoire et de l'extension d'origine, par exemple $IA1B2C3.docx et $RA1B2C3.docx. Échangez le I pour un R afin de trouver le fichier partenaire.
Puis-je ouvrir directement un fichier $R ?
Oui. Un fichier $R est une copie octet par octet de l'original. Renommez-le (ou copiez-le) sans le préfixe $R et il s'ouvre normalement. Le fichier $I est ce qui vous indique son vrai nom et son emplacement d'origine.
Que faire si le fichier $R manque mais que le $I existe ?
Cela arrive après une vidange partielle ou un carving. L'enregistrement $I prouve toujours que le fichier existait, sa taille et son heure de suppression. Preuve précieuse même sans le contenu.