Existe-t-il un moyen de voir le contenu de la mémoire RAM? Du premier octet au dernier. Je voudrais voir où le système d'exploitation et tous les processus en cours d'exécution se trouvent dans la RAM. Est-ce possible?
Existe-t-il un moyen de voir le contenu de la mémoire RAM? Du premier octet au dernier. Je voudrais voir où le système d'exploitation et tous les processus en cours d'exécution se trouvent dans la RAM. Est-ce possible?
Réponses:
Vous pouvez utiliser un débogueur de noyau, qui permettrait un accès mémoire "brut", comme SoftICE pour Windows . Vous pouvez également configurer GDB pour agir comme débogueur pour le noyau Linux . Si une machine virtuelle est une option, certains logiciels de virtualisation prennent en charge l'enregistrement de l'état de la machine (y compris la RAM) sur le disque, qui peut ensuite être analysé plus en détail . Il convient de noter, cependant, que la plupart des systèmes d'exploitation "modernes" utilisent la randomisation de la configuration de l'espace d'adressage (ASLR). La véritable carte de mémoire physique du système est délibérément fragmentée pour aider à atténuer divers problèmes de sécurité et exploits (par exemple débordements de tampon de pile / tas ).
Cependant, pour un programme donné exécuté dans un système d'exploitation moderne, vous pouvez obtenir une carte de mémoire logique pour un processus / thread donné - tant que vous disposez des symboles de débogage et du débogueur appropriés. Si vous voulez une vue d'ensemble, si le logiciel / matériel utilise la mémoire virtuelle , la situation devient drastiquement plus complexe. Encore une fois cependant, si vous voulez littéralement ce qui est juste sur la RAM, consultez le premier paragraphe.
Sous Windows, le contenu de la mémoire physique est accessible via l' \Device\PhysicalMemory
objet dans le gestionnaire d'objets . Cela nécessite un accès au niveau du noyau au système, ce qui signifie que vous devez installer un programme, très probablement un pilote en mode noyau, pour accéder à cet objet.
Sous Linux, le contenu de la mémoire physique est directement accessible en tant que données binaires en lisant en /dev/mem
tant que root
. Voir Qu'est-ce que / dev / mem? et la mem(4)
page de manuel pour plus de détails.
Je ne sais pas pourquoi vous devez déterminer où le système d'exploitation et les processus sont situés dans la mémoire physique, cependant ...
\DevicePhysicalMemory
objet ne peut pas être ouvert à partir du mode utilisateur. RAMmap et la plupart des autres outils sysinternals incluent un pilote en mode noyau pour effectuer cette partie de leur travail.