A propos du point d'entrée du PE dans Windows
-
04-10-2019 - |
Question
est-il toujours à l'adresse la plus basse de la section de code?
La solution
Non, pas nécessairement. Le point d'entrée PE est définie dans la structure IMAGE_OPTIONAL_HEADER , dans le domaine de AddressOfEntryPoint
:
Un pointeur vers la fonction de point d'entrée, par rapport à l'adresse de base de l'image. Pour les fichiers exécutables, ceci est l'adresse de départ. Pour les pilotes de périphériques, c'est l'adresse de la fonction d'initialisation. La fonction de point d'entrée est facultative pour les DLL. En l'absence de point d'entrée est présent, ce membre est égal à zéro.
A linker peut définir ce être ce qu'il veut être, tant que son un décalage virtuel par rapport valide dans le PE. Certains compilateurs et linkers pourraient avoir la convention de mettre le point d'entrée au début de la section texte / code, mais il n'y a aucune exigence de format OS ou PE pour elle.