begin process at 2010 02 09 23:52:54
  Trouver un code source :
 
dans
 
Accueil > 

Code

 > 

Système

 > YET ANOTHER (REMOTE) PROCESS MONITOR

YET ANOTHER (REMOTE) PROCESS MONITOR


 Information sur la source

Note :
10 / 10 - par 2 personnes
10,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10
Catégorie :Système Source .NET ( DotNet ) Classé sous :yapm, remote, processus, monitoring, process Niveau :Expert Date de création :16/05/2009 Date de mise à jour :17/12/2009 21:59:18 Vu / téléchargé :2 912 / 363

Auteur : violent_ken

Ecrire un message privé
Site perso
Ce membre participe au partage de revenus publicitaires
Commentaire sur cette source (11)
Ajouter un commentaire et/ou une note


 Description

Cliquez pour voir la capture en taille normale
Bonjour à tous,

YAPM (Yet Another (remote) Process Monitor) est un programme de monitoring avancé du système pour un PC local, et maintenant également distant !!

Il regroupe la totalité des fonctions utiles pour la gestion des processus et des services.

Possédant presque toutes les fonctions proposées par Process Explorer (pour ne citer que lui), YAPM permet en plus le monitoring complet des PC distants et de nombreuses fonctions exclusives.

Il me semble que c'est le premier logiciel à proposer toutes les fonctionnalités de monitoring distant incluses. Et c'est du Open Source.

Cette source est une grosse MAJ de http://www.vbfrance.com/codes/YET-ANOTHER-PROCESS- MONITOR_48860.aspx




Pour utiliser le monitoring réseau :

1) Méthode CLIENT-SERVEUR
- démarrer YAPM normalement sur le PC principal
- démarrer le fichier *.BAT sur le PC distant à monitorer et cliquer sur "connecter"
- changer le mode de connexion dans YAPM (Menu->Change connection type->Déconnecter->Onglet Server->Configurer IP->Connect)

2) Méthode WMI
- démarrer YAPM normalement sur le PC principal
- changer le mode de connexion dans YAPM (Menu->Change connection type->Déconnecter->Onglet WMI->Configurer nom et mdp->Connect)


VERSION COMPILEE POUR CEUX QUI VEULENT QUE L'EXE COMPILE :
https://sourceforge.net/projects/yaprocmon/files /


Je vous invite à visiter http://yaprocmon.sourceforge.net/ pour les détails !


Sommaire de la description
* Principales fonctions communes
* Fonctions additionnelles par rapport à taskmgr ou autre
* Reste à faire pour terminer
* Complétion future
* Commentaires sur le code
* Réutilisation de code
* Licence
* Compilation du code
* Utilisation
* Commentaires généraux
* Sourceforge



Principales fonctions communes :
* Gestion complète des tâches comme dans taskmgr
* Gestion des processus complète (kill, priorité, pause/resume, récupération des infos...)
* Récupération des modules/threads des processus
* Gestion des services (start/pause/stop..., type de démarrage...)
* etc.

Fonctions additionnelles par rapport à taskmgr ou autre :
* Gestion complète des threads
* Récupération des handles des processus
* Gestion des fenêtres ouvertes par les processus
* Gestion complètes des jobs
* Gestion complète des modules
* System Snapshot Mode, très utile pour l'assistance à distance (permet de sauvegarder un snapshot du système, d'ouvrir le fichier snapshot sur un autre poste et de naviguer dans YAPM de la même manière que si c'était un système local)
* Emergency hotkeys (programmation de raccourcis d'urgence)
* Vue des connexions TCP/UDP ouvertes par les processus
* Sélection du processus associé à une fenêtre par drag & drop de la souris sur l'écran (comme dans Process Explorer)
* Sélection multiples de processus/services pour autoriser un multikill violent par exemple
* Récupération de multiples informations utiles (I/O des processus, changement privileges, zones mémoires, services associés aux processus...)
* Gestion des fenêtres ouvertes par les processus
* Possibilité de délocker un fichier ouvert par un autre programme
* Application user friendly
* Monitoring complet de l'ensemble des objets Windows (identique à l'analyseur de performances dans perfmon.msc) avec gestion plus complète de l'échelle de temps (récupération des infos via PerformanceCounter)
* Gestion des privileges des processus
* tray icon animée (usage CPU/mémoire)
* gestion des zones mémoire virtuelles
* éditeur hexadécimal intégré pour lire la mémoire
* fonctions shutdown/reboot/...
* historique de toutes les statistiques par processus
* mode 'log' (récupère toutes les changements sur un processus et créé un log configurable. Récupère threads, memory regions, handles, windows, connexions, services & modules)
* détection des processus cachés (rootkits simples)
* remote shutdown/reboot...
* dependency viewer (code de ShareVB)
* ....


