Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > API de Windows
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-09-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
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..
Responder Con Cita
  #2  
Antiguo 11-09-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Gracias, amigo

No sé si lo que buscas puede ser esto.

EDITO: me equivoqué de enlace, está aquí.

Última edición por Casimiro Noteví fecha: 11-09-2011 a las 21:23:02.
Responder Con Cita
  #3  
Antiguo 12-09-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
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.
Responder Con Cita
  #4  
Antiguo 12-09-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Código Delphi [-]
function EnablePrivilege(name: String; Enable: boolean): boolean;
var
   hToken: Cardinal;
   priv: TOKEN_PRIVILEGES;
begin
   priv.PrivilegeCount:= 1;
   priv.Privileges[0].Attributes:= 0;
   if Enable then priv.Privileges[0].Attributes:= SE_PRIVILEGE_ENABLED;
   LookupPrivilegeValue(nil, PCHAR(name), priv.Privileges[0].Luid);
   OpenProcessToken(GetCurrentProcess, TOKEN_ADJUST_PRIVILEGES, hToken);
   AdjustTokenPrivileges (hToken, FALSE, priv, sizeof(priv), nil, PDWORD(nil)^);
   Result:= (GetLastError = ERROR_SUCCESS);
   CloseHandle (hToken);
end;

function GetProcessOwner(ProcessId: DWORD; var User, Domain: String): boolean;
var
  hToken, hProcess, cbBuf, UserSize, DomainSize: Cardinal;
  pSidUser: ^SID_AND_ATTRIBUTES;
  SidNU: SID_NAME_USE;
begin
  Result:= false;
  EnablePrivilege('SeDebugPrivilege', true);
  hProcess:= OpenProcess(PROCESS_QUERY_INFORMATION, false, ProcessId);
  if hProcess <> 0 then
  begin
    if OpenProcessToken(hProcess, TOKEN_QUERY, hToken) then
    begin
      GetTokenInformation(hToken, TokenUser, nil, 0, cbBuf);
      GetMem(pSidUser, cbBuf);
      GetTokenInformation(hToken, TokenUser, pSidUser, cbBuf, cbBuf);
      CloseHandle(hToken);
      UserSize:= 0;
      DomainSize:= 0;
      LookupAccountSid(nil, pSidUser.Sid, nil, UserSize, nil, DomainSize, SidNU);
      if (UserSize <> 0) or (DomainSize <> 0) then
      begin
        SetLength(User, UserSize);
        SetLength(Domain, DomainSize);
        Result:= LookupAccountSid(nil, pSidUser.Sid, PCHAR(User), UserSize, PCHAR(Domain), DomainSize, SidNU);
      end;
    end;
     CloseHandle(hProcess);
  end;
  EnablePrivilege('SeDebugPrivilege', false);
end;

Ejemplo:

Código Delphi [-]
var
  User, Domain: String;
begin
   GetProcessOwner(StrToInt(Edit1.Text), User, Domain);
   Label1.Caption := User;
   Label2.Caption := Domain;
end;


Saludos.

Última edición por escafandra fecha: 12-09-2011 a las 11:58:37.
Responder Con Cita
  #5  
Antiguo 12-09-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
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.
Responder Con Cita
  #6  
Antiguo 12-09-2011
Avatar de fide_uci
fide_uci fide_uci is offline
Miembro
 
Registrado: ene 2009
Ubicación: Cuba - La Habana
Posts: 226
Poder: 18
fide_uci Va por buen camino
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.
Responder Con Cita
  #7  
Antiguo 12-09-2011
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.669
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
¿Y por qué no quitas el virus?
Responder Con Cita
  #8  
Antiguo 12-09-2011
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.210
Poder: 22
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Cita:
Empezado por ecfisa Ver Mensaje
Supongo entonces que habría que agregarle la función que pusiste más arriba (EnablePrivilege), ¿ No es así ?
Eso es.

Cita:
Empezado por fide_uci Ver Mensaje
...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...
La ruta del virus seguro que es distinta a la del sistema. No hace mucho he lidiado con un virus de pendrive con el mismo nombre (svchost.exe) pero que se localiza en la ruta C:\Documents and Settings\USUARIO\Datos de programa. Toma atributos de oculto, de solo lectura y de sitema con lo que no lo puedes borrar con el explorador sin antes quitar el atributo de sistema y eliminar su proceso...

Saludos.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
¿No sabes Python? no hay problema... Chris Python 21 03-04-2011 06:41:51
Como sabes la IP del cliente con idTCPServer fide_uci Internet 1 13-11-2009 06:40:12
Si no sabes leer, éste es tu post... Gabo Humor 4 06-06-2008 00:15:27
20 cosas que no sabes sobre Google marcoszorrilla La Taberna 6 05-06-2008 20:30:35
¿Qué Tanto Sabes De La Vasectomía? gmontes Humor 4 10-12-2005 09:15:05


La franja horaria es GMT +2. Ahora son las 04:07:51.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi