-
Notifications
You must be signed in to change notification settings - Fork 1.1k
update system DLL range logic for 64-bit OSes #307
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
|
This breaks support for Windows 7, |
|
@Mauler125 Was this Windows 7 x86? Lines 78 to 84 in 4ed81f1
|
|
@jdu2600 This was on the latest version of Windows 7 x64 (SP1 with all updates), I think the ranges are different on Windows 7, and changed in Windows 8 as you mentioned. I hadn't had the chance to debug this myself yet. Some of our users host a game server on Windows 7 x64 which is where this was being reported from. These changes however do seem to work perfectly on Windows 10 and Windows 11 for the 2 months we have it implemented and tested; not a single issue has been encountered from it yet. |
Weird, I've checked "Windows Internals 6th" (corresponding to Win7) and analyzed |
|
In Vista and Win7 (NT6.0 and NT6.1), ASLR can be turned off by registry:
I think there's a chance this could be causing this issue. |
Sorry for my later responce. Today I did some research again on this issue and it was indeed caused by having ASLR disabled system-wide using the mentioned registry value. Your recent changes on KNSoft's SlimDetours does fix the issue as far as I've been able to test it. I will continue testing it and report any issues if I encounter them. |
Thanks, if still encounter the same problem, try to remove this block, I don't have 100% confidence in this. |
Hey Detours folks,
Just a couple of suggestions for choosing the trampoline location.
The X86 range reserved for system DLLs is not up to date.
The X64 "not +/- 1GB of target" heuristic to avoid the range used by system DLLs is not entirely robust. Instead we could replace this with a "not 1GB after ntdll" heuristic.