Reste à faire pour terminer :
* TODO liste un peu longue !


Complétion future :
* Fiaiblité ++


Commentaires sur le code :
* VB.Net avec Visual Studio 2008, nécessite un compilateur VB.Net et C#
* .Net 2.0
* Commenté, mais tout en anglais
* Niveau expert


Réutilisation de code :
* Code pour le tri des colonnes d'un listview tiré d'ici http://www.vb-helper.com/howto_net_listview_sort_c licked_column.html
* Utilisation du driver de ShareVB pour la récupération des handles système (merci à lui !)
* Utilisation du dependency viewer codé par ShareVB
* Utilisation d'une Dll externe pour l'ajout d'un Ribbon genre Office 2007 (voir la partie license pour l'auteur)
* Utilisation d'icones sous licence Creative Commons
* Quelques morceaux de code inspirés de Process Hacker par wj32
* Vérification wintrust des fichiers : http://www.pinvoke.net/default.aspx/wintrust/WinVe rifyTrust(2008-04-26-14-57-07.1570--91.76.224.60). html


Licenses
* GNU GPL 3.0 pour l'ensemble du projet
* Dll RibbonControl de Jose M. Menendez Poó (http://www.codeproject.com/KB/toolbars/WinFormsRi bbon.aspx) sous license Microsoft Public License (Ms-PL)
* Icones en Creative Commons
* Certaines fonctions (voir fichier readme.txt pour les détails) sont inspirées par du code sous licence GNU GPL 3.0 (code de wj32 dans Process Hacker).


Compilation du code
* Démarrer le fichier solution et compiler en mode RELEASE


Utilisation
* De préférence en tant qu'administrateur pour avoir accès à tous les droits sur les processus
* Compatible Vista (développé dessus), XP Pro (c'est ok sur ma machine virtuelle), Windows 7 Pro mais probablement pas Windows 2000 (mais franchement on s'en fout !!)
* Les menus non enabled sont généralement des fonctions non encore implémentées


Commentaires généraux :
* Utilisation de fonctions API pltôt que leur équivalent dans le framework .Net. C'est fait exprès, c'est pour plus de performances.
* Utilisation d'IntPtr et de marshaling de partout. C'est pas safe mais je suis obligé.


Sourceforge :
* Pour plus de facilité pour les MAJ, le code est principalement uploadé sur sourceforge : https://sourceforge.net/projects/yaprocmon/ A quand la gestion de SVN sur vbfrance ? :-)




La dernière version de ce code source est disponible ici : https://sourceforge.net/projects/yaprocmon/

Derni er code à jour disponible en SVN ici : https://yaprocmon.svn.sourceforge.net/svnroot/yapr ocmon
(pas forcément utilisable, ne prendre que les releases normalement).



Site web du logiciel :
http://yaprocmon.sourceforge.net/

Source

  • ' Dans le zip
  • ' http://yaprocmon.sourceforge.net/
  • ' Vous pouvez télécharge un setup ici : https://sourceforge.net/projects/yaprocmon/files/
' Dans le zip


' http://yaprocmon.sourceforge.net/


' Vous pouvez télécharge un setup ici : https://sourceforge.net/projects/yaprocmon/files/

 Conclusion

NOTE IMPORTANTE :

1) Ce code n'a plus rien à voir avec l'ancienne version dispo sur vbfrance : j'ai donc créé une seconde source pour que les membres aient encore accès à l'ancienne (qui est plus courte et simplifiée, mais ne gère pas le réseau)



Voilà, si vous avez des remarques, des MAJ à proposer, des bugs trouvés, n'importe quoi à dire ben ne vous gênez pas c'est fait pour :-)

Distribuable en fichier zip autonome.


UTILISATION NON GARANTIE ! POTENTIELLEMENT EXTREMEMENT DANGEREUSE QUI PLUS EST !

http://yaprocmon.sourceforge.net/

 Fichier Zip

Les Membres Club peuvent télécharger directement un fichier contenu dans le zip sans télécharger le zip en entier !

Télécharger le zip


 Historique

