2013-08-21 2 views
2

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

В основном, что я планирую делать, сохраняйте видеофайлы, зашифрованные на компакт-диске, и дешифруйте их в ОЗУ, поэтому не каждый игрок может играть в зашифрованный файл, только мой игрок может, и они не будут скопированы (надеюсь). Я слышал аналогичный проект, сделанный на Delphi, но я не знаю, лучший ли это в C#.

Мои вопросы

  1. ли это хороший подход в C#?
  2. Этот метод подходит для файлов mp4 или avi?
  3. Есть ли библиотеки для этого процесса на C#?

Прогресс: Я искал о CD копирования защиты в SO. Пользователь рекомендовал хранить данные на компакт-дисках предварительно записанной области и хранить их где-нибудь. Возможно, я могу создавать уникальные игроки, каждый из которых может иметь встроенные данные. Или, используйте базу данных в Интернете, но я боюсь, что это создаст больше утечек безопасности, мне также понадобится защитить базу данных. Однако это может быть лучше, поскольку у пользователя нет ключа, встроенного в их программу. Я чувствую, что я действительно застрял :) Любая помощь будет оценена.

ответ

1

DRM is всегда безопасность через безвестность. Пока вы неясны, это может сработать для вас какое-то время. Однако ...

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

Например, вы объединяете некоторые «вещи» с целевого компьютера, указываете идентификатор тома основного жесткого диска, создаете временную метку или системный том (просто чтобы это было просто), тогда вы пишете веб-сервис, который регистрирует программное обеспечение эти элементы времени и генерируют токен, и это возвращается к пользовательскому компьютеру любым механизмом. Затем ваше программное обеспечение затем загружает токен по тому же алгоритму, когда проигрыватель запускается и с ошибкой лицензирования, если они не совпадают.

У вас теперь есть новые проблемы. 1) Люди могут проверять локальный исполняемый файл, чтобы определить алгоритм токена, и только там, где он вычисляет флаг OK/NOT OK и исправляет код, чтобы он мог расшифровывать видеопоток. 2) Если кто-то перестроит свой компьютер из-за сбоя жесткого диска, их программное обеспечение больше не работает. Таким образом, вы должны понять это, если вы не хотите, чтобы несчастные клиенты говорили о вас плохо на Facebook. 3) Люди знают, что ваш сервер лицензирования снизится, когда вы выйдете из бизнеса, умрете и т. Д., Чтобы они не покупали ваше защищенное видео в первую очередь. 4) Вы потратите много времени, чтобы потратить больше продуктивно зарабатывая деньги, делая что-то полезное. 5) И вы тоже будете тратить деньги

Используя DVD и собственную защиту от копирования, вы не тратите много времени, но вы не получаете много защиты, так как многие люди достаточно умны, чтобы введите «decrypt dvd» в свою любимую поисковую систему. Это сценарий «Кобаяши мару»

Забудьте упомянуть один последний гроб для гроб. C# - плохой подход для обеспечения безопасности через неясность, потому что CLR можно легко разобрать, вам также нужно будет запутать ваш код на C# - все же гораздо проще декомпилировать/отладить этот собственный код x85.

+0

Какой язык лучше для этого? – Kuzgun

+0

CLR-код легче декомпилировать, чем собственный код X86 - много символов символизируется компилятором при использовании CLR. Исходное смятение не имеет значения до тех пор, пока оно является внутренним кодом. Я читал, что неуправляемый C++ в Visual Studio генерирует собственный код, но я никогда не подтвердил его лично. Вы, конечно, потратите еще больше времени на создание неуправляемого C++, поскольку его просто сложнее написать, особенно. если вы не владеете. –

2
  1. Нет, это нехороший подход. Предположим, что компакт-диск будет скопирован, но ваш плеер не будет. Это маловероятно.

  2. В общем, эти файлы могут воспроизводиться другими приложениями в любом случае (если вы зашифруете файлы, они больше не будут AVI-файлами). Вы могли бы скремблировать видео, так что другие приложения могут его воспроизвести, но это выглядит просто неправильно. Может быть так же просто, как пролистывание R и G каналов в RGB.

  3. Нет, потому что идея является ошибочной для начала. См. Пункт 1. Однако, вероятно, масло змеи для продажи.

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

+0

Я знаю, что нет защищенного от пули шифрования, и, вероятно, я смогу добавить среднюю защиту. Но все же я хочу сделать все возможное и искать варианты. Я могу попробовать скремблировать видео, если не найду лучшего решения. Спасибо – Kuzgun

Смежные вопросы