2009-08-22 5 views
1

Comment Windows résout DNS et comment puis-je intercepter les appels, afin d'injecter mes propres domaines? J'ai besoin de cela dans une application, et l'exécution de mon propre serveur DNS ou la modification du fichier hosts n'est pas une solution.Windows DNS hooks

+2

Le ver Win32/Conficker est-ce que, interventing avec le service DNSCache. Si personne n'a de réponse, vous pouvez essayer de rechercher des informations sur la façon dont le ver fait cela. – Havenard

+0

Merci. Il serait intéressant de croiser son code source. – qeek

+0

Si jamais je le trouve .. – qeek

Répondre

3

Je ne suis pas sûr de savoir quel est votre but, mais il y a plusieurs options. CodeProject comprend quelque chose qui pourrait vous aider ici. Il semble faire ce que vous devez faire. Maintenant, l'autre solution pourrait impliquer votre propre travail qui pourrait être inapproprié pour le projet. Pour un, vous devez savoir si le suivant function est le responsable des recherches DNS dans les applications que vous souhaitez modifier. L'étape suivante consiste essentiellement à implémenter le code CodeProject vous-même, à créer un hook global en utilisant Microsoft Detours et, dans le trampoline retourné, à insérer votre code de modification.

Je ne sais toujours pas pourquoi vous avez besoin de faire cela, si vous fournissez plus de détails sur l'objectif final, vous pourriez obtenir de meilleures réponses.

+0

Merci. J'aimerais qu'une solution fonctionne pour tous les processus. Mais je pense que votre réponse m'a juste donné assez de conseils. – qeek

+0

Rechercher un proxy DLL. –

+0

Je suppose que l'exemple Microsoft Detours et CodeProject (qui utilise Detours) ne fonctionnera pas avec les applications compilées sans API Win32. Je suppose que cela signifie que si vous téléchargez la version 64 bits d'une application? Pas sure. Quelqu'un peut-il confirmer? – Volomike

0

Vous pouvez rechercher Accrocher fonction DnsQuery() appelle à dnsapi.lib/dnsap.dll

Questions connexes