首页 > 解决方案 > TeamViewer 如何以编程方式在 Windows 上模拟 Ctrl-Alt-Del?

问题描述

TeamViewer 和其他远程控制软件如何模拟 Alt-Ctr-Del 按键,也称为 Windows 安全注意序列 (SAS)?

  1. 许多论坛表示这是不可能的,但事实却与他们背道而驰。:)
  2. SendSAS功能看起来是最明显的答案,但这需要更改组策略、绕过 UIPI等,所以它绝对不是仅运行的 TeamViewer 所做的。
  3. 另一个常见的建议是使用专有的 SasLibEx 库,但该库已停产,仅适用于 Windows Vista
  4. 旧的 Stackoverflow 答案差点错过,但不适用于较新的 Windows
  5. SendInput不适用于 Alt-Ctrl-Del,如果它被发送到winsta0\winlogon桌面也不行
  6. PostMessage(HWND_BROADCAST, WM_HOTKEY, 0, MAKELONG( MOD_CONTROL | MOD_ALT, VK_DELETE));- 不
  7. WmsgSendMessage在下一个人的建议下进行了尝试,结果证明它并不比 SendSAS 更好或不同。
  8. 键盘过滤器驱动程序可能是一种解决方案,但它们需要代码签名和特殊权限才能安装,并且实施它们既不适合胆小的人。我还验证了driverquery仅运行的 Team Viewer 不会安装驱动程序。

那么,知道其他人是如何做到的吗?

SAS 实现的内部结构很好地概述了它在幕后发生的事情。

标签: c++securitywinapiteamviewer

解决方案


我发现,有一个未记录的安全桌面 LRPC 接口(又称安全桌面 LRPC 接口)。Windows 组件本身和一些第三方库使用的Winlogon RPC 接口。这是我得到的一切:


推荐阅读