[Bug 48817] New: Module_InitDLL fails if LDR_MODULE.Flags was modified
WineHQ Bugzilla
wine-bugs at winehq.org
Thu Mar 26 07:56:47 CDT 2020
https://bugs.winehq.org/show_bug.cgi?id=48817
Bug ID: 48817
Summary: Module_InitDLL fails if LDR_MODULE.Flags was modified
Product: Wine
Version: 5.4
Hardware: x86
OS: Linux
Status: UNCONFIRMED
Severity: normal
Priority: P2
Component: ntdll
Assignee: wine-bugs at winehq.org
Reporter: qsniyg at mail.com
Distribution: ---
I've created a test case here: https://github.com/qsniyg/wine_dll_load_test. I
would have made a patch to add this in wine's test suite, but it's rather
complex (requiring multiple DLLs), so I'm not sure how to do this.
dll1.dll depends on dll2.dll, which therefore will have its DllMain run before
dll1's. dll2.dll looks for dll1's LDR_MODULE, then blanks out the Flags
attribute, alongside a few others.
Since MODULE_InitDLL reads the flags from dll1's now-modified LDR_MODULE, it
fails to find the LDR_IMAGE_IS_DLL flag, which prevents dll1's DllMain from
being run.
The test case runs fine under Windows 10, but not under wine.
This is used by certain code protection systems in order to confuse debuggers.
--
Do not reply to this email, post in Bugzilla using the
above URL to reply.
You are receiving this mail because:
You are watching all bug changes.
More information about the wine-bugs
mailing list