Question

J'ai une application qui appelle une autre application console et lui transmet certains paramètres (l'application console est une application de recouvrement vidéo / audio) ... existe-t-il un moyen de "espionner" par programmation? ou intercepter les paramètres passés autres que l’accrochage / la surveillance shellexecute / CreateThread, etc.?

Était-ce utile?

La solution

Oui, il y en a - au fur et à mesure que vous écrivez, Process Explorer est capable de le faire et vous pouvez utiliser la même technique. Pour autant que je sache, il n’existe pas de traduction Delphi du fichier winternl.h à partir du Kit de développement Platform SDK, elle est donc encore plus fastidieuse et difficile. De plus, cela dépend extrêmement de la version et il y a des chances que cela rompt avec la prochaine version de Windows. Il est également difficile de savoir si cela fonctionne pour les processus 64 bits (à partir d'un processus 32 bits).

Si vous voulez vraiment le faire, vous trouverez les informations nécessaires dans ce billet de blog de Matt Pietrek et dans l'article CodeProject & a; Lire les chaînes d'environnement du processus distant ".

Si vous ne prévoyez pas l’utiliser pour des programmes commerciaux à sources fermées, jetez un coup d’œil à la (licence GPL) une version annotée du fichier winternl.h du projet ReactOS serait probablement également utile.

Autres conseils

Créez vous-même un exécutable qui appelle simplement l'original et lui transmet tous les paramètres. Puis déplacez l'original quelque part et remplacez-le par votre exe. Votre programme peut alors enregistrer tous les appels, y compris tous les paramètres.

C’est une FAQ Win32 depuis 1992: il suffit de lire le PEB.
Voir groupe d'experts Win32 .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top