2009-07-06 6 views
1

Je dois intercepter le trafic de sortie LPT. Après quelques heures de recherche, j'ai compris que le seul moyen de le faire est d'écrire un pilote en mode noyau, plus précisément un "pilote de filtre" ...?Reniflant le trafic LPT

J'ai téléchargé le WDK, mais la terminologie et le grand nombre de types de pilotes sont un peu écrasants.

Je suis en train d'essayer de comprendre ce que genre du pilote que je devrais écrire; mon environnement cible est Windows XP SP2 et 3 seulement. Quelques informations de base, si c'est important: J'ai un tas d'applications DOS héritées qui impriment sur LPT1. J'aimerais pouvoir capturer cette sortie et rediriger ces données (après les appels GDI) vers une imprimante USB (réseau) moderne. Heureusement, la dernière partie du problème est facile. J'espère que quelqu'un pourrait me diriger dans la bonne direction. TIA.

Répondre

1

J'ai l'impression que vous pouvez également utiliser Detours pour détecter et enregistrer le trafic. Un de mes amis a déjà fait des choses très changeantes en déplaçant des choses d'un port COM à un autre en l'utilisant. Je ne sais pas avec certitude, mais cela pourrait être plus facile que d'écrire un pilote à partir de zéro.

+0

Merci pour votre réponse. Je pense que détourner CreateFile/WriteFile et les amis fonctionnerait, mais j'ai le sentiment que cela ne fonctionnera pas pour une application 16 bits. –

1

Les gars de sysinternals.com ont écrit une application appelée Portmon qui vous permettrait de voir ce qui allait aux ports série et parallèle.

Il a quelques années (11/2006 était la dernière mise à jour), mais il devrait vous permettre de vous connecter ce dont vous avez besoin au moins pour faire une partie de la recherche. Si les applications sont basées uniquement sur DOS, vous devriez pouvoir écrire un programme TSR qui se charge avant l'autre programme et connecte l'appel d'interruption d'impression, puis le redirige vers l'emplacement souhaité.

Vous pourriez avoir à rafraîchir votre 386 assembleur :)

0

Est-ce que vous devez faire plus de capturer et de transférer les données de l'imprimante? Si c'est tout ce que vous devez faire, alors Printfil devrait faire le travail pour vous. Vous le trouverez ici: http://www.printfil.com/english.htm

Questions connexes