Russian Qt Forum
Ноябрь 23, 2024, 09:50
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Программирование
>
Общий
>
Запрет создания скриншотов
Страниц: [
1
]
2
3
...
5
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Запрет создания скриншотов (Прочитано 40109 раз)
Олег
Гость
Запрет создания скриншотов
«
:
Декабрь 25, 2011, 18:32 »
Возникла задача - как запретить пользователю делать скриншоты экрана/частей экрана? Перехватить нажатие PrtScr проблем нет, но существует много программ, делающих скриншоты. Как отслеживать их работу?
Записан
Олег
Гость
Re: Запрет создания скриншотов
«
Ответ #1 :
Декабрь 25, 2011, 19:44 »
После изучения теории задача сводится к тому, чтобы перехватывать системные функции BitBlt и StretchBlt. Вопрос в том, как это сделать?
Записан
_OLEGator_
Гость
Re: Запрет создания скриншотов
«
Ответ #2 :
Декабрь 25, 2011, 19:59 »
Для чего такое извращение? (из разряда - как запретить копировать содержимое web-страницы)
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Запрет создания скриншотов
«
Ответ #3 :
Декабрь 25, 2011, 19:59 »
Цитата: Олег от Декабрь 25, 2011, 19:44
После изучения теории задача сводится к тому, чтобы перехватывать системные функции BitBlt и StretchBlt. Вопрос в том, как это сделать?
Даже если (предположим) удастся каким-то образом это сделать, это все равно плохо, поскольку расходы на реализацию намного превысят эффект самой фичи. Др словами "овчинка выделки не стоит", "лекарство хуже болезни и.т.п.". Когда "выходной экран" представляет какую-то ценность, обычно делают так
- ограничить resolution
- сознательно добавить напр диагональный крест, поставить "печать" и.т..п. Ну как показатель "крутизны" - невидимые "watermark(s)" (будем надеяться до этого дело не дойдет)
Записан
andrew.k
Гость
Re: Запрет создания скриншотов
«
Ответ #4 :
Декабрь 25, 2011, 20:10 »
Цитата: Igors от Декабрь 25, 2011, 19:59
Цитата: Олег от Декабрь 25, 2011, 19:44
После изучения теории задача сводится к тому, чтобы перехватывать системные функции BitBlt и StretchBlt. Вопрос в том, как это сделать?
Даже если (предположим) удастся каким-то образом это сделать, это все равно плохо, поскольку расходы на реализацию намного превысят эффект самой фичи. Др словами "овчинка выделки не стоит", "лекарство хуже болезни и.т.п.". Когда "выходной экран" представляет какую-то ценность, обычно делают так
- ограничить resolution
- сознательно добавить напр диагональный крест, поставить "печать" и.т..п. Ну как показатель "крутизны" - невидимые "watermark(s)" (будем надеяться до этого дело не дойдет)
Почему же не стоит? Например, программа может работать с грифом. Поэтому снятие скриншота такой программы должно быть запрещено.
Цитата: _OLEGator_ от Декабрь 25, 2011, 19:59
Для чего такое извращение? (из разряда - как запретить копировать содержимое web-страницы)
Что в этом извращенного?
«
Последнее редактирование: Декабрь 25, 2011, 20:13 от andrew.k
»
Записан
Олег
Гость
Re: Запрет создания скриншотов
«
Ответ #5 :
Декабрь 25, 2011, 20:16 »
Предлагаю отложить в сторону разговоры о полезности программы, т.к. это всего лишь студенческая задача, следовательно, от реальности оторванная полностью)
Записан
_OLEGator_
Гость
Re: Запрет создания скриншотов
«
Ответ #6 :
Декабрь 25, 2011, 20:19 »
Да потому что цель - это защита от копирования. Вся разница в целевой аудитории - если обычный пользователь, то грош цена таким попыткам и программам - все равно найдут способ снять изображение с экрана, это самой операционной системой предусмотрено.
to andrew.k:
Если целевая аудитория - работа с грифованными документами, то, во-первых, сам доступ к такому компьютеру ограничен, установка дополнительного ПО и даже простая вставка съемного носителя запрещены, так что смысла нету защищаться от копирования.
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Запрет создания скриншотов
«
Ответ #7 :
Декабрь 25, 2011, 20:28 »
Цитата: Олег от Декабрь 25, 2011, 20:16
Предлагаю отложить в сторону разговоры о полезности программы,
А их никто и не ведет, просто "себестоимость" таких решений получится ужасной, поэтому надо искать др. ходы (и посмотреть как люди делают)
Записан
BRE
Гость
Re: Запрет создания скриншотов
«
Ответ #8 :
Декабрь 25, 2011, 20:39 »
Цитата: Олег от Декабрь 25, 2011, 19:44
После изучения теории задача сводится к тому, чтобы перехватывать системные функции BitBlt и StretchBlt.
Это очень наивное утверждение.
Для того что бы сделать скриншот экрана есть много разных вариантов и их число колеблется в зависимости от ОС.
Если говорить серьезно, то необходимо обеспечить полностью свое окружение, т.е. программа загружается вместе с ОС с livecd или подобного источника. И то, думаю, можно подключить кабель от видеокарты не в монитор, а в рекордер умеющий писать HDMI, и поработать с программой.
Записан
Олег
Гость
Re: Запрет создания скриншотов
«
Ответ #9 :
Декабрь 25, 2011, 20:44 »
Цитата: BRE от Декабрь 25, 2011, 20:39
Цитата: Олег от Декабрь 25, 2011, 19:44
После изучения теории задача сводится к тому, чтобы перехватывать системные функции BitBlt и StretchBlt.
Это очень наивное утверждение.
Для того что бы сделать скриншот экрана есть много разных вариантов и их число колеблется в зависимости от ОС.
Если говорить серьезно, то необходимо обеспечить полностью свое окружение, т.е. программа загружается вместе с ОС с livecd или подобного источника. И то, думаю, можно подключить кабель от видеокарты не в монитор, а в рекордер умеющий писать HDMI, и поработать с программой.
Повторюсь, что это учебная задача. Перехвата 2х функций будет более чем достаточно!
Записан
andrew.k
Гость
Re: Запрет создания скриншотов
«
Ответ #10 :
Декабрь 25, 2011, 20:46 »
Цитата: _OLEGator_ от Декабрь 25, 2011, 20:19
Да потому что цель - это защита от копирования. Вся разница в целевой аудитории - если обычный пользователь, то грош цена таким попыткам и программам - все равно найдут способ снять изображение с экрана, это самой операционной системой предусмотрено.
to andrew.k:
Если целевая аудитория - работа с грифованными документами, то, во-первых, сам доступ к такому компьютеру ограничен, установка дополнительного ПО и даже простая вставка съемного носителя запрещены, так что смысла нету защищаться от копирования.
Естественно, без орг. мер нет смысла в любой системе защиты. Твои представления о ЗГТ весьма смутны.
Защищаться от копирования не только есть смысл, но это еще и обязательно.
Не все ограничения можно осуществить орг.мерами.
Например, пользователь может иметь право работать с разными грифами, как НС так и СС. Так же он может иметь право пользоваться съемными носителями (поэтому твои слова неверны). При этом *система* должна запретить перенос информации из грифованного документа в открытый (НС). Это обязательное свойство системы.
Поэтому я и написал, т.к. вы вдвоем даже не зная обстоятельств стали говорить, то это бред и слишком дорого.
«
Последнее редактирование: Декабрь 25, 2011, 20:49 от andrew.k
»
Записан
BRE
Гость
Re: Запрет создания скриншотов
«
Ответ #11 :
Декабрь 25, 2011, 20:46 »
Цитата: Олег от Декабрь 25, 2011, 20:44
Повторюсь, что это учебная задача. Перехвата 2х функций будет более чем достаточно!
В google: hook dll
Записан
Igors
Джедай : наставник для всех
Offline
Сообщений: 11445
Re: Запрет создания скриншотов
«
Ответ #12 :
Декабрь 25, 2011, 21:09 »
Цитата: Олег от Декабрь 25, 2011, 20:44
Повторюсь, что это учебная задача. Перехвата 2х функций будет более чем достаточно!
Налицо "замашки будущего начальника"
Типа "вот я так хочу" - а плохо оно или хорошо, разумно или нет - не волнует. Надо отчитаться - не по делу, не по уму, а так, "абы було". Ну так флаг Вам в руки, гуглите что-то типа "перехват Windows API" - там таких дятлов много
Записан
cya-st
Гость
Re: Запрет создания скриншотов
«
Ответ #13 :
Декабрь 25, 2011, 22:47 »
Цитировать
Повторюсь, что это учебная задача. Перехвата 2х функций будет более чем достаточно!
Ниче себе задачки студентам дают...
запретить делать скриншоты
Записан
vregess
Гость
Re: Запрет создания скриншотов
«
Ответ #14 :
Декабрь 26, 2011, 00:39 »
Цитата: BRE от Декабрь 25, 2011, 20:39
Цитата: Олег от Декабрь 25, 2011, 19:44
После изучения теории задача сводится к тому, чтобы перехватывать системные функции BitBlt и StretchBlt.
Это очень наивное утверждение.
Для того что бы сделать скриншот экрана есть много разных вариантов и их число колеблется в зависимости от ОС.
Если говорить серьезно, то необходимо обеспечить полностью свое окружение, т.е. программа загружается вместе с ОС с livecd или подобного источника. И то, думаю, можно подключить кабель от видеокарты не в монитор, а в рекордер умеющий писать HDMI, и поработать с программой.
Ох как сложно. Нужно просто запустить программу в виртуальной машине - и наделать скриншотов.
Ну а отвечая на вопрос "как запретить пользователю делать скриншоты экрана/частей экрана?" - никак.
Участвовал я в разработке подобной херни, вспоминать не хочется.
Записан
Страниц: [
1
]
2
3
...
5
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...