2009-03-08 6 views
2

Par un handle de processus spécifique déjà donné, comment puis-je continuer à chercher un mot-clé spécifique (octets, ints (2 octets), texte (un tableau)) dans sa mémoire en VC++?C++: Recherche dans la mémoire de process

+0

Pouvez-vous recadrer la question? Les mots clés n'existent pas après la compilation du programme. – dirkgently

Répondre

3

Je suppose que vous voulez numériser dans la mémoire brute d'un autre processus. Par définition, les processus sont et doivent être isolés les uns des autres et ont des espaces adresses totalement indépendants (votre adresse 0x06573AF8 contient quelque chose de complètement différent de l'adresse correspondante dans l'espace adresse d'un autre processus).

Cependant, il existe plusieurs façons de contourner ce problème: dans Windows, la réponse classique consiste à écrire une DLL spécifique que vous injectez ensuite dans l'espace d'adressage de l'autre processus. Jetez un oeil à CodeProject for some hands-on advice, ou un peu plus généralement, wikipedia.

3

La méthode la plus simple consiste probablement à utiliser ReadProcessMemory. Envisagez également d'utiliser WinDbg - il a déjà exactement cette fonctionnalité.