Descriptor de proceso de Windows
-
18-09-2019 - |
Pregunta
Hay una Flink y Blink (Forward Link y Enlace hacia atrás) para obtener una lista de doble enlazada de procesos. Hay un identificador de proceso. Todo esto se presenta en una estructura que se hace referencia como PEPROCESS o _KPROCESS. Pero ¿dónde están los que son y lo que los demás elementos de esta estructura?
O, si la respuesta no es ni corto ni sencillo, ¿dónde se puede encontrar referencias si no en los archivos de documentación o de cabecera? (¿Cuál es el lugar que se veía y probablemente algo por alto.)
Solución
La estructura EPROCESS es una opaco estructura que sirve como el proceso de objeto para un proceso.
Algunas rutinas, tales como PsGetProcessCreateTimeQuadPart, el uso EPROCESS para identificar el proceso de operar en. Los conductores pueden utilizar el PsGetCurrentProcess rutina para obtener un puntero al objeto proceso para el proceso actual y puede utilizar la ObReferenceObjectByHandle rutina de obtener un puntero al objeto proceso que está asociado con el especificado encargarse de. el PsInitialSystemProcess puntos variables globales en el proceso de Objeto para el proceso del sistema.
Tenga en cuenta que un objeto de proceso es una objeto Administrador de objetos. Los conductores deben el uso de objetos tales como rutinas de Administrador ObReferenceObject y ObDereferenceObject para mantener la contador de referencia del objeto.
Esto significa, que usted no debe preocuparse por lo que los miembros de una estructura del proceso son. Sin embargo hay fuentes que detalle el diseño de la estructura del proceso.
libro tiene una lo que el individuo más detalle en la descripción son miembros.
Otros consejos
La estructura EPROCESS está documentado en las ventanas de depuración símbolos.
Mientras está conectado a un núcleo con windbg, suponiendo que tiene los símbolos de depuración establecidos correctamente, el comando "DT nt! _EPROCESS" debe darle el diseño de la estructura EPROCESS específicos de la versión del kernel que está conectado a .
La estructura EPROCESS son especialmente opaco y sólo se puede encontrar por acumulación, mediante el examen de los tipos de datos exportados por símbolos acumulación de depuración.
Por lo que podría hacer lo siguiente:
- volatility href="https://www.volatilesystems.com/default/volatility" rel="nofollow"> aquí
-
volatility
Ejecutar en uno de su memoria de muestras vertederos o en su propio vertedero si querría. -
Uso del plug-in volshell.py, ejecute
dt('_EPROCESS')
Esto produciría una salida de la estructura de EPROCESS y varias otras estructuras en el núcleo de Windows
o usted podría ver el contenido de la estructura aquí
Este también podría resultar útil