Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: el_doctor en 1 Diciembre 2014, 15:32 pm



Título: Función equivalente a QueryFullProcessImageName para win XP
Publicado por: el_doctor en 1 Diciembre 2014, 15:32 pm
Hola, alguien sabe de una función que sea equivalente a la función QueryFullProcessImageName pero que su requerimientos mínimos para el sistema sea windows XP ya que esta función no es soportada en windows XP.
Buscando en la documentación de Microsoft encontré la función GetProcessImageFileName pero el problema es la forma en que retorna el path ya que esta función lo retorna en forma de dispositivo no en forma de unidad. Por ejemplo para el proceso del explorer la función QueryFullProcessImageName el retorno es: "C:\\Windows\\explorer.exe"; en cambio la función GetProcessImageFileName lo retorna de la forma: "\\Device\\HarddiskVolume2\\Windows\\explorer.exe" y de esta forma no me sirve.
Y el problema que necesito que la función como parámetro le envíe un process handle


Título: Re: Función equivalente a QueryFullProcessImageName para win XP
Publicado por: Eternal Idol en 1 Diciembre 2014, 15:53 pm
GetModuleFileNameEx con NULL como segundo parametro.


Título: Re: Función equivalente a QueryFullProcessImageName para win XP
Publicado por: el_doctor en 1 Diciembre 2014, 16:18 pm
use la función GetModuleFileNameEx pero no me retorna nada y es con el mismo proceso que había probado no se si he hecho algo mal.

Código
  1. TCHAR lpFileName[MAX_PATH];
  2.  
  3. ZeroMemory(&lpFileName, sizeof(lpFileName));
  4.  
  5. GetModuleFileNameEx(hProcess, NULL, lpFileName, sizeof(lpFileName)/sizeof(*lpFileName))
  6.  


Título: Re: Función equivalente a QueryFullProcessImageName para win XP
Publicado por: x64core en 1 Diciembre 2014, 16:44 pm
use la función GetModuleFileNameEx pero no me retorna nada y es con el mismo proceso que había probado no se si he hecho algo mal.

Código
  1. TCHAR lpFileName[MAX_PATH];
  2.  
  3. ZeroMemory(&lpFileName, sizeof(lpFileName));
  4.  
  5. GetModuleFileNameEx(hProcess, NULL, lpFileName, sizeof(lpFileName)/sizeof(*lpFileName))
  6.  

Código:
    TCHAR lpFileName[MAX_PATH+1];

    ZeroMemory(lpFileName, sizeof(lpFileName));

    GetModuleFileNameEx(hProcess, NULL, lpFileName, sizeof(lpFileName) / sizeof(lpFileName[0]));


Fijate en la documentación de GetModuleFileNameEx el handle debe tener un determinado acceso al proceso para que eestá función retorne la información.

EI:  ;D


Título: Re: Función equivalente a QueryFullProcessImageName para win XP
Publicado por: Eternal Idol en 1 Diciembre 2014, 17:01 pm
Return value
If the function succeeds, the return value specifies the length of the string copied to the buffer.
If the function fails, the return value is zero. To get extended error information, call GetLastError.

GetModuleFileNameEx function (http://msdn.microsoft.com/en-us/library/windows/desktop/ms683198%28v=vs.85%29.aspx).


Título: Re: Función equivalente a QueryFullProcessImageName para win XP
Publicado por: el_doctor en 1 Diciembre 2014, 18:42 pm
Gracias Eternal Idol problema resuelto no consideraba el valor de retorno.



Gracias a todos...  ;D


Título: Re: Función equivalente a QueryFullProcessImageName para win XP
Publicado por: x64core en 1 Diciembre 2014, 18:43 pm
De nadas  ::)


Título: Re: Función equivalente a QueryFullProcessImageName para win XP
Publicado por: Eternal Idol en 1 Diciembre 2014, 18:52 pm
Gracias Eternal Idol problema resuelto no consideraba el valor de retorno.

De nada  :)