Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: AlxSpy en 13 Junio 2011, 17:45 pm



Título: [DUDA] abrir un proceso de usuario (OpenProcess) VB 6.0
Publicado por: AlxSpy en 13 Junio 2011, 17:45 pm
hice un codigo para buscar datos en la memoria de un proceso, uso el OpenProcess y la constante PROCESS_ALL_ACCESS, lo he ejecutado con varios procesos y anda bien, ahora quise probarlo con el juego StarCraft, al ejecutar este juego me fijo en el taskmgr en la columna donde dice si es un proceso "SYSTEM" o "serivcio de red" o "usuario"  dice que es proceso "usuario" pero no puedo abrir el proceso.


Título: Re: [DUDA] abrir un proceso de usuario (OpenProcess) VB 6.0
Publicado por: ThunderCls en 14 Junio 2011, 18:23 pm
Puede que te falte establecer privilegios de depuracion a tu aplicacion.
Creo que con esto tendras:

http://foro.elhacker.net/programacion_visual_basic/source_conseguir_privilegios_adjusttokenprivileges-t199668.0.html;msg948415

saludos


Título: Re: [DUDA] abrir un proceso de usuario (OpenProcess) VB 6.0
Publicado por: AlxSpy en 16 Junio 2011, 01:34 am
graxias, copie el codigo del post en un modulo .bas y llamo a esa funcion de esta manera:

Código
  1. Private Sub Form_Load()
  2.    ObtenerPrivilegios SE_DEBUG_NAME
  3. End Sub
  4.  

pero no puede abrir el proceso ¿algo hice mal?, mi SO es windows 7 ¿sera este el problema?,el taskmgr si puede cerrar el proceso con facilidad , estuve revisando algo acerca del comando schtasks y tambien estoy que busco lo del AdjustTokenPrivileges.

mi cuenta de usuario es la unica y principal.


Título: Re: [DUDA] abrir un proceso de usuario (OpenProcess) VB 6.0
Publicado por: ThunderCls en 16 Junio 2011, 17:09 pm
graxias, copie el codigo del post en un modulo .bas y llamo a esa funcion de esta manera:

Código
  1. Private Sub Form_Load()
  2.    ObtenerPrivilegios SE_DEBUG_NAME
  3. End Sub
  4.  

pero no puede abrir el proceso ¿algo hice mal?, mi SO es windows 7 ¿sera este el problema?,el taskmgr si puede cerrar el proceso con facilidad , estuve revisando algo acerca del comando schtasks y tambien estoy que busco lo del AdjustTokenPrivileges.

mi cuenta de usuario es la unica y principal.

Pues no se en realidad que estaras haciendo, pero con el codigo que te puse anteriormente a mi me va de maravillas. Te pongo un codigo de ejemplo con el que consigo abrir un proceso SYSTEM  ;D
Copia el codigo anterior en un modulo, inserta dos botones en el formulario y luego copia este codigo:

Código
  1. Private Declare Function OpenProcess Lib "Kernel32.dll" (ByVal dwDesiredAccessas As Long, ByVal bInheritHandle As Long, ByVal dwProcId As Long) As Long
  2. Private Declare Function CloseHandle Lib "kernel32" (ByVal hObject As Long) As Long
  3. Const PROCESS_ALL_ACCESS = &H1F0FFF
  4.  
  5. Private Sub Command1_Click()
  6.   ObtenerPrivilegios SE_DEBUG_NAME
  7. End Sub
  8.  
  9. Private Sub Command2_Click()
  10.   Dim hOpen As Long
  11.  
  12.   hOpen = OpenProcess(PROCESS_ALL_ACCESS, 0&, 800) ' // Abrimos el proceso por su PID
  13.                                                    ' // Cambia el "800" por el PID del proc que quieras
  14.   If hOpen = 0 Then
  15.     MsgBox "No abrio el proceso", vbCritical, "Error", 0, 0
  16.   Else
  17.     MsgBox "Se abrio el proceso", vbInformation, "Correcto", 0, 0
  18.   End If
  19.  
  20.   CloseHandle (hOpen)
  21. End Sub

Veras que si le das al boton2 antes que al boton1 te dara error, pues no tienes los privilegios activados, una vez los ajustes, te saldra el cartel de correcto.
saludos



Título: Re: [DUDA] abrir un proceso de usuario (OpenProcess) VB 6.0
Publicado por: AlxSpy en 17 Junio 2011, 18:15 pm
gracias.