Heavens-Gate-2.0 icon indicating copy to clipboard operation
Heavens-Gate-2.0 copied to clipboard

GetMessage crash

Open powerwheel opened this issue 6 years ago • 1 comments

after LoadLibrary64("user32.dll") the GetMessage will crash at

win32u.dll!_NtUserGetMessage@16()

powerwheel avatar Jul 09 '18 06:07 powerwheel

There are some dlls that are not safe to load in the process of switching to 64bit mode. Gdi32.dll Uxtheme.dll User32.dll Probably more.

Shell32 has special error. Crashing due to inappropriately initialized TLS array in the Thread Information Block. (GS:[0x58] is zero)

Further more,

All SxS dlls will fail to load propery with error

0xC000007B

STATUS_INVALID_IMAGE_FORMAT

This is due to the fact that WinSxS Manager still thinks the process is 32-bit and tries to load the 32bit version of the requested dll. The redirection fails and points to x86 folder of, say, comctl32.dll. Where it should have redirected to amd64 folders. Fixing something like this is quite lengthy process as you have to do manual redirection of the dlls and ensure the right version too by either parsing the manifest, or load the latest version.

There is no simple fix for this. The wow transition doesn't expect you to do that much, you have to lay hack upon hack upon hack and still won't get this to work properly on all Windows versions.

RCECoder avatar Oct 31 '23 00:10 RCECoder