2009-07-20 5 views
2

Il existe un clignotement et un clignotement (liaison avant et liaison descendante) pour une liste de processus à double liaison. Il y a un identifiant de processus. Tout cela est compressé dans une structure référencée comme PEPROCESS ou _KPROCESS. Mais où sont-ils et quels sont les autres éléments de cette structure?Descripteur de processus Windows

Ou, si la réponse n'est ni courte ni simple, où peut-on trouver des références sinon dans la documentation ou dans les fichiers d'en-tête? (Ce qui est l'endroit que je regardais et probablement oublié quelque chose.)

Répondre

2

EPROCESS reference

La structure EPROCESS est une structure opaque qui sert de l'objet processus pour un processus.

Certaines routines, comme PsGetProcessCreateTimeQuadPart, utilisez EPROCESS pour identifier le processus de opérer. Les conducteurs peuvent utiliser le routine PsGetCurrentProcess pour obtenir un pointeur vers l'objet de processus pour le processus en cours et peuvent utiliser le routine ObReferenceObjectByHandle à obtenir un pointeur vers l'objet de processus qui est associé à la spécifié poignée. La variable globale PsInitialSystemProcess pointe vers le processus objet pour le processus système.

Notez qu'un objet de processus est un objet Gestionnaire d'objets . Les pilotes doivent utiliser les routines Object Manager telles que ObReferenceObject et ObDereferenceObject pour conserver le nombre de références de l'objet .

Cela signifie que vous ne devriez pas vous préoccuper de ce que sont les membres d'une structure de processus. Néanmoins, il existe des sources qui détaillent la disposition de la structure du processus. Ce book a une description plus détaillée des membres individuels

+0

En fait, je ne peux pas être entièrement d'accord avec vous sur le poi nt de "besoin de savoir", par curiosité. Merci encore. –

0

La structure EPROCESS est documentée dans les symboles de débogage de Windows. Lorsque vous êtes connecté à un noyau avec windbg, en supposant que les symboles de débogage sont correctement configurés, l'exécution de la commande "dt nt! _EPROCESS" devrait vous donner la structure de la structure EPROCESS spécifique à la version du noyau auquel vous êtes attaché. à.

0

La structure EPROCESS est particulièrement opaque et ne peut être trouvée que par construction, en examinant les types de données exportés par les symboles de débogage de construction.

vous pouvez donc faire ce qui suit:

  1. Télécharger volatilityhere
  2. Run volatility sur une de leurs décharges mémoire d'échantillons ou de votre propre décharge si vous voulez.
  3. Utilisation de la volshell.plug-in py, exécutez

    dt('_EPROCESS')

Cela produirait une sortie de la structure de EPROCESS et diverses autres structures dans le noyau Windows

ou vous pouvez simplement voir le contenu de la structure here

This peut également s'avérer utile

+0

bien sûr, il y a aussi d'autres débogueurs –

Questions connexes