Aller au contenu

Exécution

Assistant Compatibilité des programmes (PCA)

Fiche PCA : fichiers PcaAppLaunchDic.txt et PcaGeneralDb de Windows 11, clé AppCompatFlags Store, champs et horodatages UTC des lancements.

Emplacement
C:\Windows\appcompat\pca\PcaAppLaunchDic.txt
Prouve
Un programme a été lancé depuis l'interface graphique, et sa dernière exécution (Windows 11 22H2+)
Horodatages
Dernier lancement GUI par chemin (PcaAppLaunchDic.txt) et heures des enregistrements PcaGeneralDb, texte UTC ; LastWrite de la clé Store en FILETIME, UTC
Rétention
Une ligne par chemin, mise à jour sur place ; PcaGeneralDb0/1 alternent vers 2 Mo (2 à 4 Mo d'historique) ; texte brut, facile à modifier
Accès
Administrateur pour C:\Windows\appcompat\pca (copie simple avec robocopy) ; clé Store dans NTUSER.DAT, verrouillé pendant la session
Preuve de
Exécution
Type
Fichier / système de fichiers
Windows
Vista / 78 / 8.11011
Cible KAPE
AppCompatPCA
Velociraptor
Windows.Triage.Targets:AppCompatPCA

Présentation

L'Assistant Compatibilité des programmes (Program Compatibility Assistant, service PcaSvc) observe le démarrage et l'arrêt des programmes afin de proposer des correctifs de compatibilité. Il laisse deux familles de traces :

  • Depuis Windows 11 version 22H2, PcaSvc écrit des journaux texte dans C:\Windows\appcompat\pca\, dont un dictionnaire des exécutables lancés avec leur dernière exécution en UTC.
  • Sur les versions antérieures (et encore aujourd'hui), il enregistre les exécutables examinés sous la clé de registre AppCompatFlags\Compatibility Assistant de l'utilisateur.

Les fichiers de Windows 11 sont l'un des rares artefacts d'exécution simples et lisibles sur un Windows récent.

Emplacement

Version de WindowsEmplacementContenu
11 22H2 et ultérieuresC:\Windows\appcompat\pca\PcaAppLaunchDic.txt`chemin
11 22H2 et ultérieuresC:\Windows\appcompat\pca\PcaGeneralDb0.txt, PcaGeneralDb1.txtEnregistrements d'événements (erreurs, arrêts anormaux), UTF-16LE
8 / 10 / 11NTUSER.DAT\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\StoreUne valeur par chemin d'exécutable
7NTUSER.DAT\Software\Microsoft\Windows NT\CurrentVersion\AppCompatFlags\Compatibility Assistant\PersistedUne valeur par chemin d'exécutable
Toutes...\AppCompatFlags\Layers (NTUSER.DAT et SOFTWARE)Réglages de mode de compatibilité par exécutable (par exemple RUNASADMIN)

Ce que l'artefact prouve

  • PcaAppLaunchDic.txt : un exécutable situé à ce chemin a été lancé, et sa dernière exécution (UTC).
  • Seuls les lancements passant par l'interface graphique sont enregistrés. Les travaux de Sygnia ont montré que les programmes démarrés en ligne de commande, par une tâche planifiée ou à distance avec PsExec ne sont pas enregistrés, alors que les lancements dans une session RDP le sont.
  • PcaGeneralDb*.txt : arrêts anormaux, échecs d'installation et pilotes bloqués, avec les métadonnées de produit et d'éditeur ; un implant qui plante ou un installeur en échec peut y apparaître.
  • Compatibility Assistant\Store : l'exécutable a été examiné par PCA pour cet utilisateur ; lisez-le comme une présence attribuée à un compte, et corroborez l'exécution.

Champs clés

PcaAppLaunchDic.txt : <chemin complet>|<AAAA-MM-JJ HH:MM:SS.fff>

PcaGeneralDb0.txt / PcaGeneralDb1.txt (séparateur |) :

ChampSignification
HorodatageHeure de l'événement, UTC
Type d'enregistrement0 échec d'installeur, 1 pilote bloqué, 2 arrêt anormal du processus, 3 appel de résolution PCA, 4 inconnu
CheminChemin de l'exécutable (les noms d'utilisateur sont en partie masqués par Windows en %USERNAME% ou en caractères x)
Nom du produit, éditeur, versionIssus des informations de version PE
Program IDIdentifiant utilisé aussi dans Amcache
Code de sortie / messageDétail de l'événement

Clé Store du registre : nom de valeur = chemin de l'exécutable ; données = informations de compatibilité binaires (format non documenté publiquement en totalité).

Horodatages

HorodatagePositionné quandFormatPièges
Dernière exécution (PcaAppLaunchDic.txt)À chaque lancement graphique de l'exécutableTexte, UTCSeul le dernier lancement est conservé par chemin
Heure d'enregistrement (PcaGeneralDb*.txt)Survenue de l'événement PCATexte, UTCDécrit des erreurs et des arrêts, pas chaque lancement
LastWrite de la clé StoreAjout ou mise à jour d'une valeurFILETIME, UTCCommun à toutes les valeurs de la clé

Rétention et effacement

  • PcaAppLaunchDic.txt conserve une ligne par chemin d'exécutable, mise à jour sur place.
  • PcaGeneralDb0.txt est le journal actif jusqu'à environ 2 Mo, puis PcaGeneralDb1.txt prend le relais : on dispose ainsi de deux à quatre mégaoctets d'historique.
  • Ce sont de simples fichiers texte, faciles à modifier ou supprimer pour un administrateur ; recoupez avec le journal USN pour repérer une suppression.

Collecte

  • Cible KAPE : AppCompatPCA (tout le dossier appcompat\pca) ; ajoutez RegistryHivesUser pour les clés de registre.
  • Velociraptor (Windows.Triage.Targets) : AppCompatPCA et RegistryHivesUser.
  • Commandes natives :
robocopy C:\Windows\appcompat\pca E:\case\pca /COPY:DAT
type C:\Windows\appcompat\pca\PcaAppLaunchDic.txt

Outils d'analyse

  • N'importe quel éditeur de texte, ou un import dans Timeline Explorer / un tableur avec | comme séparateur (ouvrez les fichiers PcaGeneralDb en UTF-16).
  • Registry Explorer ou RegRipper (plugin appcompatflags) pour les clés Compatibility Assistant et Layers.

Conseils d'investigation

  • Filtrez PcaAppLaunchDic.txt sur les chemins accessibles en écriture (\Downloads\, \AppData\, \Users\Public\) et les lettres de lecteurs amovibles.
  • Comme seuls les lancements graphiques y figurent, un outil présent dans le Prefetch mais absent de PCA a probablement été lancé par un script, un service ou une session distante.
  • Utilisez le type 2 (arrêt anormal) de PcaGeneralDb pour repérer un malware qui plante ou un outil tué par une solution de sécurité.
  • Sous Windows 10 et antérieurs, rabattez-vous sur la clé Store avec BAM/DAM et UserAssist pour l'exécution au niveau utilisateur.
  • Une valeur Layers imposant RUNASADMIN à un binaire inhabituel mérite une explication.

Artefacts liés

Termes du glossaire

Guides

Tous les artefacts sur une page : aide-mémoire