Détecter le lancement d'un processus en C# ?

Détecter le lancement d'un processus en C# ? - C#/.NET managed - Programmation

Marsh Posté le 21-02-2008 à 12:00:15    

Bonjour,
hiers en voyant mon antivirus se mettre à jour tout seul je me suis posé une question bête : comment l'antivirus parvient il a détecter le lancement de processus nuisible sans créer une boucle infinie ?
 
Et depuis ce matin je cherche.
 
La solution du timer qui liste les processus sur la machine toutes les x minutes me semble beaucoup trop bourrine, et je ne vois pas d'event disponible pour détecter la création d'un processus.
 
Ma question est donc la suivante :
 
Quel est le moyen de détecter la création d'un processus en C# ?

Reply

Marsh Posté le 21-02-2008 à 12:00:15   

Reply

Marsh Posté le 21-02-2008 à 16:59:30    

Grâce à WMI et au namespace System.Management.
 
Exemple complet ici :  
http://www.codeproject.com/KB/syst [...] ngwmi.aspx


---------------
VA APPRENDRE ET REVIENS QUAND TU SAIS, SINON ABSTIENT TOI C'EST UN GRAND CONSEIL QUE JE TE DONNE... TU ES INCOMPÉTENT ET C'EST UNE RÉALITÉ, TU N'AS RIEN A FAIRE ICI FAUT S'Y CONNAITRE ... -Jojo1998 - RIP - http://tinyurl.com/qc47ftk
Reply

Marsh Posté le 22-02-2008 à 10:21:27    

Merci pour la réponse !  :hello:  
 
En faisant des recherches je suis aussi tombé sur la solution du WMI, mais dans le cas d'un OS de type linux ça ne passe pas il me semble (du coup je suis en train de bricoler un bout de code pour tester... on se refait pas ^^).
 
Du coup même si je reste dans le cas d'un environnement windows je suis en train de cherche comment me passer du WMI.
 
 :bounce:


Message édité par frere tuck le 22-02-2008 à 10:22:29
Reply

Marsh Posté le 22-02-2008 à 15:42:07    

Du coup je cherche une alternative à "ManagementEventWatcher" qui n'utilise pas le WMI pour intercepter la création d'un processus.

Reply

Marsh Posté le 23-02-2008 à 11:19:52    

mon grand tu es en C#. Il est pas question de faire tourner une applic C# sous Linux. A moins d'utiliser des produits exotiques comme MONO. Mais je doute vraiment que tu puisses avec ce genre d'outils migrer une application sans avoir de problème vers Linux.

Reply

Marsh Posté le 23-02-2008 à 13:33:27    

moi23372 a écrit :

mon grand tu es en C#. Il est pas question de faire tourner une applic C# sous Linux. A moins d'utiliser des produits exotiques comme MONO. Mais je doute vraiment que tu puisses avec ce genre d'outils migrer une application sans avoir de problème vers Linux.


 
Je ne parle pas de faire tourner la moulinette sur du linux.
 
Je parle uniquement de répondre à la question de savoir où taper pour réaliser la détection de la création de processus système :
 
- Observation : Le WMI ça passe, OK.
- Constatation : Il doit exister un moyen de détecter la création de processus sans WMI. Le WMI ça se désactive, voir ça ne s'utilise tout simplement pas (j'ai remarquer un comportement louche de mes tests sur VISTA, pour info).
- Déduction : Si on se réfère aux problématiques classiques de la programmation système on peut raisonnablement formuler une hypothèse selon laquelle un petite librairie C réponde à la question. Le c# c'est bien mais il n'est pas interdit d'utiliser ce qui marche le mieux.
- Hypothèse : Avec un coup de C ANSI on doit pouvoir faire pareil sur un os type Linux, mais ça n'est pas le problème.
 
Biologie élémentaire.
 
Sinon j'imagine que la solution consiste globalement à la création d'un listener bien placé ^^.
 
PS : Merci de ta participation, mon grand.


Message édité par frere tuck le 23-02-2008 à 13:44:37
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed