Qu'est-ce que le crochet de recherche d'URL Microsoft ?

Lorsque vous entrez une URL Internet sans son identifiant de protocole correspondant, tel que http://, https:// ou alors ftp://, Internet Explorer tente de déterminer le protocole requis en utilisant le contenu de l'adresse URL. Cependant, lorsque le navigateur ne peut pas déterminer le protocole par lui-même, il utilise la méthode URL Search Hook pour tenter d'identifier le protocole.

IE et le crochet de recherche d'URL

Lorsqu'Internet Explorer ne peut pas identifier le protocole pour une entrée d'adresse URL particulière, il suppose d'abord que le protocole doit être le protocole HTTP (Hypertext Transfer Protocol), qui est généralement le protocole par défaut pour la plupart des demandes de données basées sur un navigateur. Cependant, si HTTP n'est pas le protocole approprié, le navigateur s'interface alors avec la méthode URL Search Hook (IURLSearchHook) qui traduit les données dans un objet de registre enregistré pour identifier le protocole approprié.

Traduction d'URL

Le registre Microsoft Windows contient des paramètres de configuration système et des options de configuration pour le système d'exploitation Windows et certaines applications. Le navigateur Internet Explorer stocke (enregistre) les objets URL Search Hook dans le Registre qu'il utilise ensuite à des fins de recherche selon les besoins, par exemple lorsqu'il doit identifier un protocole pour une URL particulière.

Les objets URL Search Hook sont créés sous la clé de registre de :

HKEY_LOCAL_MACHINE/Software/Microsoft/Internet Explorer/UrlSearchHooks

La chaîne d'identificateur de classe (CLSID) d'un objet URL Search Hook, les données entre les accolades ({ }) dans l'entrée de registre, identifient l'objet de manière unique. L'interface IURLSearchHook traduit l'adresse d'une URL et les données de son CLSID correspondant pour identifier le protocole associé. Internet Explorer utilise ensuite l'URL partielle et l'identifiant de protocole pour accéder, récupérer et afficher les informations demandées.

Sur la majorité des systèmes Windows, il n'y a qu'un seul objet UrlSearchHook, qui devrait ressembler à ceci :

R3 - URLSearchHook : (pas de nom) - {00A6FAF6-072E-44cf-8957-5838F569A31D} - (pas de fichier)

Objets de crochet de recherche d'URL incorrects

Les pirates, pirates de l'air et autres malfaiteurs d'Internet Explorer peuvent, et le font souvent, ajouter des objets UrlSearchHook au registre sur un système hôte. En règle générale, un pirate crée un objet de registre qui redirige toute URL pour laquelle il manque un protocole vers un site qu'il contrôle. Cependant, un problème plus courant est lorsque le Default URLSearchHook est manquant, a été supprimé ou n'a pas été enregistré.

Pour identifier et résoudre les problèmes d'objets de registre, y compris les objets URLSearchHook, un utilitaire téléchargeable gratuitement, HijackThis, est disponible. Lorsqu'il s'exécute, cet utilitaire analyse un registre Windows et peut même résoudre certains problèmes, notamment un objet URLSearchHook par défaut manquant ou corrompu. Cependant, si vous préférez, vous pouvez également utiliser RegEdit, un utilitaire gratuit de Microsoft qui vous permet d'éditer, de modifier et de corriger directement le registre.

IE 9 et versions ultérieures

Internet Explorer 8 et les versions antérieures utilisent la méthode IURLSearchHook pour identifier les entrées de protocole manquantes. À partir d'Internet Explorer 9 (c'est-à-dire IE 9, 10, 11, etc.), la méthode IURLSearchHook n'est plus utilisée par ces versions de navigateur pour identifier les identités de protocole manquantes.