La respuesta es a través de Volatility .
Process Explorer
solo puede ver / encontrar los procesos que están en la lista de procesos que es una lista con doble enlace que se encuentra en algún lugar de la memoria. Process Explorer conoce la ubicación del primer nodo (o tiene un puntero a uno de los nodos) y desde ese nodo, recorre la lista y encuentra los procesos "no ocultos".
El programador de tareas no usa esta lista para programar tareas, en lugar de eso usa otra lista (debería ser una lista de hilos).
Sin embargo, cuando un proceso se oculta, simplemente elimina sus enlaces al nodo anterior y siguiente y permanece en la memoria hidden
. Ya que solo se elimina de la lista de procesos y no de la lista de hilos, continuará ejecutándose sin ser visible.
Cada proceso tiene una estructura de clase específica como una clase simple c
con muchos parámetros.
La volatilidad busca en toda la memoria y encuentra process class
estructuras en la memoria, así como en la lista de enlaces dobles (que es la lista de procesos).
Entonces, la salida es todos los procesos en la memoria, incluidos los procesos currect
, killed
y hidden
.
Tenga en cuenta que estaba buscando un programa más fácil para los procesos ocultos, pero como no podía ver la volatilidad en la respuesta, sentí que estaba obligado a responder.