【发布时间】:2018-11-29 17:36:10
【问题描述】:
作为前提我想让你知道这与游戏无关 作弊,因为我只对知道 Windows 的方式感兴趣 作品。我什至不亲自玩电子游戏。
EasyAntiCheat,Fortnite 自带的,防止游戏进程被修改和他的参数被改变。
例如,尝试更改优先级(我不是在寻找更改优先级的方法,因为已经在 Wayback Machine 捕获中发布了解决方案 here 和 here)导致 访问被拒绝错误。
使用 Process Hacker 或 Process Explorer 修改进程的 ACL 也会产生相同的错误,即使用户是管理员并拥有 SeTakeOwnershipPrivilege 权限。
自:
- PatchGuard 已启用,因此即使是 EAC 驱动程序也无法使用旧式内核挂钩
- 内核公开的 API 仅允许驱动程序在系统调用发生时得到通知,而不是更改现有内核行为
- EasyAntiCheat 驱动程序文件系统微过滤器不应影响进程 ACL。事实上,即使使用 FLTMC.exe 卸载过滤器,结果也是一样的
- 似乎没有发生进程内的代码注入,至少在使用进程监视器列出 Load Image 事件时,即使可以通过其他方式实现注入(我没有对此有足够的了解)
- 进程不受保护或光保护
Windows 10 x64 (1803) 允许 EAC 执行上述操作的机制是什么?也许要找到答案,多关注第四种方法就足够了。
Here 您可以在 Sysinternals Process Monitor 中找到从 ProcessHacker.exe 启动到结束显示的 Load Image 事件列表的链接.
P.S.:如有语法错误,请见谅,英语不是我的主要语言。
【问题讨论】:
-
除非访问在内核中被阻止,否则启用 SeDebugPrivilege 应该授予对未受保护进程的所有访问权限。
-
SeTakeOwnershipPrivilege 允许写入所有者访问。一旦用户成为所有者,在大多数情况下,用户应该被隐式授予 write-DAC 访问权限,这允许修改对象的自主和强制安全性。但是,现有的 DACL 可能有一个显式的 owner-rights 条目,它会覆盖隐式的 owner rights,这可能不会授予 write-DAC 访问权限。
-
Process Hacker(或 Process Explorer)以管理员权限运行,包括 SeDebugPrivilege。但是,当我尝试将自己设置为所有者时,我得到一个明确的“无法为 设置新所有者:访问被拒绝”。
标签: windows permissions administrator dll-injection