Inspection d’un processus avec Python

1. La bibliothèque python-ptrace

a. Introduction

Le package python-ptrace contient un ensemble de modules relatifs à ptrace et à l’inspection des processus. Pour commencer, il contient des bindings Python : un ensemble de fonctions utilitaires destinées à Python, écrites en C, faisant appel à ptrace. Elles permettent de s’interfacer au noyau avec des objets Python.  Binding ptrace

Le package contient, en plus, un ensemble de modules et de classes utilitaires dédiées à l’inspection d’un processus. Les deux classes « principales » sont PtraceDebugger et PtraceProcess.

La première, PtraceDebugger, permet de gérer un ou plusieurs processus tracés. Elle dispose notamment de méthodes pour ajouter ou supprimer des processus et de méthodes pour se mettre en attente d’un événement (breakpoint, syscall ou signal). Elle possède aussi des options pour définir le comportement en cas de création d’un processus enfant par un processus tracé. Debugger

La seconde, PtraceProcess, représente un processus tracé. Elle dispose de méthodes utilitaires pour accéder aux fonctionnalités de ptrace : inspection des registres, lecture/écriture de la mémoire, etc. D’autres méthodes ne reposent pas directement sur l’utilisation de ptrace, mais proposent des fonctionnalités...

Pour consulter la suite, découvrez le livre suivant :
couv_RIPYTFO.png
60-signet.svg
En version papier
20-ecran_lettre.svg
En version numérique
41-logo_abonnement.svg
En illimité avec l'abonnement ENI
130-boutique.svg
Sur la boutique officielle ENI
Précédent
Introduction
Suivant
Exemple d'utilisation