![]() |
Problemas al asignar privilegios a mi proceso
Buenas amigos, sigo con mi proyecto del debugger y alguien me dijo que podria ser problema de que el proceso que hace de debugger no puede tener los mismos privilegios que el proceso depurado y por eso no me deja poner bps y la funcion WriteProcessMemory falla.
Me dijo que para darle privilegios podria hacer algo asi: Código PHP:
Código PHP:
Me gustaria asegurarme de que se le ha dado los privilegios a mi aplicacion pero no se como hacerlo y no veo nada por la red. Lo unico que he encontrado es esta funcion y la verdad es que no se bien lo que hace y me muestra muchos mensajes con varios tipos de privilegios: Código PHP:
Gracias por adelantado |
|
Con ella puedo ver los privilegios, dárselos, o qué hago con ella?
|
Cita:
En general para escribir en la memoria de otro proceso tienes que tener privilegio igual o mayor . Con privilegios debug alcanzas casi a cualquier proceso. Para escribir en procesos System, necesitas correr tu aplicación como System. Si te falla, estudia primero el mensaje de errir pata saber donde fallas. Saludos. |
Una cosa importante a la hora usar WriteProcessMemory y ReadProcessMemory que es obvio pero quiero comentar es que un proceso compilado para 32bits en principio no puede leer ni escribir en la memoria de otro de 64 bits, pero el camino contrario si es correcto. Esto se debe a incompatibilidad del tamaño de los punteros.
Mira a ver si este es tu caso. Saludos. |
Las dos aplicaciones las hice yo con C++builder 6, tanto el debugger como el que uso para probarlo, y son de 32 bits. Si miro con Process Explorer veo esto antes de ejecutar el código que modifica los privilegios:
https://ibb.co/JBxXVwL Y una vez ejecutada la función que me da los privilegios no ha cambiado absolutamente nada pero creo que es simplemente porque ya los tengo de entrada ¿no? Entonces, si esto está bien, ¿lo siguiente es usar GetLastError después de intentar escribir en el proceso y ver que me dice? |
Comento que al final no hubo ningún problema al asignar esos privilegios en windows XP y era otro tema diferente el que me estaba dando problemas, simplemente que mi código estaba mal y sin darme cuenta desacia lo que en un principio hacia.
Lo que si me he dado cuenta que en Windows 10 me da error al intentar asignar ese privilegio a mi aplicación porque dice que no se encuentra el token. ¿Alguien me lo puede explicar? |
Cita:
Saludos. |
Cita:
No se como asignas privilegios pero deberías hacerlo siguiendo este método que funciona en todos los windows: Para el proceso actual: Código PHP:
Por similitud, para cualquier proceso: Código PHP:
Nota: No usa Unicode Saludos. |
La franja horaria es GMT +2. Ahora son las 04:57:58. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi