Comment activer la randomisation de la disposition d'espace d'adresse d'un exécutable?Comment activer ASLR dans un binaire Windows PE?
Remarque: Je ne suis pas en utilisant Visual Studio, ou tout compilateur qui fournit une option de compilateur /dynamicbase
.
Pour les besoins de cette discussion, supposons que j'ajoute des fonctionnalités à un compilateur pour activer ASLR.
Autres drapeaux PE
Il y a d'autres options d'image exécutable Windows que je sais déjà comment définir. Par exemple, alors drapeau IMAGE_FILE_NET_RUN_FROM_SWAP
. Vous définissez l'option de PE dans l'en-tête binaire PE:
LOADED_IMAGE li;
MapAndLoad(fileName), null, li, false, false)
LI.FileHeader.FileHeader.Characteristics |= IMAGE_FILE_NET_RUN_FROM_SWAP;
UnMapAndLoad(li)
Comment peut-on activer la mise en page Espace Adresse Randomisation? Est-ce un drapeaux PE? Est-ce une entrée Assembly Manifest?
Bonus
Comment puis-je opter un fichier exécutable dans NX (No Execute)?