Aller au contenu principal

Parlons peu, parlons shims

18 octobre 2011

La compatibilité applicative est un vaste sujet. Microsoft fourni un Toolkit dédié à cet effet : ACT 5.6 (Application Compatibility Toolkit).

ACT Permet de :

  • Vérifier la compatibilité de vos applications, de vos périphériques et de vos ordinateurs avec une nouvelle version du système d’exploitation Windows, en déterminant notamment votre évaluation du risque.
  • Vérifier la compatibilité d’une mise à jour Windows, en déterminant notamment votre évaluation du risque.
  • Participer à la communauté ACT, notamment au partage de votre évaluation des applications avec d’autres utilisateurs ACT.
  • Tester vos applications sur les problèmes de contrôle de compte d’utilisateur à l’aide de l’Analyseur pour utilisateur standard.
  • Tester la compatibilité de vos applications Web et sites Web avec les nouvelles versions et mises à jour de sécurité d’Internet Explorer®, à l’aide de l’Outil de test de compatibilité d’Internet Explorer.

Jetons un œil à un exemple bien connu dans le monde d’ACT, à savoir l’application de démo Stock Viewer.

Il s’agit d’une application de démo qui comporte un certain nombre d’incompatibilités avec Windows Vista / 7 et sur laquelle vous pourrez vous exercer en créant des shims.

En exécutant l’application, un message d’erreur apparait m’indiquant que je dois être administrateur afin d’exécuter cette application.

Cette erreur est rapidement corrigée en utilisant le Fix ForceAdminAccess.

Une fois l’application exécutée, on peut voir un message d’erreur lorsque je clique sur File / Update Kernel.

L’application tente d’écrire dans le kernel32.dll. Nous utiliserons alors le Fix WRPMitigation qui retournera une opération réussie sur les accès aux fichiers protégés pas WRP.

Enfin, lorsque je fais Option / Save Preferences, un message d’erreur m’est encore retourné.

On constate bien dans Process Monitor que nous ne pouvons pas créer le fichier StockViewer.ini dans C:\Windows\Downloaded Program Files.

Nous allons donc utiliser le Fix CorrectFilesPaths en passant en paramètre le « chemin_source;chemin_cible » . Par exemple : « C:\Windows\Downloaded Program Files\StockViewer.ini;%UserProfile%\AppData\Local\VirtualStore\Windows\Downloaded Program Files\StockViewer.ini ».

Une fois le correctif appliqué, l’option fonctionne et le fichier de configuration StockViewer.ini est créé.

Dans Process Monitor, lorsqu’on regarde le détail de l’action interceptée par la shim, on retrouve bien l’intervention de AcLayers.dll.

L’intégralité des correctifs de l’application de démo Stock Viewer est détaillée dans le document « Mitigating Application Issues Using Shims – Lab Guide.xps » présent dans ACT.

Publicités
No comments yet

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion /  Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion /  Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion /  Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion /  Changer )

Connexion à %s