J'ai finalement cédé et décidé de mettre à jour XP vers SP3. L'une des choses qui me dérange dans le SP2+ et qui m'a fait repousser la mise à jour pendant si longtemps, c'est qu'il exige des chemins d'accès entièrement qualifiés pour les types de fichiers et les verbes de l'Explorateur.
Par exemple, dans le SP1, vous pourriez faire quelque chose comme ce qui suit :
REGEDIT4
[HKCR\txtfile\shell]
"@"="Notepad2"
[HKCR\txtfile\shell\Notepad2]
"@"="notepad2.exe %1"
En supposant que notepad2.exe
se trouve dans le chemin d'accès, vous pouvez alors ouvrir un fichier texte soit en l'exécutant directement, soit en sélectionnant Bloc-notes2 dans son menu contextuel.
Dans SP2+, cela ne fonctionne pas et affiche le message suivant Ouvrir avec à la place. Pour résoudre ce problème, vous devez utiliser un chemin d'accès complet à l'exécutable :
[HKCR\txtfile\shell\Notepad2]
"@"="e:\tools\editors\text\notepad2\notepad2.exe %1"
Cette modification (qui rend le PATH
de la variable essentiellement inutile) était une amélioration de la sécurité ajoutée à l'interface de SP2. Excellente mise à jour de sécurité Il est logique qu'il empêche les attaques par injection de chemin.
Cependant, cela pose plus de problèmes que cela n'en vaut la peine, car si un virus peut modifier la variable du chemin d'accès au système, il a déjà accédé au système et peut faire ce qu'il veut. De plus, il n'affecte que l'Explorateur ; l'exécution de programmes à partir de l'invite de commande fonctionne toujours comme avant. En outre, il ne fonctionne que pour le programme primaire c'est-à-dire que ce qui suit fonctionne toujours si la commande infectednotepad.exe
se trouve sur le chemin :
"@"="e:\tools\misc\shellexecute.exe /c infectednotepad.exe %1"
Cette modification n'apporte pas vraiment de sécurité supplémentaire ; au contraire, elle oblige l'utilisateur à passer des heures à parcourir le registre dans chacun des 6 à 10 endroits différents où les types de fichiers, les applications et les verbes de l'explorateur peuvent être enregistrés, en recherchant les chemins non qualifiés et en les remplaçant tous (en ne remplaçant que l'entrée principale dans le fichier HKCR
n'est pas suffisante car il existe des niveaux dans d'autres endroits qui aggravent et confondent le problème).
De plus, Microsoft a manifestement réalisé que cette "fonctionnalité" était inutile puisqu'elle l'a supprimée dans Vista. Dans Windows 7, le premier exemple fonctionne exactement comme dans le SP1.
"Réparer ces éléments peut s'avérer une tâche insurmontable pour un système qui a déjà été configuré et utilisé pendant un certain temps, surtout si des programmes tiers ont été ajoutés.
Existe-t-il un moyen de désactiver cette "fonction" et de laisser le PATH
variable refasse son travail ?