PROJECT DOSSIER // [FTRACE]VOIR LA SOURCERETOUR AUX PROJETS →

01 // LE PROJET EN BREF

FTRACE

C

Reconstituer, à l'exécution, l'arbre des appels de fonctions d'un programme.

Suite logique de strace, mais un cran plus difficile : au lieu de suivre les demandes faites au système, on suit les appels que le programme se fait à lui-même. Le système ne fournit aucune aide pour cela — il faut décoder les instructions du processeur à la volée et remonter les noms depuis la table des symboles de l'exécutable.

Traceur combinant ptrace en pas à pas et lecture de la table des symboles ELF : il affiche l'entrée et la sortie de chaque fonction du binaire tracé, les appels système avec leurs arguments et leur retour, et les signaux reçus.

PRINCIPALC
RÉALISATIONPROJET D’ÉQUIPE
VÉRIFICATIONCriterion
SOURCEINSPECTOR READY
PIÈCES JOINTES (Images, Photos, Videos)

03 // APPORTS CLÉS

  • Entrées de fonctions détectées en confrontant rip à la table des symboles ELF, pas à pas
  • Retours et appels système reconnus par lecture directe des opcodes
  • Trace unifiée : fonctions internes, appels système et signaux reçus

AU-DELÀ DU SUJET

  • Deux fichiers de tests Criterion, l'un sur le cas nominal, l'autre sur les erreurs

04 // ARBORESCENCE DU CODE

LECTURE DES SOURCES…