Windbg 政府飞行服务队在红桂停留
今天我想知道为什么GFlags用户界面的内核标志选项卡中会出现挂机GUI上的GFlags选项Stop。内核是否有可能挂起的GUI 因此,我试图从Microsoft获得一些信息,但: 停止挂起GUI标志显示在GFlags中,但对Windows没有影响 所以我想知道的更多:一个内核的内核标志有一个GUI,但它不是Windows内核 虽然它似乎没有实际用途,但有人能解释一下吗?Windbg 政府飞行服务队在红桂停留,windbg,windows-kernel,gflags,Windbg,Windows Kernel,Gflags,今天我想知道为什么GFlags用户界面的内核标志选项卡中会出现挂机GUI上的GFlags选项Stop。内核是否有可能挂起的GUI 因此,我试图从Microsoft获得一些信息,但: 停止挂起GUI标志显示在GFlags中,但对Windows没有影响 所以我想知道的更多:一个内核的内核标志有一个GUI,但它不是Windows内核 虽然它似乎没有实际用途,但有人能解释一下吗? 我还试图从WinDbg.hh获取更多信息!gflag,但它甚至没有声明这在Windows上不起作用。内核标志表示该标志立即生
我还试图从WinDbg
.hh获取更多信息!gflag
,但它甚至没有声明这在Windows上不起作用。内核标志
表示该标志立即生效,无需重新启动
注册表标志需要重新启动
,标志才能生效
内核没有任何可能挂起的gui
windows一词不是指内核,而是指正在运行的应用程序的gui窗口
检查操作系统中的NtSetSystemInformation以了解0x8不生效的原因
基本上,这个api中有一些硬编码的幻数,用于测试每个GlobalFlag更改请求,并允许或不允许它们
在xp-sp3中,这个神奇的值是0B2319BF0
,因此任何<0x10的标志都是不允许的
挂起的gui上的stop是0x8,因此它无效,并且您不能从注册表选项卡设置它
所以实际上没有办法设置这个标志
nt!NtSetSystemInformation+0x193:
80606009 8b03 mov eax,dword ptr [ebx] ds:0023:001285f8=00000008 <---- +shg
8060600b 25f09b31b2 and eax,0B2319BF0h < magic value in nt
80606010 8945a0 mov dword ptr [ebp-60h],eax ss:0010:fb569cf0=00000000
80606013 8b0d6c125580 mov ecx,dword ptr [nt!NtGlobalFlag (8055126c)] ds:0023:8055126c=00000000
80606019 81e10f64ce4d and ecx,4DCE640Fh <--another magic value both these magic values orred together
will be 0xffffffff covers the whole range of flags
8060601f 0bc1 or eax,ecx
80606021 8945a0 mov dword ptr [ebp-60h],eax ss:0010:fb569cf0=00000000
80606024 a36c125580 mov dword ptr [nt!NtGlobalFlag (8055126c)],eax ds:0023:8055126c=00000000
nt!NtSetSystemInformation+0x193:
80606009 8b03 mov eax,dword ptr[ebx]ds:0023:001285f8=00000008