у тебя такого рода глюк тоже был замечен?
да, именно это.
и вопрос, если остановиться на варианте с задержкой, то он в будильники переключает из разных же состояний, которое в данный момент установлено ведь?
Официальной документации по данной функции нет. Подробное исследование сделали для конференции
BlackHat 2018 Alex Ionescu и Gabrielle Viala на основе более ранних работ от
red plait и его инструмента wincheck, вот в их
слайдах кое-что есть про переключение состояния, которое переживёт перезагрузку:
Persistent names persist beyond process (registrar’s) exit while permanent names persist beyond reboot
В теории, можно сделать XOR этого имени (WNF_SHEL_QUIETHOURS_ACTIVE_PROFILE_CHANGED либо WNF_SHEL_QUIET_MOMENT_GAME_MODE_CHANGED (перечисление well-known списка
тут)), выставить нужный флаг permanent и DataScope, сделать обратный XOR и скормить системе уведомление с таким новым именем.
Надо посидеть, почитать и поковыряться (желательно на изолированной машине, т.к. этот API опасен, чтобы так просто на продакш машине делать тесты)
Ссылки на инфу и инструменты (для себя):
Под катом представлен перевод презентации "The Windows Notification Facility: The Most Undocumented Kernel Attack Surface Yet", представленной Alex Ionescu и Gabrielle Viala на конференции BlackHat...
habr.com
WNF is a Kernel component internally used to send notifications accross the system, which can be abused to achieve malicious goals.
pwnedcoffee.com
By Yarden Shafir, Senior Security Engineer WNF (Windows Notification Facility) is an undocumented notification mechanism that allows communication inside processes, between processes, or between us…
blog.trailofbits.com
C# Utilities for Windows Notification Facility. Contribute to daem0nc0re/SharpWnfSuite development by creating an account on GitHub.
github.com
В целом механизм WNF интересен и представляет из себя способ коммуникации между процессами и между user-kernel space в формате publisher/subscriber (появился, начиная с Windows 8).
Как будет больше свободного времени, ещё поковыряюсь.