17 mai 2009 15:08:45 :
MAJ lien de download
23 mai 2009 18:03:55 :
Correction de nombreux bugs, ajout des fonctions sur les threads via socket...
23 mai 2009 18:14:25 :
Nouveau lien pour download
04 juin 2009 20:16:33 :
Dependency viewer + correction de bugs (notamment déconnection/reconnection OK) + remote shutdown +...
26 septembre 2009 00:36:23 :
v2.2.1 (* utilisation du remoting pour le remote monitoring, * optimisations de partout, * compatibilité x64 basique, * ajout de tonnes de nouvelles fonctions (notamment gestion complète des jobs et de leur limite), * simplification de l'UI, * gestion de l'UAC, * code entièrement refait avec p/invoke propres...etc. etc.)
22 novembre 2009 12:07:11 :
v2.4.0 Tonnes de nouvelles fonctions et de corrections de bugs
22 novembre 2009 13:16:01 :
MAJ screenshot
17 décembre 2009 21:59:37 :
2.4.1

 Sources du même auteur

Source avec Zip Source avec une capture Source .NET (Dotnet) SIMPLE SHUTDOWN SCHEDULER : ARRÊTS PLANIFIÉS (LOCAL OU REMOT...
Source avec Zip Source .NET (Dotnet) COMMENT DÉMARRER UN PROCESSUS SUR PC DISTANT DE MANIÈRE CACH...
Source avec Zip Source avec une capture Source .NET (Dotnet) COMMENT DÉTECTER LES PROCESSUS CACHÉS (VIRUS, ROOTKITS...) +...
Source avec Zip Source avec une capture Source .NET (Dotnet) COMMENT CONTRÔLER TOTALEMENT LES PROCESSUS D'UN PC DISTANT (...
Source avec Zip Source .NET (Dotnet) RÉCUPÉRER LES VARIABLES D'ENVIRONNEMENT DE N'IMPORTE QUEL PR...

 Sources de la même categorie

Source avec Zip REMOTE SOUND AND VLC par sonataIII
Source avec Zip Source avec une capture INFO MÉMOIRE par 3aloula
Source avec Zip Source avec une capture CHANGER L'ICONE ET LE NOM D'UN LECTEUR DE CARTE par Sechaud
Source avec Zip Source avec une capture SYSTRAY + BALLOON - VARIANTE AVEC TEXTE DANS L'ICÔNE par jack
Source avec Zip Source avec une capture DATE-HEURE DE LANCEMENT D'UN PROGRAMME par jack

 Sources en rapport avec celle ci

Source avec Zip Source .NET (Dotnet) COMMENT DÉMARRER UN PROCESSUS SUR PC DISTANT DE MANIÈRE CACH... par violent_ken
Source avec Zip Source avec une capture Source .NET (Dotnet) COMMENT DÉTECTER LES PROCESSUS CACHÉS (VIRUS, ROOTKITS...) +... par violent_ken
Source avec Zip Source avec une capture Source .NET (Dotnet) YET ANOTHER PROCESS MONITOR par violent_ken
Source avec Zip Source avec une capture WIN++ OPTIONS AVANCÉES SUR LES FENETRES ET PROCESSUS WINDOWS... par MadM@tt
Source avec Zip Source avec une capture WMI, GESTION D'UNE MACHINE (LOCALE OU DISTANTE) par zesamoth

Commentaires et avis

Commentaire de veler le 17/05/2009 10:55:38 10/10

Alors là ! Rien à dire ! Aucun bug, aucun défaut ! très utile !
Bravo !
C'est excellent ! J'ai surtout été impressionné par le système pour capturer une processus en cliquant sur une fenêtre ou autre !
Encore bravo

Commentaire de violent_ken le 17/05/2009 12:56:01

merci :-)

Mais par contre il reste encore des bugs, quasiment tous ceux que je connais sont des bugs au niveau du monitoring réseau.

Par contre j'ai remarqué une régression assez moche par rapport à ma dernière version : en local, les nouveaux processus ne sont pas rajoutés dans la liste !

Pour corriger çà, faut commenter les 10 lignes en dessous du commentaire 'PERFISSUE dans asyncCallbackProcEnumerate, mais çà aura pour effet de dégarder le mode réseau...

Bref je planche la dessus c'est pas cool comme bug.



Sinon voilà la liste des bugs connus :

---- GENERAL
- si recherche effectuée avant récupération des process -> foreach de CurrentProcesses foireux (non encore initialisé)
- toujours pb de clé pour network (éléments rouges en permance)

---- RESEAU
- finir fonctions Socket pour les threads (juste enum pour l'instant)
- ReAnalize service marche pas
- gérer déconnection socket (reconnection doit être possible)
- service dependencies (socket -> envoyer msg avec DependsOf et From, wmi)
- cpu usage pour remote (socket) -> récupérer processor count (en ce moment si nbre de processeurs <> entre les 2 PC, CpuUsage est mal calculé)
- bug Invoke controle pas initialisé lors du déchargement de forms avant le Invoke associé
- affinity process pour le mode socket
- mettre requetes dans une file d'attente (pour toutes les traiter, cf. 100 closehandle en même temps -> 4,5 pris seulement)
- getmappedimage... pour socket pas affiché

@+

Commentaire de violent_ken le 17/05/2009 13:18:57

Ok :-)

