Citation:
Envoyé par
xwz
Oui, je connais la commande objdump, readelf, nm, ... mais ma question était plus coté fonctionnement bas niveau du chargement. Si par exemple moi je voulais faire cette étape à la main, il me faudrait faire des read, des mmap et mprotect, mais quelles sont les données à fournir à ces deux dernières fonctions ?
J'ai bien compris la question et la réponse est toujours celle que j'ai déjà fourni:
La liste des bibliothèques partagées à charger se trouve dans la section dynamique des en-têtes privés des fichiers exécutables
L'approche consistant à vouloir faire du reverse-engineering en observant via strace ce que fait un exécutable est vaine. La mécanique est complexe mais tout est documenté et open-source.
Je te conseille plutôt d'analyser le format ELF et de regarder ce que font ldd et ld-linux.so à partir de leur code source.
Si tu n'arrive pas à trouver ton compte avec le code source, ce sera encore moins facile sans ...