L'appel système PTRACE permet à un processus appelant d'observer et surtout de contrôler l'exécution d'un autre processus afin, par exemple, de consulter son image mémoire ou d'éditer au passage ses registres (précision utile : Cet article va se focaliser sur l'architecture x86).
PTRACE (pour process trace) est utilisé principalement par les débogueurs comme gdb pour positionner des points d'arrêts et suivre pas à pas l'exécution d'un programme. Mais, il est aussi utilisé par des programmes comme strace [1] ou ltrace [2] permettant, en ce qui concerne strace, de tracer tous les appels système utilisés par un programme et, en ce qui concerne ltrace, de tracer les appels aux bibliothèques partagées comme la glibc (de façon accessoire, PTRACE peut être utilisé pour développer des rootkits ou des injections de code, mais c'est une autre histoire).
Pour ce qui nous concerne, nous allons uniquement nous atteler à intercepter les appels système émis vers le noyau,...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première