. Je ne suis pas sûr qu'un processus puisse directement en modifier un autre, même s'il y a filiation et qu'il est lancé sous l'identité du même utilisateur. Techniquement, le cloisonnement doit s'appliquer quand même
Pour utiliser assez souvent un débogueur sous Windows sans forcément être root, je te confirme que tu peux modifier l'espace mémoire d'un process qui t'appartient. Et c'est pareil sous linux : pas besoin d'être root pour lancer gdb sur un process à soi.
Je crois que la documentation à ce sujet sous Windows est là pour le principe général et là pour le fait que la création d'un process permette dans le cas général de modifier sa mémoire aux autres process du même user. J'ai bien dit "je crois", car ça dépasse largement mes connaissances et ne prétends pas tout comprendre aux articles donnés. La même documentation explique les cas qui ne fonctionnent pas : les process protégés par l'UAC et les process créés avec un contexte de sécurité plus élevés, utilisés notamment pour tout ce qui est DRM.
En plus, il faudrait mapper les deux processus dans des plages distinctes du plan mémoire.
Pas besoin de mapper le 2nd processus, il suffit d’accéder à la mémoire via des fonctions dédiées : ReadProcessMemory et WriteProcessMemory notamment.
[^] # Re: Patch à la volée
Posté par NicolasP . En réponse au journal Il y a de grand malade sur Terre.... Évalué à 1.
Pour utiliser assez souvent un débogueur sous Windows sans forcément être root, je te confirme que tu peux modifier l'espace mémoire d'un process qui t'appartient. Et c'est pareil sous linux : pas besoin d'être root pour lancer gdb sur un process à soi.
Je crois que la documentation à ce sujet sous Windows est là pour le principe général et là pour le fait que la création d'un process permette dans le cas général de modifier sa mémoire aux autres process du même user. J'ai bien dit "je crois", car ça dépasse largement mes connaissances et ne prétends pas tout comprendre aux articles donnés. La même documentation explique les cas qui ne fonctionnent pas : les process protégés par l'UAC et les process créés avec un contexte de sécurité plus élevés, utilisés notamment pour tout ce qui est DRM.
Pas besoin de mapper le 2nd processus, il suffit d’accéder à la mémoire via des fonctions dédiées : ReadProcessMemory et WriteProcessMemory notamment.