Suffit de remplacer la ligne 242 de processList par
cProcess.CurrentProcesses = New Dictionary(Of String, cProcess)((_dico))

et la ligne 254 de serviceList par
cService.CurrentServices = New Dictionary(Of String, cService)(_dico)

@+

Commentaire de yassirguitare le 19/05/2009 18:38:44

WAW Balaise c'est pas une source ça c'est une application

Commentaire de violent_ken le 22/05/2009 16:29:24

Oui effectivement c'est une application !

Pas facile de fouiller à la recherche de code dans tant de lignes, mais si quelqu'un cherche à travailler en VB.Net avec :
- processus
- services
- multithreading
- socket
- wmi
il trouvera très certainement son bonheur en cherchant !


L'application sera distribuée quand elle sera terminée.
@+

Commentaire de kouki1000 le 26/05/2009 17:53:42 10/10

Wow, ça promet!

Commentaire de violent_ken le 04/06/2009 20:21:36

MAJ : notamment ajout du dependency viewer de ShareVB + refonte complète de la gestion socket (maintenant déco/reco marchent nickel).

@+

Commentaire de zetatom le 22/07/2009 14:14:34

wow tros cool esque sa marche sur vb.net ?

Commentaire de violent_ken le 23/07/2009 10:47:57

Oui c'est du VB.Net

Commentaire de violent_ken le 26/09/2009 00:21:46

v2.2.1

- Utilisation du remoting pour le remote monitoring
- Optimisations considérables dans tous les sens
- Compatibilité 64-bits (mais pas complète)
- Tonnes de nouvelles fonctionnalités
- ...etc.

Cf. yaprocmon.sourceforge.net pour les détails.
@+

Commentaire de violent_ken le 22/11/2009 13:13:54

v2.4.0

Nombreuses corrections de bugs et ajout de nouvelles fonctions, dont la fonctionnalité "System Snapshot" qui permet de favoriser l'assistance à distance :
- création d'un snapshot du système
- transmission du fichier snapshot sur le poste de quelqu'un d'autre
- navigation à travers l'IHM de YAPM dans le premier système de manière transparente (comme si c'était YAPM qui tournait sur un système local)

@+

 Ajouter un commentaire


Discussions en rapport avec ce code source dans le forum

Pourcentage d'un processus thread ou process CPU [ par DavidT ] Comme le gestionnaire de tache, il existe la possibilité de de visualiser sur un système NT la mémoire physique consommée par un process déterminé par Tester présence d'un process + tester fin d'un process [ par lionel4 ] Voila je cherche deux trucs. Un code pour tester si un processus est en cours, et un autre pour detecter la fin d'un processus.Merci !Lionel4 - Débuta lancer une appli à distance avec winmgmts [ par centralvince ] Voilà, j'ai réussi à lancer un processus à distance comme cela :Set process = GetObject("winmgmts:{impersonationLevel=impersonate}!//ordianateur_dista Process et threads en .NET [ par mastercatz ] Je voulais savoir comment on peut detecter la création d'un processus. Par exemple, dans mon prog a un moment il est question d'enregistrer le PID d'u Kill un process bien definie [ par ImmortalPC ] Salut,D&#233;j&#224; sachez que je connais tr&#232;s peu le VB.Ma question est comment tuer un processus bien definie?Pour l'exemple le processus sera Processus et Windows CE [ par tfrancais ] Est-ce qu'il est possible de contr&#244;ler le nombre de scession pour une applications sous Windows CE comme on peut le faire sous Windows avec ces q URGENT : LANCER UN PROCESSUS WINDOWS QUI S'EST ARRETE [ par dark_muse ] Bonjour &#224; tous !!Je suis encore d&#233;butante en vb mais y'a un d&#233;but &#224; tout hein !!Alors voil&#224;. Je voudrai trouver quelque chose Problème sur API OpenProcess [ par violent_ken ] Violent Ken Bonjour, je cherche à récupérer des informations sur les processus lancés. J'utilise donc les API Openprocess, EnumPro Monitoring process [ par fdthierry ] Bonjour, J'ai une application qui est lancer par un exe, cet exe lance utilise java.exe Je dois monitorer le java.exe.Aucun soucis si je le lance une Terminer Processus fils (child Process) [ par davidauche ] Bonjour,Svp, j'aime killer un child process en VB6. A est le processus de départDe A je cree un nouveau processus B (donc je connais son hWnd via la p


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2010
LMMJVSD
1234567
891011121314
15161718192021
22232425262728

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales