Je veux inspecter la mémoire. Dans Linux
, je peux probablement parcourir simplement /dev/mem
, mais comment visualiser la mémoire système à un emplacement spécifique sur Mac ?
Réponse
Trop de publicités?Contrairement à ce que vous pensez, vous ne pouvez pas simplement parcourir /dev/mem sur un système Linux par défaut. Il y a quelques années, l'accès à ce périphérique a été restreint par défaut sur Linux, de sorte que seules des zones de mémoire très limitées sont accessibles de cette manière. Vous ne pouvez lever la restriction qu'en recompilant le noyau.
Sur macOS, l'accès à ce périphérique est complètement restreint par défaut pour des raisons de sécurité similaires. Cependant, vous pouvez l'activer en utilisant un paramètre au démarrage.
Activez explicitement cela en redémarrant votre Mac, en maintenant les touches Commande et R pour démarrer en Mode de Récupération. Ensuite, ouvrez le menu Utilitaires et sélectionnez Terminal. Depuis le Terminal, vous devez exécuter la commande suivante :
sudo nvram boot-args="kmem=1"
Après le redémarrage, vous constaterez que de nouveaux fichiers de périphérique /dev/mem et /dev/kmem (mémoire du noyau) ont été créés.
Vous devrez utiliser sudo ou être root pour accéder aux périphériques. Le périphérique /dev/mem est adressé par adresse mémoire physique, et /dev/kmem par adresse mémoire virtuelle.