Yet another process monitor

Description

Bonjour à tous,

YAPM (Yet Another Process Monitor) est un programme permettant d'entièrement gérer les processus et services de votre système.
Cà regroupe la quasi-totalité des fonctions utiles pour la gestion des processus.

Il est fortement basé (au niveau de l'interface de la vue détaillée et au niveau des fonctions disponibles) sur "Process Explorer" de sysinternals (Microsoft). Dans le résultat bien sur, pas le code (non dispo au passage).

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
  • License
  • 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...)
  • Recherche de string dans les handles/modules/services/processus ouverts/chargés
  • Récupération des infos sur un fichier + actions de base (changement dates/attributs...)
  • Préférences + vérification de MAJ online + auto download
  • Sauvegarde de rapports sur les processus/services/handles
  • Récupération online de la decription des processus + leur taux de dangerosité (basé uniquement sur le nom, pas sur leur MD5)


Fonctions additionnelles par rapport à taskmgr ou autre :
  • Gestion complète des threads (mais priorités un peu boguées^^)
  • Récupération des handles des processus
  • Gestion des fenêtres ouvertes par les processus
  • Gestion complète des modules
  • Emergency hotkeys (programmation de raccourcis d'urgence)
  • State Based Actions (règles programmables à activer en fonction de l'état des processus)
  • Vue des connexions TCP/UDP ouvertes par les processus
  • Sélection du processus associé à une fenêtre par drag & drop de la souris (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
  • Option 'Full power' (enable le debug privilege) qui permet de toucher aux processus système (maintenant par défaut)
  • 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 par thread
  • 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)
  • ....


Reste à faire pour terminer :
  • Récupération plus intelligente des chemins d'accès aux processus (notamment sous XP pour \C:\?\Windows....)
  • Fichier d'aide
  • Vue treeview pour le lien de parenté des processus


Complétion future :
  • Fiaiblité ++ (quelques petits bugs connus mais dont l'origine n'est pas encore identifiée)
  • Meilleure gestion des droits (YAPM doit nécessiter moins de droits, et proposer plus de fonctions pour les codes non admin)


Commentaires sur le code :
  • VB.Net avec Visual Studio 2008
  • Commenté, mais tout en anglais
  • Niveau expert


Réutilisation de code :

License
  • GNU GPL 3.0 pour l'ensemble du projet
  • Dll RibbonControl de Jose M. Menendez Poó (http://www.codeproject.com/KB/toolbars/WinFormsRibbon.aspx) sous license Microsoft Public License (Ms-PL)
  • Icones en Creative Commons
  • Certaines fonctions (2 ou 3, 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 ou DEBUG


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) mais 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 de pointeurs. C'est pas safe mais je suis obligé. Unmanaged memory.
  • Déclarations des fonctions API probablement assez foireuses pour certaines (héritage de code VB6 mal traduit).


Sourceforge :

La dernière version de ce code source est disponible ici : https://sourceforge.net/projects/yaprocmon/
Un setup avec l'exécutable est également disponible au même endroit : https://sourceforge.net/project/platformdownload.php?group_id=244697

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

Source / Exemple :


' A COMPILER EN RELEASE !

' La dernière version du code est disponible ici (SVN) :
' https://sourceforge.net/projects/yaprocmon/

' Visual Studio 2008 (au pire éditer le fichier solution, remplacer l'entête par une version antérieure.

Conclusion :


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 :-)

A compiler en mode release !

Distribuable en fichier zip.

La prochaine version sera une RC1 en download sur sourceforge !!

UTILISATION NON GARANTIE ! POTENTIELLEMENT EXTREMEMENT DANGEREUSE QUI PLUS EST. ATTENTION A LA FONCTION SBA (Stated Based Action), TOUJOURS SIMULER AVANT (touche F2) ET BIEN REFLECHIR AUX REGLES CREEES.

@+

Codes Sources

A voir également

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.