Bonjour,
Dans un programme que je developpe je souhaiterai pouvoir lire la memoire d'un autre processus, mais plusieurs fonctions me retourne des ERROR_ACCESS_DENIED.
Tout d'abord, je recherche mon processus avec les fonctions Process32First et Process32Next. Je trouve le processus dont je veux lire la memoire. Mais on me dit que je n'ai pas les droits d'acces quand j'execute le code suivant:
En revanche si a la place de PROCESS_ALL_ACCESS, j'indique PROCESS_TERMINATE la fonction reussit et me retourne un handle. Par contre l'execution du code suivant me retourne la meme erreur, a savoir ERROR_ACCESS_DENIED.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 HANDLE hProcess = OpenProcess(PROCESS_ALL_ACCESS, true, pe32.th32ProcessID);
Je ne comprends pas pourquoi il me retourne cette erreurs. Je developpe sous Visual Studio 2008 avec Windows XP SP3. Mon compte appartient au groupe administrateur.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 OpenProcessToken(hProcess, TOKEN_ADJUST_PRIVILEGES | TOKEN_QUERY, &hToken);
J'ai essayer de trouver des informations sur le net, mais ca n'a rien donner. Notamment certains sites parle du groupe utilisateur 'Debugger Users group', d'autres sites disent que ce n'est plus en vigueur.
Quelqu'un peut il m'aider ?
Partager