Ce diaporama a bien été signalé.
Le téléchargement de votre SlideShare est en cours. ×

projet_prog5.pptx

Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Publicité
Chargement dans…3
×

Consultez-les par la suite

1 sur 21 Publicité

Plus De Contenu Connexe

Similaire à projet_prog5.pptx (20)

Plus récents (20)

Publicité

projet_prog5.pptx

  1. 1. PROG5 - Projet ANNÉE 2022-2023 GROUPE 13 : • BENTAZI bouchra • EL BAHARAOUI boutaina • ALSABR Ibrahim • PIQUERET Vassili • Zouine Sanaa • Djaghloul ayoub
  2. 2. sommaire • Présentation générale du projet • Première phase • Deuxième phase • Problématique • Conclusion
  3. 3. Présentation générale du projet • INTRODUCTION • LE BUT DU PROJET
  4. 4. Introduction • La compilation et l'édition de liens sont deux étapes importantes dans le processus de création d'un programme exécutable à partir de code source . • La compilation consiste à traduire le code source en un code binaire compréhensible par la machine. Cette étape est réalisée par le compilateur. Une fois le code source compilé, l'édition de liens (ou "linking" en anglais) consiste à combiner les différents fichiers binaires générés par le compilateur en un seul fichier exécutable et résout les références entre les différentes parties du programme . • La réimplantation, quant à elle, est le processus de modification de la structure de code d'un programme ou d'un système pour en améliorer les performances, la lisibilité ou la maintenabilité. Elle peut être utilisée pour réorganiser le code, supprimer des inefficacités ou encore ajouter de nouvelles fonctionnalités.
  5. 5. Voici quelques exemples d'édition de liens :  Correction d'erreurs : si un programme contient une référence à une variable qui n'existe pas, l'édition de liens peut être utilisée pour mettre à jour le lien afin de référencer une variable existante.  Mise à jour de programmes ou de systèmes: lorsqu'un programme ou un système est mis à jour, il peut être nécessaire de modifier les liens vers des fonctions ou des objets qui ont été modifiés ou supprimés dans la nouvelle version,  Ajout de nouvelles fonctionnalités : pour ajouter de nouvelles fonctionnalités à un programme ou à un système, il peut être nécessaire de créer de nouveaux liens vers des fonctions ou des objets définis dans le nouveau code. Voici quelques exemples de réimplantation:  Regroupement de fonctions ou de variables liées dans des modules ou des fichiers séparés : En regroupant les fonctions et les variables qui ont un lien logique entre elles, il est possible de rendre le code plus lisible et plus facile à maintenir.  Suppression de code inutile ou redondant : En enlevant du code qui n'est plus utilisé ou qui est redondant, il est possible d'améliorer les performances du programme ou du système et de rendre le code plus facile à comprendre. PS: • La réimplantation peut être réalisée à n'importe quelle étape du développement d'un programme ou d'un système, et n'a pas nécessairement besoin d'être liée à l'édition de liens. • Il est toutefois possible que la réimplantation d'un programme ou d'un système entraîne des modifications qui nécessitent une édition de liens ultérieure.
  6. 6. But du projet • Un projet sur l'édition de liens et la réimplantation pourrait consister en l'analyse d'un programme ou d'un système existant, l’identification de problèmes ou d'opportunités d'amélioration, et la mise en œuvre de modifications pour résoudre ces problèmes ou ajouter de nouvelles fonctionnalités. • Le but du projet est de mettre en place une partie d'un éditeur de liens, pour des fichiers ELF-32 bits plus précisément la phase de fusion qui est effectuée par l'éditeur de liens. Le projet est organisé en étapes et comprend la programmation de divers outils intermédiaires pour mieux comprendre les concepts clés et faciliter la répartition des tâches.
  7. 7. Les fichiers ELF • ELF (Exécutable and Linking Format) est un format de fichier binaire développé par l’USL (Unix System Laboratories) . il contient du code exécutable et les donnes nécessaires pour exécuter un programme. Chaque fichier ELF commence par un en-tête suivi d'une section de données et de références. Ce format est flexible dans la conception et n'est pas limité à une architecture ou un processeur particulier.
  8. 8. Structure d’un Fichier ELF Program header table ELF header .text .rodata Section header table .data ....
  9. 9. Phase
  10. 10. ETAPE 1 : AFFICHAGE DE L’EN-TÊTE
  11. 11. ETAPE 2: AFFICHAGE DE LA TABLE DES SECTIONS
  12. 12. Etape 3 : : Affichage du contenu d’une section Ici on a mis les adresses pour chaque ligne au début de chaque ligne et on avance avec 16 octets donc 16 en décimale (address += 16  pour chaque ligne) et après il va afficher le contenu en HEXA et a la fin il va afficher le contenu en ASCII .
  13. 13. Etape 4 : Affichage de la table des symboles
  14. 14. Etape 5 : Affichage des tables de réimplantation • L'affichage des tables de réimplantation est généralement utilisé pour visualiser les relations entre les sections d'un programme exécutable. • Les tables de réimplantation sont des structures de données qui permettent de connecter les sections d'un programme exécutable à leurs positions relatives dans la mémoire.
  15. 15. Extrait de l’automatisation de test
  16. 16. Phase
  17. 17. ETAPE 6 FUSION ET RENUMÉROTATION DES SECTIONS
  18. 18. Dans cette étape on a afficher les sections du deuxième fichier en avant et dans notre parcours d'affichage si on trouve une section présente dans le premier fichier (le même nom a l’aide du fonction qui rechercher les sections par nom) on va faire la somme des tailles des deux sections (size) . par rapport l’offset les résultats sont faux car on est besoin de créer un buffer qui stocke ces sections pour arriver a des résultats justes. Et après on va afficher le reste des sections depuis le premier fichier (les sections qui n'ont pas présentes dans le deuxième). L’affichage de l’exécution :
  19. 19. Problématique
  20. 20. Conclusion
  21. 21. MERCI POUR VOTRE ATTENTION

×