2009-11-30 5 views
2

J'ai besoin d'écrire une application qui va proxifier une autre application (rediriger tout le trafic réseau vers un autre serveur proxy). Tout comme FreeCap, ProxyCap, etc. Quelqu'un peut-il ici me pointe vers l'API que je devrais utiliser? De préférence l'API qui fonctionnera sous 2k, XP, Vista et W7. Vous ne pouvez pas utiliser certaines règles de routage pour cela?API pour l'application spécifique proxyfying

Répondre

1

Il existe deux API que vous pouvez utiliser pour cette tâche. L'un est LSP (Layered Service Providers) qui est une API Winsock2 pour écrire des DLL de fournisseur de service qui peuvent intercepter tous les appels Winsock, comme connect() ou WSAConnect(). Lisez-en plus à ce sujet ici: www.komodia.com

Un autre est "détours" qui est la bibliothèque de Microsoft pour intercepter tout appel d'API. Plus à ce sujet ici: research.microsoft.com/en-us/projects/detours/

Un autre est ce que l'on appelle le patch IAT (Import Address Table). Je n'ai pas de lien pour ça.

Une autre approche consiste à écrire une DLL, à l'appeler "wsock32.dll", à implémenter tous les appels Winsock2 utilisés par votre application cible et à simplement la placer dans le dossier avec l'application cible. Lorsque l'application va démarrer, il utilisera le "wsock32.dll" local au lieu du système.

En général, vous souhaitez utiliser certaines de ces API pour intercepter les appels connect() ou WSAConnect() de Winsock, effectuer la connexion via le proxy dans votre code et renvoyer vos connexions connectées à l'appelant.

Vous voudrez probablement également lire sur l'injection de DLL.

0

Sinon, écrivez une application serveur simple dans la technologie Vous êtes po Je suis sûr que vous trouverez de nombreux exemples dans le réseau.

+0

Malheureusement, mon application devrait fonctionner avec diverses applications et seulement certaines d'entre elles devraient être proxiées (donc je ne peux pas faire de proxy global pour le système). En outre, il est tout à fait possible que les applications avec lesquelles je devrais travailler n'aient pas de support proxy. Il devrait y avoir un moyen facile. Je veux dire que ProxyCap est un seul fichier .exe et je ne vois pas de pilotes installés par lui ... –

Questions connexes