As usual surfing around I stumble across stuff.
I don't have the exact PE header info but this post/blog was what peakd my interest. (it quickly explains what this is all about)
http://blogs.msdn.com/ed_maurer/archive ... piler.aspx
Any chance of adding this Fred? Considering it's supposedly just a bit flag it's not that hard I hope?
Obviously it would only be available on Windows (although the NX bit is supported on Linux and Mac AFAIK, due to modern CPU's having hardware support for it, not sure how it's done on those platforms though)
An extra checkmark option would have to be added next to the Vista admin/user option in the IDE as well.
Personally I have no need for this, but security app/tool developers, services developers and so on will probably find this great and even a selling point for their apps?
NXCOMPAT bit for PE files. (XP and Vista DEP protection bit)
its already supported by polink :
Code: Select all
Pelles Linker, Version 5.00.1
Copyright (c) Pelle Orinius 1998-2008
Syntax:
POLINK [ { option | file | @commandfile } ... ]
Options:
/ALIGN:#
/ALLOWBIND[:NO]
/ALLOWISOLATION[:NO]
/ALTERNATENAME:symbol=symbol
/BASE:address
/DEBUG[:NO]
/DEBUGTYPE:{CV|COFF|BOTH}
/DEF:filename
/DEFAULTLIB:filename
/DELAY:{NOBIND|UNLOAD}
/DELAYLOAD:filename
/DLL
/DRIVER[:{UPONLY|WDM}]
/ENTRY:symbol
/EXPORT:symbol[=[module.]symbol][,@ordinal[,NONAME]][,DATA]
/FIXED[:NO]
/FORCE:MULTIPLE
/HEAP:reserve[,commit]
/IMPLIB:filename
/INCLUDE:symbol
/LARGEADDRESSAWARE[:NO]
/LIBPATH:path
/MACHINE:{AMD64|ARM|X64|X86}
/MANIFEST[:NO]
/MANIFESTDEPENDENCY:dependency
/MANIFESTFILE:filename
/MAP[:filename]
/MAPINFO:{EXPORTS|FIXUPS|LINES}
/MERGE:from=to
/NODEFAULTLIB
/NOENTRY
/NXCOMPAT[:NO]
/OPT:{REF|NOREF|WIN98|NOWIN98}
/OSVERSION:#[.##]
/OUT:filename
/RELEASE
/SAFESEH[:NO]
/SECTION:name,[E][R][W][S][D][K][P]
/STACK:reserve[,commit]
/STUB:filename
/SUBSYSTEM:{CONSOLE|NATIVE|WINDOWS|WINDOWSCE}[,#[.##]]
/SWAPRUN:{CD|NET}
/TSAWARE[:NO]
/VERBOSE
/VERSION:#[.##]
/WS:AGGRESSIVE