Quelle est la différence entre Amcache et AppCompatCache ?

AppCompatCache (couramment appelé ShimCache) et Amcache sont des artefacts Windows différents qui enregistrent tous deux les binaires PE sur un hôte. Ils sont constamment confondus parce que les deux vivent dans l'infrastructure Application Compatibility — mais ce sont des mécanismes différents avec des limites différentes et des valeurs forensiques très différentes.

Les différences principales :

ShimCache est plus court, plus clairsemé, maintenu par le noyau et mis à jour par le loader. Amcache est plus long, plus riche, maintenu en mode utilisateur, et mis à jour par une tâche planifiée.

Côte à côte#

Propriété AppCompatCache (ShimCache) Amcache
Stockage Ruche SYSTEM, valeur binaire unique Amcache.hve autonome
Chemin de registre HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache\AppCompatCache C:\Windows\AppCompat\Programs\Amcache.hve
Maintenu par Loader noyau Tâche planifiée en mode utilisateur (appraiser)
Entrées max 1024 (éviction LRU) Effectivement illimité
Enregistre le hash ? Non Oui (SHA-1 des 31 premiers Mio)
Enregistre éditeur / version ? Non Oui
Enregistre ProgramId ? Non Oui
Enregistre données pilote / périphérique ? Non Oui (clés séparées)
Persistance sur disque À l'arrêt Continue (avec journaux de transactions)
Disponible frais sur système live ? Non (besoin d'arrêt ou de mémoire) Oui
Disponible pré-Windows 10 1709 ? Oui (depuis Windows XP) Partiellement (schéma hérité uniquement)
Activé par défaut sur Server ? Oui Oui (mais cadence plus lente)

Pour une couverture complète, voir Amcache vs ShimCache.

Quand ShimCache gagne#

  • « Le loader a-t-il touché ce binaire ? » ShimCache enregistre les touches du loader ; Amcache enregistre la présence inventoriée par l'appraiser. Ce sont des signaux différents.
  • Acquisitions uniquement en mémoire. Le plugin shimcachemem de Volatility extrait ShimCache de la RAM proprement.
  • Hôtes pré-Windows 10. ShimCache est là depuis Windows XP.
  • Hôtes durcis avec l'appraiser désactivé. ShimCache est maintenu par le noyau ; il persiste même quand l'appraiser est désactivé.

Quand Amcache gagne#

  • Pivots de hash. ShimCache n'a pas de hash ; Amcache a SHA-1.
  • Chasses inter-hôtes. ShimCache n'a pas de ProgramId ni de hash — pivots inter-hôtes impossibles. Amcache a les deux.
  • Preuves de pilote / périphérique. ShimCache couvre uniquement le PE en mode utilisateur. Amcache a des schémas dédiés pour les pilotes et périphériques.
  • Triage sur un système live. Amcache est à jour sur disque ; ShimCache est obsolète jusqu'au redémarrage.

Quand vous devriez utiliser les deux#

Toujours. Les deux artefacts se corroborent mutuellement :

  • Un binaire dans les deux → le loader l'a touché ET l'appraiser l'a enregistré. Conclusion forte « ceci était présent et utilisé ».
  • Un binaire dans ShimCache uniquement → le loader l'a touché mais l'appraiser ne l'a pas encore inventorié, OU le fichier vivait dans un chemin que l'appraiser ne scanne pas, OU l'appraiser est désactivé.
  • Un binaire dans Amcache uniquement → présent et inventorié mais le loader ne l'a pas touché (dans la fenêtre actuelle de 1024 ShimCache), OU ShimCache a été effacé ou a tourné.

Les deux absents sur un hôte où vous attendriez un binaire = le signal « ceci ne s'est jamais produit » le plus fort que vous obtiendrez de ces deux artefacts. Pour une preuve d'exécution, associez avec Prefetch.

Voir aussi#

Articles liés

  • Amcache vs ShimCache : quand chaque artefact gagne

    ShimCache et Amcache enregistrent tous deux les binaires ayant touché un hôte Windows. Ce sont des mécanismes différents avec des limites différentes — voici quand utiliser chacun, et ce que prouve réellement leur recoupement.

  • Pourquoi mon Amcache.hve est-il vide ?

    Trois causes courantes : le Compatibility Appraiser est désactivé, l'hôte vient d'être fraîchement imagé, ou vous collectez depuis un Server / Server Core où l'appraiser s'exécute beaucoup moins souvent.

  • Où se trouve la clé de registre Amcache ?

    Amcache est sa propre ruche située à C:\Windows\AppCompat\Programs\Amcache.hve — pas une clé sous HKLM. Quand elle est chargée par des outils ou par Windows lui-même, elle est montée comme HKLM\Amcache.

  • Que contient Amcache.hve ?

    Amcache.hve contient des enregistrements d'inventaire pour chaque binaire PE, pilote et périphérique connecté que le Compatibility Appraiser Windows a vu — avec hashes SHA-1, chemins, éditeurs et horodatages.

Retour à tous les articles