CreateProcess [Résolu]

gorets 8 Messages postés lundi 20 janvier 2003Date d'inscription 21 septembre 2007 Dernière intervention - 22 août 2006 à 21:03 - Dernière réponse : cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention
- 11 sept. 2006 à 13:10
Je voudrais "espionner" un processus créer avec la fonction createprocess...
c'est à dire... Lister les dlls qu'il charge, (les modules   EnumProcessModules? <= PSPAPI), connaitre les occupations mémoire, etc... les threads qu'il crée...
mais je bloque sur l'utilisation de cette fameuse EnumProcessModules, et de l'implémentation du DEBUG dans createprocess...
Quelqu'un aurait-il des infos, voir des sources exemples...

Merci d'avance
Afficher la suite 

Votre réponse

4 réponses

cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 7 sept. 2006 à 15:53
+3
Utile
Bonjour,

Pour EnumProcessByName, elle doit être décrite dans le sdk win32 fournit avec Delphi. Sinon y a une page très proche sur la msdn.

Elle à l'aire plutôt simple d'emploi : tu lui passe le handle renvoyé par CreateProcess dans hProcess, tu lui passe un tableau d'entiers (C'est pareil qu'un handle) dans lphModule, la taille du tableau que tu lui donne donne dans cb (Genre tu lui passe un tableau de 256 entiers, ça devrait largement suffire), et tu récupère la taille utilisée dans ton tableau à la sortie dans lpcbNeeded.

Pour savoir combien de module est utilisé par l'exe (Combien de cases sont remplie dans ton tableau), tu divise lpcbNeeded par quatre (4 octes, 32 bits, c'est à dire la taille d'un handle/entier).
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_rt15
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 7 sept. 2006 à 15:58
+3
Utile
Pardon pour le petit double post .
Un source qui permet de connaitre les dlls utilisées dans un exe.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_rt15
gorets 8 Messages postés lundi 20 janvier 2003Date d'inscription 21 septembre 2007 Dernière intervention - 7 sept. 2006 à 17:59
+3
Utile
Sur le même principe, est-il possible de voir les plages de mémoires et les valeurs contenues, lors de l'utilisation d'un programme... espionner, quoi !!!!
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de gorets
cs_rt15 3982 Messages postés mardi 8 mars 2005Date d'inscription 7 novembre 2014 Dernière intervention - 11 sept. 2006 à 13:10
+3
Utile
Apparement, pour ça, il faut regarder du côté de OpenProcess.

Mais bon, comme c'est pas très gentil, certains anti virus risque de pas permettre ce genre d'opérations...

C'est tout à fait illégal pour certaines applications (cf license).

De plus, faut pas espérer trouver les noms des variables en claires, donc faudrait être déjà bien balaise en assembleur pour deviner où se trouve les données intéressantes.
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_rt15

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.