0

WriteProcessMemory ne fonctionne pas pour moi car j'obtiens une erreur d'accès refusé.Accès refusé pour WriteProcessMemory

Je lance actuellement le processus en utilisant:

CreateProcess (wcImageName, wcCommandLine, NULL, NULL, FALSE, DEBUG_PROCESS, NULL, NULL, & stStartupInfo, & stProcessInfo); Comment puis-je modifier ceci pour obtenir un accès en écriture? Je lance ce processus sur la même machine. Comment puis-je obtenir un accès en écriture sans fournir de nom d'utilisateur et de mot de passe?

Merci, Logan

+0

Vous ne savez pas si DEBUG_PROCESS est suffisant. Apparemment non. La méthode normale est OpenProcess(), demandant l'accès PROCESS_VM_WRITE. C'est une demande hautement privilégiée. –

+0

Un débogueur lance le débogueur en utilisant 'DEBUG_PROCESS' ou' DEBUG_ONLY_THIS_PROCESS' et aurait le droit de lire et d'écrire dans la mémoire de debuggee. – Ajay

Répondre

0

Assurez-vous que vous appelez WriteProcessMemory avec poignée correcte et dans la boucle du débogueur. Vous pouvez lire this article. Lorsque vous créez un processus, vous avez tous les droits - et lorsque vous lancez avec DEBUG_PROCESS ou DEBUG_ONLY_THIS_PROCESS vous avez plus de droits!

+0

Merci! Après avoir suivi quelques étapes à partir des articles, j'ai été en mesure de résoudre l'erreur. J'ai également obtenu une réponse similaire à partir de ce forum: http://social.msdn.microsoft.com/Forums/en-US/vclanguage/thread/8886331f-bbc5-4225-8df9-775159d0305f – Logan