Обнаружьте, когда пользователи сделают снимки экрана моей программы

решено

Это была ошибка в пакете, который я установил: атом-речь-код.

Unistalled пакет Atom перезапущен Теперь Atom работает нормально.

6
задан Claudiu 21 April 2009 в 22:25
поделиться

10 ответов

Что бы вы ни делали, люди найдут способ обойти это. Предположим, существует такой метод, при котором вы можете надежно обнаружить другую программу, сделав снимок экрана вашего приложения. Чтобы обойти это, я мог бы установить VirtualBox, запустить ваше приложение внутри виртуальной машины, а затем заставить программу сделать снимки экрана VirtualBox (который затем содержит ваше приложение). Ваша заявка не может знать, что ее сфотографировали.

28
ответ дан 8 December 2019 в 02:04
поделиться

What if I use a video camera? What if I capture the video coming between the computer and the monitor?

I'll be surprised to learn there's any practical way to do this.

7
ответ дан 8 December 2019 в 02:04
поделиться

Это никогда не сработает. Мало того, но попытки обеспечить этот уровень безопасности причинят неудобства 99% ваших законных пользователей.

Возможно, вам лучше всего подойти к проблеме с точки зрения выявления нежелательного использования / копий вашей информации и подхода. люди / компании, использующие эту информацию.

Закон об авторском праве подходит для этого подхода, но я понимаю, что в некоторых случаях этот подход недоступен.

7
ответ дан 8 December 2019 в 02:04
поделиться

Вы можете (ненадежно) сделать это, используя SetWindowsHookEx .

Вот полный пример VB.NET.

Однако есть много способов обойти это. , Крюк, установленный после вашего, «переопределит» ваш крючок. Пользователи могут делать снимки своего экрана разными способами, как описано в этой теме. Я бы попытался рассмотреть другие варианты защиты, кроме этой.

4
ответ дан 8 December 2019 в 02:04
поделиться

Во-первых, комментарии об использовании виртуальной машины совершенно бессмысленны - гораздо проще обнаружить окна, работающие под виртуализатором, чем обнаружить снимок экрана.

Хороший способ сделать Снимками экрана было бы трудно переписать вашу программу для запуска в полноэкранном режиме под каким-то исконным экстендером.

Хороший способ запретить 95% пользователей, которые когда-либо пытались сделать снимок экрана, - это отображать огромный мигающий баннер при запуске (" снимки экрана запрещены! вас забанят! ") и определите, что пользователь нажимает PrtScrn в течение следующих 15 секунд.

3
ответ дан 8 December 2019 в 02:04
поделиться

It's pretty hard to stop it completely... A user who is determined enough could just take a photo of the screen with a digital camera.

2
ответ дан 8 December 2019 в 02:04
поделиться

Another reason why I think it will be impossible to achieve this:

A long time ago, I failed to make a screen capture of the content of Windows Media Player, because (I assumed) WMP streamed that content to the videocard right away. (Fun detail: after pasting the screen capture, the video would continue playing in MS Paint, but saving the image would eventually yield a black square). Anyway, using VNC made it very easy to get the screen capture after all.

2
ответ дан 8 December 2019 в 02:04
поделиться

The way I usually take screenshots (from C#) is by calling BitBlt, which is the basis of a lot of screen painting. Not sure how you'd intercept calls to it in any meaningful way, since probably every program on the system uses it at a low level.

1
ответ дан 8 December 2019 в 02:04
поделиться

Я полагаю, что вы действительно не можете, потому что вы всегда можете запустить вашу программу в окне с виртуальной машиной, а затем использовать программу захвата на внешней платформе, и знать, насколько это хорошо, очень сложно. , Я предлагаю больше подумать о способах особого темпа рендеринга или чересстрочной развертки, особых контрастов и т. Д.

Вы также можете выводить свои выводы на экран, как если бы это был фильм, кодировать его с помощью кодера с низкой скоростью и разрешением, поэтому что снимок каждые 100 мс будет настолько низким, что будет бесполезным. (Вы когда-нибудь замораживали низкокачественный фильм?)

однако вам действительно стоит подумать об использовании других способов защиты вашей информации.

1
ответ дан 8 December 2019 в 02:04
поделиться

есть один способ, который, я думаю, может остановить это. узнайте, например, о технологии, которая размывает графический дисплей при его дублировании.

скриншот, сфотографировано цифровой камерой скриншот из виртуальной ОС.

поиграйте с ним, кто знает, может вы изобрели что-то, что принесет вам миллионы.

-1
ответ дан 8 December 2019 в 02:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: