3 回答
TA贡献1735条经验 获得超5个赞
您可以使用 WNF 机制切换模式。
生成文件“0”= 00 00 00 00(十六进制)和文件“1”= 02 00 00 00(十六进制)的二进制内容
例如,在 git bash 中
echo -n -e "\x00\x00\x00\x00" > 0 echo -n -e "\x02\x00\x00\x00" > 1
克隆存储库:https ://github.com/ionescu007/wnfun
pip install Pywin32 pip install hexdump
开启优先模式
python WnfDump.py -w WNF_SHEL_QUIET_MOMENT_SHELL_MODE_CHANGED 1
关闭焦点辅助
python WnfDump.py -w WNF_SHEL_QUIET_MOMENT_SHELL_MODE_CHANGED 0
如果您找到打开“仅警报”模式的方法,请告诉我。
您也可以使用相同的技术 C++。
编辑:实际上,该命令激活为“全屏模式”设置的模式,文件内容 01 00 00 00 将激活“游戏模式”。如果两者都关闭,则该命令将无效。
TA贡献1873条经验 获得超9个赞
正如 Pavel Henrykhsen 的回答所说,有一种程序化的方式,尽管没有记录且不受支持。这是一个实现,尽管是用 Rust 编写的。
相关功能是ZwUpdateWnfStateData
来自ntdll.dll
. 在这种情况下,相关论点是
我在https://github.com/googleprojectzero/sandbox-attacksurface-analysis-tools/blob/80d7fcc8df9c3160c814c60f5121ae46c560a1b5/NtApiDotNet/NtWnfWellKnownNames.cs#L865找到的状态 ID
具有值的缓冲区
[0x02, 0x00, 0x00, 0x00]
缓冲区的长度
之后的所有参数都可以安全地忽略。
// Pseudo-code
ZwUpdateWnfStateData(
0xd83063ea3bf5075UL,
new byte[] {0x02, 0x00, 0x00, 0x00},
4,
0,
0,
0,
0,
);
这似乎确实依赖于在焦点模式设置中打开的“当我在全屏模式下使用应用程序时”设置。
此外,如果有人试图使用它来启用焦点模式,我建议首先禁用焦点模式(new byte[] {0x00, 0x00, 0x00, 0x00}而不是通过)。然后,几毫秒后,可以安全地启用聚焦模式。
- 3 回答
- 0 关注
- 85 浏览
添加回答
举报