Как защитить видеопамять приложения от копирования через DirectX и GDI

Тема в разделе "WASM.DirectX", создана пользователем _exe_, 9 апр 2008.

  1. _exe_

    _exe_ New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2008
    Сообщения:
    4
    Всем привет.
    Пишу в этот раздел, а не в раздел защиты, так как именно в этой ветке собрались специалисты по графическим делам.
    Подскажите как защитить приложение от грабинга различными программами типа HyberSnap и ему подобных. От ACDSee 9.0 Photo Manager скриншотов спасает установка окну свойства полупрозрачности 99%, но это не спасает от HyberSnap.
    Задача примерно такая. Защитить приложение от снятия экрана. То есть чтобы сторонее приложение не могло сграбить отображаемые в окне приложения документы. Сторонее приложение не использует сплайсинг и прочие технологие внедрения в контекст приложения. В общем чтобы было не возможно сделать скриншот с помощью проги HyperSnap и ее аналогами.
    Помогите.
     
  2. Rustem

    Rustem New Member

    Публикаций:
    0
    Регистрация:
    8 мар 2004
    Сообщения:
    429
    Адрес:
    Russia
    Не хочется огорчать, но это бесполезно. На худой конец сфоткают с моника
     
  3. _exe_

    _exe_ New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2008
    Сообщения:
    4
    Спасибо за ответ но, фотографирование не входит в условие. В условие входит только сьем через приложения.
     
  4. keYMax

    keYMax New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2003
    Сообщения:
    276
    Адрес:
    Новоуральск
    Где то на форуме уже пробегала похожая тема. На мой взгляд тем же directdraw легко снимать рабочий стол вместе со всеми overley, так что просто так защитится не получится ну никак.
     
  5. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    Да, DirectDraw даёт прямой доступ к видеопамяти, и как от него защититься не понятно.
    С другой стороны если как-то косвенно защищаться. Вроде как в некоторых режимах, в дебаге, видяха возвращает мусор, а не предидущий кадр. Но это естественно для исходного процесса. Так что дествительно сделать простую защиту врятли.
    Может блокировать передний буфер? Но сложно сказать, у меня такой задачи не было.
     
  6. _exe_

    _exe_ New Member

    Публикаций:
    0
    Регистрация:
    9 апр 2008
    Сообщения:
    4
    Если можно, обьясните пожалуйста как блокировать передний буфер.
     
  7. keYMax

    keYMax New Member

    Публикаций:
    0
    Регистрация:
    2 июл 2003
    Сообщения:
    276
    Адрес:
    Новоуральск
    Например, для защиты от directdraw все опять же сводится к написанию или приложения или драйвера хукающего его функции и методы и там уже решать давать блитить primary surface или нет.
     
  8. Booster

    Booster New Member

    Публикаций:
    0
    Регистрация:
    26 ноя 2004
    Сообщения:
    4.860
    _exe_
    Есть такой метод у поверхностей DirectDraw - Lock, для копирования на неё. Microsoft рекомендует разблокировать её как можно быстрее. По идее это глобальная блокировка, для первичной поверхности, хотя могу ошибаться. Возможно её всё равно могут снять извне.