![]() |
![]() |
| Paypal | FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
|||||||
| Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Buscar | Temas de Hoy | Marcar Foros Como Leídos |
![]() |
|
|
Herramientas | Buscar en Tema | Desplegado |
|
|
|
#1
|
||||
|
||||
|
El principal problema que tenia era obtener las rutas completas de cada proceso pero al final lo he conseguido hacer así:
Código PHP:
Código PHP:
¿Alguien me dice si hay algo que se me pasa? Funcionar funciona pero no se si hago algo que no deba. El dolor de cabeza mas grande fue obtener la ruta como ya dije ya que para que pueda hacerlo necesitaba psapi.lib y no pude encontrarlo pero si pude encontrar la dll y usar la funcion dinamicamente jejeje. Muchas gracias amigos. |
|
#2
|
||||
|
||||
|
Con la API GetModuleFileName o GetModuleFileNameEx obtienes lo que buscas. En tu caso precisas abrir el proceso conociendo su PID. para poder hacer eso necesitar ejecutar el programa como administrador. Para evitar eso, yo uso esta forma:
Código PHP:
Saludos. |
|
#3
|
||||
|
||||
|
¿Seguro que eso suelta el path completo? Es que es lo que hago para rellenar el listview con los nombres de procesos, id, id del que ejecuta al proceso, y mas cosillas pero yo no obtengo la ruta completa sino solo el nombre del proceso. Lo que de cabeza no puedo asegurar si uso el Module32First o otra que sele parezca ya que son acabadas en 32first y 32next. Tengo una duda, justo antes de empezar a leer los procesos le doy a mi proceso privilegios de debugger cambiando los token. Si no fuese administrador ¿Daria problemas y no obtendria esos privilegios? Mi aplicacion lo que hace es que lanza un servicio, el servicio cierra a mi aplicacion y lanza otra vez a mi aplicacion y se pausa y entonces mi aplicacion cierra al servicio. Con eso mi aplicacion se crea como system y puedo cargarme cualquier proceso de la lista y tambien ejecutar a otros procesos como system para asi hacer una escalada de privilegios. Esa es la idea.
|
|
#4
|
||||
|
||||
|
Ese código devuelve el Path completo con nombre del ejecutable buscado por su ID, sin necesidad de ejecutar como administrador.
Si lo ejecutas como SYSTEM no tendrás problemas pero si no es así, puedes no tener permisos para abrir procesos. Es bueno tener en mente ambos sistemas que por otra parte hacen lo mismo. Tu código puede tener un desbordamiento de buffer fácil al no pasar el tamaño del mismo y usar strcpy. Puedes pasar el tamaño y usar strncpy o resumirlo de esta otra forma pero siempre teniendo en cuenta ese importante detalle: Código PHP:
Saludos. |
|
#5
|
||||
|
||||
|
Va genial gracias. A ver si puedes contestarme a las dudas que comento.
|
|
#6
|
||||
|
||||
|
Quizás te interesen estos enlaces:
MiniSystem, una miniaplicación para ejecutar programas con privilegios SYSTEM Lanzar una aplicación GUI desde un servicio Saludos. |
|
#7
|
||||
|
||||
|
entonces ¿Este truco para escalar privilegios no serviria en win 7 y 8?
|
|
#8
|
||||
|
||||
|
Si sirve pero una ventana en modo SYSTEM no puede inreractuar con un usuario, ni ser vista, aunque la aplicación si se esté ejecutando.
Saludos. |
![]() |
| Herramientas | Buscar en Tema |
| Desplegado | |
|
|
Temas Similares
|
||||
| Tema | Autor | Foro | Respuestas | Último mensaje |
| Nombres de atributos de clase y nombres de propiedades | noob | OOP | 6 | 29-10-2012 16:05:30 |
| Modelado con ECO junto a Win32 | alexlm78 | Varios | 6 | 20-09-2007 14:45:07 |
| ...en la Vega, junto a una acequia.... | marcoszorrilla | La Taberna | 1 | 04-06-2007 22:24:41 |
| Empaquetar Bde Junto Al Proyecto? | amadis | Conexión con bases de datos | 6 | 05-09-2005 17:02:58 |
| ordernar nombres y evitar nombres repetidos en DBLookupComboBox | @-Soft | Conexión con bases de datos | 4 | 14-01-2004 16:30:51 |
|