Accès à la mémoire WdbgExts
Cette rubrique fournit une brève vue d’ensemble de la façon dont l’accès à la mémoire peut être effectué à l’aide de l’API WdbgExts. Pour obtenir une vue d’ensemble de l’accès à la mémoire dans le moteur du débogueur, consultez Mémoire dans la section Vue d’ensemble du moteur du débogueur de cette documentation.
Mémoire virtuelle
La mémoire virtuelle de la cible peut être lue à l’aide de la fonction ReadMemory et écrite à l’aide de la fonction WriteMemory . Les pointeurs dans la mémoire de la cible peuvent être lus et écrits à l’aide des fonctions ReadPointer, ReadPtr et WritePointer .
Pour rechercher un modèle d’octets dans la mémoire virtuelle, utilisez la fonction SearchMemory .
La fonction TranslateVirtualToPhysical peut être utilisée pour convertir une adresse de mémoire virtuelle en adresse de mémoire physique.
La fonction Disasm peut être utilisée pour désassembler une instruction d’assembly unique sur la cible.
Pour case activée la faible quantité de mémoire de 4 Go en cas d’altération lors de l’utilisation de l’extension d’adresse physique (PAE), utilisez l’opération IoctlIG_LOWMEM_CHECK.
Mémoire physique
La mémoire physique n’est accessible directement que dans le débogage en mode noyau.
La mémoire physique sur la cible peut être lue à l’aide des fonctions ReadPhysical et ReadPhysicalWithFlags , et écrite à l’aide des fonctions WritePhysical et WritePhysicalWithFlags .
Pour rechercher dans la mémoire physique des pointeurs vers des emplacements dans une plage spécifiée, utilisez l’opération IoctlIG_POINTER_SEARCH_PHYSICAL.
Autres espaces de données
Dans le débogage en mode noyau, il est possible de lire et d’écrire des données dans divers espaces de données en plus de la mémoire main. Les espaces de données suivants sont accessibles :
Mémoire de l’espace de contrôle
Les fonctions ReadControlSpace, ReadControlSpace64, ReadTypedControlSpace32 et ReadTypedControlSpace64 lisent les données d’un espace de contrôle. La fonction WriteControlSpace écrit des données dans un espace de contrôle.
Mémoire d’E/S
Les fonctions ReadIoSpace, ReadIoSpace64, ReadIoSpace64, ReadIoSpaceEx64 lisent les données de la mémoire d’E/S système et de la mémoire d’E/S du bus. Les fonctions WriteIoSpace, WriteIoSpace64, WriteIoSpaceEx et WriteIoSpaceEx64 écrivent des données dans la mémoire d’E/S système et la mémoire d’E/S du bus.
Registre spécifique au modèle (MSR)
Les fonctions ReadMsr et WriteMsr lisent et écrivent des fichiers MSR.
Bus système
Les opérations IoctlIG_GET_BUS_DATA et IG_SET_BUS_DATA lire et écrire des données de bus système.
Informations supplémentaires
Pour obtenir une API d’accès à la mémoire plus puissante, consultez Accès à la mémoire dans la section Utilisation de l’API du moteur de débogueur de cette documentation.