@gapaned644

Можно ли внутри дэсктопного приложения отследить был ли сделан скриншот?

Может ли дэсктопное приложение отследить был ли сделан скриншот другим приложением?
И зависит ли это от технологии, при помощи которой написано приложение (которое может потенциально может отследить)? Например C/C++, C# могут, а JS/Electron не могут отследить был ли сделан скриншот сторонним ПО.

ОС: Windows и macOS.
  • Вопрос задан
  • 969 просмотров
Пригласить эксперта
Ответы на вопрос 6
BasiC2k
@BasiC2k
.NET developer (open to job offers)
Скриншот сделанный на телефон ничем не отследите.
Ответ написан
hottabxp
@hottabxp
Сначала мы жили бедно, а потом нас обокрали..
В Windows можно попытаться перехватить функции GetForegroundWindow, GetWindowRect и ещё несколько. Но сначала нужно разобраться, какие методы есть снятия скриншота.
Теоретически, можно применить эвристический анализ. Например, если программа вызывает методы GetForegroundWindow, GetWindowRect, CreateCompatibleDC и еще какие-то, значит, теоретически она может сделать скриншот.
Ответ написан
Комментировать
@rPman
В общем случае это сделать невозможно, точно помню с помощью directx (наверняка и opengl/vulkan) можно получить прямой доступ к содержимому экрана или буферам видеокарты.

На stackexchange посоветовали повеситься на события и анализировать память, буквально всю, в т.ч. на наличие хеадеров jpeg/png/....

Т.е.запрет возможен только административными способами.
Ответ написан
Комментировать
@acwartz
Тут должна быть ваша реклама.
Головная боль любого античита и читерских программ))
Можно реализовать путем перехвата различных функций как прямого назначения, так и функций отрисовки защищаемого приложения, чуть ли прямой захват буфера с видеокарты и прочие извращения из ring0. Но как сказали выше, фото сделанное на телефон - никто не отследит.
Ответ написан
Комментировать
CityCat4
@CityCat4 Куратор тега Информационная безопасность
Внимание! Изменился адрес почты!
Нет. Ну, в общем случае.

Я запустил програму в VB, а скриншот делаю в хостовой оси средствами самой оси - как Вы отследите возникновение события, о котором представления не имеете?
Хотя некоторые СМП типа Стахановца я думаю способны, но только потому что ставят своего агента.
Кстати насчет "сфотать экран" - у Стахановца есть такая фича (сам еще не проверял) - при наличии на компе камеры он отслеживает попытку сфотать экран! Оруэлл плачет от зависти... :)
Ответ написан
Комментировать
@AlexSku
не буду отвечать из-за модератора
Проверять буфер?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы