Как TeamViewer программно моделирует Ctrl-Alt-Del в Windows? - PullRequest
7 голосов
/ 19 июня 2019

Как TeamViewer и другое программное обеспечение для удаленного управления имитируют нажатие клавиши Alt-Ctr-Del, также известное как Windows Secure Attention Sequence (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 дают хороший обзор того, что происходит за кулисами.

1 Ответ

0 голосов
/ 26 июня 2019

Я обнаружил, что существует недокументированный Secure Desktop LRPC Interface aka. Winlogon RPC Interface используется самими компонентами Windows и некоторыми сторонними библиотеками.Вот все, что я получил об этом:

...