Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1680 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Structure d'un programme

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Structure d'un programme

n°658285
Czckr
Posté le 03-04-2005 à 17:25:42  profilanswer
 

Bonjour !
J'étudie en ce moment le fonctionnement d'un programme
et sa structure au niveau binaire. J'ai plusieurs question que je me pose...
 
1- Pourquoi lorsque j'ouvre un programme dans un editeur
   hexadécimal je peux voir que celui-ci contient plusieurs
   fragment de code constituer seulement de 00
   qui ne correspond ni à des instructions ni des données ?
   Pourquoi reste t-il de la mémoire inutilisée dans un programme
   executable ?
 
2- Où ce trouve les données des ressources (boîte de dialogue,
   menus...) et le segment de donnée dans un programme (chaîne de
   caractères, constante...) ?
   Car lorsque j'édite mon programme dans un éditeur hexadécimal
   il n'y a aucune trace de tout cela...
 
3- Où ce trouve le point d'entrée d'un programme ?
 
Merci pour votre aide =)

mood
Publicité
Posté le 03-04-2005 à 17:25:42  profilanswer
 

n°658287
0liv
Posté le 03-04-2005 à 17:34:27  profilanswer
 

Bonjour,
 
pour vraiment étudier un binaire, il faut que tu te serves de commandes tel que objdump ou nm ....

n°658298
WhatDe
Posté le 03-04-2005 à 18:07:51  profilanswer
 

Et puis c'est pas la bonne cat.

n°658871
matafan
Posté le 05-04-2005 à 04:42:10  profilanswer
 

Un fichier binaire c'est pas seulement le code et les données, c'est aussi un ensemble compliqué de structures qui donnent le point d'entrée, l'adresse des symboles importés et exportés, les données de relocation pour le binder, eventuellement des infos de debuggage tel que le mapping instruction/numero de lignes... Tout ceci est défini précisément, par exemple par le format ELF sous linux ou XCOFF/XCOFF64 sous AIX. Certaines de structures ont des champs optionels, des champs de padding, des champs inutililsés (réservés pour un usage futur)... qui peuvent être à 0.
 
Maintenant, le code lui-même peut contenir des zones à 0. Par exemple sous AIX, il y a quelques 0 à la fin de chaque routine, entre la dernière instruction et la "trace back table", une zone générée par le compilateur, qui donne un certain nombre d'informations sur la routine.


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs
  Codes et scripts

  Structure d'un programme

 

Sujets relatifs
[Recherche commande Linux] suivre l'execution d'un programmelog les acces disques de chaque programme
Installation d'un programmeFaire une update d'un programme sous MacOsX
Lancer un programme au démarrage de MacOS XLancer un programme depuis une emulation
[Linux] Lancer un programme au démarrage[Unix] Lancer un programme avec un chemin court
Lancer un programme sans "./" sous Linuxprogramme tv
Plus de sujets relatifs à : Structure d'un programme


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)