DossierRisque : Ne pas toucher
SysWOW64 C:\Windows\SysWOW64
Bibliothèques et outils 32 bits sur un Windows 64 bits (WOW64) ; cible de la redirection de System32 pour les processus 32 bits.
À quoi ça sert
Sous Windows 64 bits, le dossier %windir%\System32 est réservé aux applications 64 bits. La plupart des noms de DLL n’ayant pas changé avec les versions 64 bits, les versions 32 bits sont stockées dans un autre dossier : SysWOW64. WOW64, l’émulateur x86 intégré au système, masque cette différence par un redirecteur de système de fichiers : lorsqu’un processus 32 bits accède à %windir%\System32, l’accès est redirigé vers %windir%\SysWOW64.
Ce qu’il contient
- Les bibliothèques (DLL) et outils 32 bits du système, de même nom que leurs équivalents 64 bits de System32.
- Des exécutables 32 bits comme une version de regedit.exe : l’accès à %windir%\regedit.exe est redirigé vers %windir%\SysWOW64\regedit.exe.
- Certains sous-dossiers de System32 ne sont pas redirigés : catroot, catroot2, driverstore, drivers\etc, logfiles et spool.
Risques et bonnes pratiques
- Des applications 32 bits ne démarrent plus si vous supprimez, remplacez ou ajoutez des fichiers ici.
- Une application 32 bits qui doit atteindre le vrai System32 utilise le chemin %windir%\Sysnative ; ce n’est pas un dossier réel.
- Dans le code, n’écrivez pas ces chemins en dur : appelez GetSystemWow64Directory pour obtenir le dossier système 32 bits.
- Pour
regedit.exe, si l’UAC affiche une invite, la redirection n’a pas lieu et c’est la version 64 bits du fichier qui est lancée. - Gardez ce dossier dans le périmètre des analyses antivirus et des revues de sécurité : des DLL malveillantes imitent des noms système.
Commandes utiles
# Système et processus 64 bits ?[Environment]::Is64BitOperatingSystem[Environment]::Is64BitProcess
# Fichiers de même nom dans les deux dossiers (lecture seule)Get-Item "$env:windir\System32\notepad.exe", "$env:windir\SysWOW64\notepad.exe" -ErrorAction SilentlyContinue | Select-Object FullName, Length, VersionInfo:: Depuis un cmd 32 bits, %windir%\Sysnative atteint le System32 64 bitsdir %windir%\Sysnative\cmd.exe