Elencare i file aperti ed i processi che li utilizzano
—
Giorgio Borelli
Quando sospetto la presenza di qualche malware, o noto dei comportamenti anomali sulla mia macchina, una delle prime cose che faccio è controllare tramite il task manager la lista dei processi in esecuzione, è possibile così notare la presenza di qualche processo sconosciuto o dal nome sospetto. Sfortunatamente però Windows non ci mette a disposizione ulteriori strumenti diagnostici per approfondire la questione, sarebbe interessante ad es. a questo punto sapere quali file sono aperti dal processo sospetto. Microsoft si attrezza per ovviare a queste mancanze e nel 2006 assorbe Sysinternal (di Mark Russinovich), una suite di utility freeware per la diagnostica che spazia dai file alle reti. Tra le utility disponibili nell'attuale Microsoft Sysinternals (si chiama così dopo essere stata acquistata) c'è Handle che è possibile scaricare da qui.
Handle ci permette di elencare non solo i processi in esecuzione, ma anche thread, eventi e chiavi di registro. Eseguendo Handle senza argomenti dalla linea di comando si otterà l'elenco di tutti i file aperti sul sistema; è possibile specificare anche un nome di file, così da sapere quale processi sono coinvolti nel suo uso.
C:\> handle filename
E anche possibile fare il contrario cioè permettere di elencare i file aperti da un particolare processo, ad es. per Internet Explorer.
C:\> handle -p iexplore
Handle è un'ottimo strumento diagnostico e possiede ulteriori opzioni da riga di comando che possono anche essere combinate fra di loro per restringere ed approfondire la ricerca dei file aperti e dei processi coinvolti. Per chi volesse approfondire ulteriormente può leggere la pagina dedicatata ad Handle dal sito Technet della Microsoft.