no me refiero a este zombi, pero pensé que podría contribuir alguna información útil
Si desea ocultar una aplicación hay un dos métodos (que se me ocurre atm).
Ambos tienen sus altibajos
[1] SSDT Tabla enganchando - básicamente lo que tiene que establecer el MDL de la mesa para que permitan la escritura, sobrescribir la dirección de NtQuerySystemInformation
(IIRC) con la dirección de su función y hacer que llame a la función original después de filtrar los resultados.
Este método no se adapta muy bien a sus necesidades porque la función de enganche siempre tendría que estar en la memoria e implicaría escribir un controlador de modo kernel. Es divertido, pero la depuración es un problema porque una excepción es un BSOD.
[2] directa del núcleo Manipulación de objetos (DKOM) - la lista de procesos es una lista doblemente enlazada, con un controlador en modo kernel que puede alterar los punteros de los registros encima y por debajo de su proceso de señalar la suya alrededor. Esto aún requiere el uso de un controlador de modo kernel, pero existen rootkits como FU que se pueden descargar fácilmente que contienen un exe y el servicio. El ejecutable se podía llamar desde el interior de la aplicación como un proceso secundario (en la versión de FU publicada, al menos la que encontré, había un error que tuve que corregir donde, si la aplicación oculta salía de la computadora, tenía BSOD, era una solución trivial).
Esto le afortunadamente ser capturado por casi cualquier antivirus decente así que si usted está tratando de hacer algo astuto que tendrá que aprender a conseguir alrededor de eso (pista: utilizan una firma binaria)
No he utilizado método 1 pero el método 2 me ha funcionado desde una aplicación VB.Net.
Una tercera opción posible es simplemente crear la aplicación como un servicio de Windows, esto aparecerá en el administrador de tareas por defecto, pero estoy dispuesto a apostar que hay una manera de decir que no aparezca allí ya que hay muchos otros servicios que no se muestran en el administrador de tareas.
Espero que haya ayudado un poco, mi consejo es que si usted está interesado en este tipo de cosas para aprender C++.
¿Por qué le gustaría hacer algo como esto? –
No sé la respuesta, pero si lo hiciera, me inclinaría a preguntar acerca de sus razones para hacerlo antes de explicar cómo hacerlo. –
sí, existe: no lo inicie – RaYell