Did anyone ever find NT6 x64 version number controller?

Discuss Windows Vista/Server 2008 to Windows 10.
Post Reply
win32
Posts: 75
Joined: Mon Nov 26, 2018 2:40 am
Location: Northern Territories

Did anyone ever find NT6 x64 version number controller?

Post by win32 »

I am aware that ntoskrnl automatically changes the value of the CurrentVersion string under HKLM\Software\Microsoft\Windows NT\CurrentVersion at boot time (CmpSetVersionData). In fact, I had patched it (on Vista SP2) so that it no longer did that, but it has no bearing on the value that is reported in winver and what programs get when they call RtlGetVersion.

I understand that the location of this defining value is known in Longhorn pre-reset x64 builds, but at one time it was unknown where it was after the reset (including XP/2003 x64). Has anyone found this location in any NT6 build since then? I would be very pleased if it were found as some applications do not like running on NT 6.0 simply because it is NT 6.0 (and not for lack of actual functionality). And there seem to be enough of these that it would be easier to do a global patch than modifying individual applications.

I have looked in NT 6.0 SP2, 6.1 SP1 and 6.3 U1 ntoskrnls and haven't found anything that would come close.
What is the name of the application software guaranteed to make your computer faster?

Quicken.

win32
Posts: 75
Joined: Mon Nov 26, 2018 2:40 am
Location: Northern Territories

Re: Did anyone ever find NT6 x64 version number controller?

Post by win32 »

Found it: it's right in ntoskrnl!RtlGetVersion. Haven't tested it yet but it makes sense.

Image

rcx = 11Ch or OSVersionInfoSize

rcx+4 = MajorVersion

rcx+8 = MinorVersion

rcx+0ch = BuildNumber

rcx+10h = PlatformID

XP x64 follows a similar structure, but 2000/2003 x86 do not. No idea about 32 bit versions of NT 6.x.
What is the name of the application software guaranteed to make your computer faster?

Quicken.

Post Reply