01 // LE PROJET EN BREF
STRACE
CEspionner tout ce qu'un programme demande au système d'exploitation.
Un programme ne peut rien faire d'utile — lire un fichier, afficher du texte, ouvrir une connexion — sans passer par le système d'exploitation. Cet outil intercepte et affiche chacune de ces demandes en temps réel. C'est l'un des instruments de diagnostic les plus puissants sous Linux, et le recoder revient à comprendre la frontière exacte entre un programme et le noyau.
Clone de strace : le traceur avance le processus fils en pas à pas avec ptrace, repère lui-même les instructions syscall dans le flux d'exécution, décode numéro et arguments depuis les registres à partir d'une table des 385 appels système, et affiche la valeur de retour avec son errno symbolique (mode hexadécimal par défaut, détaillé avec -s).
03 // APPORTS CLÉS
- Appels système repérés à la main dans le flux d'instructions, PTRACE_SYSCALL étant interdit par le sujet
- Lecture de la mémoire d'un processus tiers pour reconstituer les chaînes passées en argument
- Retours d'erreur traduits en constantes errno et messages lisibles
04 // ARBORESCENCE DU CODE
LECTURE DES SOURCES…