Utilisation de Ptrace pour suivre l’emplacement des fichiers en cours d’ouverture

J’utilisais le code suivant qui me permet d’obtenir le contenu des registres (eax, ebx, ecx) chaque fois qu’un appel système ouvert est appelé. Maintenant, après beaucoup de lutte, j’ai compris ce que les valeurs signifient dans cette Question .
ebx contient le pointeur sur le nom du fichier. Mais lorsque j’essayais d’y accéder, j’avais un problème de segmentation. Où vais-je mal? Le code peut être consulté ici

Chaque processus a son propre espace d’adressage. Une adresse obtenue à partir d’un autre processus ne sera pas valide dans le vôtre. Une façon de lire la mémoire dans l’autre processus serait d’ utiliser PTRACE_PEEKDATA . Sous Linux, une autre solution consisterait à ouvrir /proc//mem , à rechercher l’adresse et à la lire comme un fichier.