9
votes

Dump de la mémoire d'un processus

Lors de la lecture de / PROC / $ $ PID / MAPS, vous obtenez les régions de mémoire mappées. C'est un moyen de vider une de ces régions? XXX

MERCI


0 commentaires

3 Réponses :


5
votes

Vous pouvez attacher GDB au processus, puis rumis de la région de la longueur de longueur x mots commençant à l'emplacement L avec ceci: x / xw l . .

Fixation de GDB Lorsque vous démarrez votre processus est simple: gdb ./executable puis exécutez . Si vous devez vous attacher à un processus en cours d'exécution, démarrez GDB, puis gdb joindre pid où pid est l'identifiant de processus que vous vous souciez.


3 commentaires

Merci :) Je n'y ai pas pensé


Vous pouvez utiliser un argument de ligne de commande pour joindre à un processus en cours d'exécution: gdb -p .


Bon à savoir. J'ai seulement utilisé GDB sérieusement pour des cibles éloignées.



4
votes

Utilisation de DD (1):

sudo dd if=/dev/mem bs=1 skip=$(( 16#0059e000 - 1 )) \
        count=$(( 16#005b1000 - 16#0059e000 + 1)) | hexdump -C


0 commentaires

14
votes

nah! Appelez PTRACE () avec Ptrace Fixation < / code>. Ensuite, ouvrez / PROC / / MEM , Cherchez à la région offset et lisez la longueur de la région comme indiqué dans / Proc / Maps .

voici un Programme J'ai écrit Cela fait en C. Voici un Module J'ai écrit qui le fait en python ( et la liaison pTrace ). Pour la finition, un Programme qui décharge toutes les régions d'un processus à Fichiers .

profiter!


0 commentaires