Sabes si un proceso es de sistema o no
Hola amigos, mi pregunta es la siguiente.
Necesito obtener la lista de procesos que se estan ejecutando en el sistema y poder obtener tambien el privilegio que tiene cada uno. O sea saber si un proceso corre como sistema o como el usuario que esta actualmente logueado. Uso Delphi 7 y Windows 7. Alguna idea ? |
Ninguna respuesta !. Por favor necesito ayuda !
|
Amigo fide_uci, te recuerdo nuestra guía de estilo, gracias.
No hace ni tres horas que has puesto la pregunta, aquí no hay nadie de guardia trabajando, ni cobrando tampoco, evidentemente. Es sábado, fin de semana, la mayor parte de la gente no accede al ordenador. Si necesitas ayuda sobre ese tema, de momento, te recuerdo que tenemos una opción "Buscar" donde podrás encontrar lo que buscas. Además, en nuestro FTP, hay incluso programas completos que trabajan con los datos que tú estás buscando. Date una vuelta por allí y mira si lo encuentras. Gracias. |
Ajaja Casimiro disculpame. Es que a veces uno anda desesperado buscando una solucion y bueno se presipita. Disculpame voy a ser mas cuidadoso con estos detalles.
Un saludo.. |
|
A ver primero que todo muchas gracias. Pero bueno en verdad ya yo se como obtener la lista de procesos en ejecucion. Lo que en verdad busco es como saber en que ambito se ejecuta cada proceso. Si es como usuario y como sistema.
|
Ejemplo:
Saludos. |
WoW, es justo lo que necesito. Voy a probarlo ahora mismo y en cuanto lo pruebe te digo pero se ve exacto a lo que me hace falta. Gracias desde ya escafandra.
|
Uff lo probe y es exactamente lo que necesitaba. Todo es por que hay un virus que ejecuta el proceso svchost como usuario y entonces necesito obtener el svchost que se ejecute como usuario para poder tumbarlo de la memoria y deshacer todos los cambios que el virus ejecuta sobre el sistema.
|
:confused::confused::confused::confused::confused::confused: ¿Y por qué no quitas el virus?
|
Y yo añadiría: ¿y por qué no ves quién es el usuario en la lista de procesos de windows (ctrl+alt+supr)?
// Saludos |
Tienes una utilidad muy buena para sustituir al TaskManager, el Process Explorer v15.04 de Systernals que te informa de lo que buscas para localizar tu virus. Te dice también la ruta desde la que se ejecutó cada proceso con lo que localizas con facilidad al intruso.
Saludos. |
Releyendo me he dado cuenta de que el anterior código que publiqué contiene un error de princiapiante (las prisas:p). Localizo memoria pero no la libero...:o
Como no puedo editarlo, lo republico dejando la chapuza previa.
Saludos. |
Hola.
Sólo por curiosidad, ayer estuve probando una función que encontré buscando en la web, para obtener el dominio y nombre. Pero aunque obtengo el dominio y nombre del usuario, me muestra cadena vacía cuando el nombre se trata de usuario es 'SYSTEM' o 'SERVICIO LOCAL'. Agrego la prueba que hice, por si alguien sabe el por qué no muestra esos datos. Algo se me esta escapando y no sé que es... :rolleyes: Un saludo. Edito: La aplicación consta de un TButton y un TListBox solamente. |
No he probado ese código, pero quizás se solucione dando privilegios debug a la aplicación.
Saludos. |
Cita:
Saludos. |
Bueno primero que todo muchas gracias a todas las personas que me han ayudado. Les digo que mi programa deberia ser capaz de leer el registro de windows en busca de una clave. Si dicha clave existe entonces deberia leer otra clave del registro y eliminar dichas claves asi como el virus que se guarda en %Windir%\svchost.exe
Para poder hacer todo esto yo necesitaba tumbarlo de la memoria ya que estaba en ejecucion. Es por ello que estuve pidiendo la informacion mencionada antes. A proposito el virus que menciono, al 6to reinicio de la PC despues de que el la infecta, te jode los discos duros poniendole ATA Password y dejandolo bloqueado, siendo imposible de desbloquear de forma comun. |
Cita:
Cita:
Saludos. |
Si entiendo. Bueno pues el muy descarado que te digo se guarda en la carpeta Windows (C:\Windows) y no se pone oculto ni nada. Lo que si a las 6 veces te deja el disco inserbible, a las 6 veces de reiniciar la PC desde que el se instalo por primera vez.
|
Aunque el objetivo de este tema está cumplido, me gustaría añadir algo.
No he terminado de estar contento con la función que expuse para obtener el usuario y dominio de un proceso. El motivo es que no se obtienen los datos de todos los procesos cuando éstos son de mas de un usuario y sobre todo si se ejecuta como usuario no administrador por un problema de privilegios en la API OpenProcessToken. He implementado otra función con APIs menos conocidas que evitan el uso de la anterior:
El ejemplo de uso es sencillo:
Ahora si, conseguimos los datos de todos los procesos con una excepción, el proceso que corresponde a un Pid = 0 que todos sabemos que es el proceso inactivo del sistema ([System Process]) cuyo usuario es SYSTEM y el dominio NT AUTHORITY Espero que sea de utilidad. Saludos. |
La franja horaria es GMT +2. Ahora son las 03:03:51. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi