12984 Letture

Verificare se un file è stato eseguito in Windows

Quando il sistema evidenzia uno strano comportamento oppure si rileva la presenza di programmi sospetti o pericolosi, può essere utile verificare se un file è stato eseguito e quante volte è stato avviato.
Trovare informazioni sui file eseguiti in Windows non è semplicissimo: vogliamo comunque offrirvi alcune indicazioni per raccogliere rapidamente i dati necessari.

Il sistema operativo, infatti, mantiene nascoste alcune - in alcune aree poco conosciute - utili informazioni per controllare se un file è già stato eseguito.

Windows tiene traccia dei programmi che vengono avviati in fase di boot del sistema e di quelli eseguiti successivamente nella cosiddetta cartella di “prefetch”. In tale directory vengono conservati i nomi dei file caricati insieme con un riferimento diretto alla loro posizione sul disco fisso. Grazie a questo espediente, Windows è in grado di caricare più rapidamente i file oggetto di prefetching.
Il contenuto della cartella di prefetch è verificabile portandosi in corrispondenza della cartella c:\windows\prefetch. Le informazioni conservate nei file con estensione .pf non sono però direttamente decodificabili.

Utilizzando il programma WinPrefetchView si potrà controllare il contenuto di tutti i file di prefetch salvati da parte di Windows.
Le informazioni visualizzate da WinPrefetchView sono piuttosto utili perché è possibile stabilire non soltanto i nomi dei file che sono stati già avviati sul sistema ma anche la data di avvio ed il numero di volte che ciascun elemento è stato eseguito (colonna Run counter).

Verificare se un file è stato eseguito in Windows

Già esaminando il contenuto della cartella Prefetch di Windows si potrà avere un'idea dei file che sono stati eseguiti sul sistema e di quante volte essi sono stati utilizzati.

Com'è facilmente prevedibile, però, anche il registro di sistema di Windows contiene molte informazioni preziose sui file già eseguiti.


Una delle chiavi più interessanti è UserAssist: anch'essa contiene una serie di tracce sui file eseguiti e sul numero di avvii.
I valori contenuti nelle sottochiavi di HKCU\Software\Microsoft\Windows\CurrentVersion\Explorer\UserAssist sembrano incomprensibili perché codificati con il semplice cifrario ROT13.
Per "decodificarli" immediatamente, si può utilizzare l'applicazione gratuita UserAssistView.

Verificare se un file è stato eseguito in Windows

Anche in questo caso, la colonna Count indica quante volte il programma corrispondente è stato eseguito sul sistema.

Un'ulteriore chiave del registro di Windows è utile per verificare i programmi che sono stati eseguiti sul sistema. Si tratta di quella conosciuta con il nome di ShimCache o AppCompatCache, usata da Windows per individuare eventuali problemi di compatibilità fra le varie applicazioni.
Anche le informazioni contenute nelle chiavi HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatibility\AppCompatCache (sistemi Windows XP) e HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\AppCompatCache\AppCompatCache (sistemi Windows successivi a Windows XP) sono codificate e la loro decodifica non è generalmente possibile analizzando la copia del registro di Windows utilizzata dal sistema operativo mentre questo è in esecuzione.
Tra le poche applicazioni che permettono di attingere al contenuto delle due chiavi mentre Windows è in esecuzione, c'è Windows AppCompatibility Cache Utility scaricabile dai link seguenti nelle versioni per sistemi Windows a 32 e 64 bit:
- TZWorks Windows AppCompatibility Cache Utility, 32 bit
- TZWorks Windows AppCompatibility Cache Utility, 64 bit

Per utilizzare il programma, dopo avere estratto il contenuto dell'archivio Zip in una cartella su disco fisso, bisognerà aprire il prompt dei comandi di Windows (cmd) con i diritti di amministratore quindi digitare quanto segue:

wacu -livesys > out.txt

Aprendo il file out.txt si troverà, in chiaro, l'elenco delle applicazioni via a via avviate sul sistema con data ed ora dell'esecuzione e percorso completo. Nella versione gratuita di Windows AppCompatibility Cache Utility, il formato della data non è modificabile ed è sempre visualizzato nella forma statunitense ossia mm/gg/aaaa.

Infine è possibile dare un'occhiata anche al contenuto della cosiddetta "cache MUI" di Windows: si tratta dell'elenco che il sistema operativo mantiene aggiornato per tracciare le applicazioni eseguite più frequentemente.
Rispetto ai precedenti suggerimenti, la "cache MUI" restituisce solitamente risultati poco interessanti ma potrebbe comunque valer la pena effettuare anche qui una verifica.

Per ottenere rapidamente il contenuto della "cache MUI" di Windows è possibile utilizzare i comandi seguenti (da impartire dalla finestra del prompt dei comandi):


reg query "HKCU\Software\Classes\Local Settings\Software\Microsoft\Windows\Shell\MuiCache" (tutte le versioni di Windows successive a Windows XP)
reg query "HKCU\Software\Microsoft\Windows\ShellNoRoam\MUICache" (Windows 2000, Windows Server 2003, Windows XP).


Verificare se un file è stato eseguito in Windows - IlSoftware.it