https://bugs.winehq.org/show_bug.cgi?id=19296
--- Comment #20 from Anastasius Focht focht@gmx.net --- Hello folks,
the recent ATL thunk patch series made the thing more compliant :) There is still a missing piece though, that is not executing ATL thunk check on a guard page.
Another thing I noticed...
Wine's process execution flags are reversed for 'enabled' and 'disabled' options.
From my comment here: https://bugs.winehq.org/show_bug.cgi?id=24125#c7
https://src.chromium.org/svn/trunk/src/sandbox/win/src/process_mitigations_t...
Chromium source snippet, part of test suite:
--- snip --- const int MEM_EXECUTE_OPTION_ENABLE = 1; const int MEM_EXECUTE_OPTION_DISABLE = 2; const int MEM_EXECUTE_OPTION_ATL7_THUNK_EMULATION = 4; const int MEM_EXECUTE_OPTION_PERMANENT = 8; dep_flags &= 0xff; --- snip ---
vs.
Source: http://source.winehq.org/git/wine.git/blob/9a806d0f1c10289241500519beda73f1a...
--- snip --- 729 #define MEM_EXECUTE_OPTION_DISABLE 0x01 730 #define MEM_EXECUTE_OPTION_ENABLE 0x02 731 #define MEM_EXECUTE_OPTION_DISABLE_THUNK_EMULATION 0x04 732 #define MEM_EXECUTE_OPTION_PERMANENT 0x08 --- snip ---
Applications that use the native API way to achieve '[Get|Set]ProcessDEPPolicy' on pre-Vista Windows OS where this entry point is not available will have the reverse effect.
Thanks for the work so far, Sebastian.
Regards