Adobe Air Security Aspect - PullRequest
       9

Adobe Air Security Aspect

0 голосов
/ 02 марта 2012

Только что создал приложение в Adobe Air.Теперь клиент говорит, что хочет обеспечить безопасность на DVD-диске (запретить копирование DVD-диска или серийный ключ)

Можно ли каким-либо образом предоставить некоторую форму защиты серийного ключа в Adobe AIR.Я думал о чем-то вроде написания небольшого сценария с примерно 50 «серийными номерами» в некоторых для XML или базы данных.Когда скрипт запускается, он позволяет выполнить программу, если задан правильный серийный номер, иначе процесс прерывается.

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

1 Ответ

0 голосов
/ 05 марта 2012

Я бы закодировал некоторую информацию в сериалы для приложения для проверки правильности (какая-то контрольная сумма.) Для этого требуется несколько задач:

  • Кодирование байтов в читаемые символы серийных номеров . Используя ограниченный алфавит из 10 цифр и 22 латинских символов, мы получаем 32 варианта на символ, что дает 5 бит. Итак, 20 символов стоят 100 бит, то есть 16 с половиной байтов. Сложная часть состоит в том, чтобы разделить оригинальные 17 байтов на 5-битные куски (на самом деле ничего сложного, действительно, не может быть решено с помощью сдвигов и масок, просто требуется тщательное кодирование.)
  • Декодирование символов серийного номера в исходные байты. Используя наши таблицы пользовательских алфавитов, преобразуйте каждый символ в 5 бит и склейте их вместе в 17 байтов (снова сдвиги, маски и тщательное кодирование:)
  • Определение содержимого серийного номера. Хотя возможностей бесчисленное множество, это можно сделать просто: первые несколько байтов являются «магическими» фиксированными. Если приложение декодирует их из серийного номера, это действительно. Остальные байты случайным образом меняются от последовательного к последовательному.
  • Если мы оставим это так, все наши действительные сериалы начнутся с одинаковых символов - закодированных «магических» байтов. Чтобы все перемешать, я предлагаю использовать симметричное шифрование. Есть библиотека as3 crypto , которая обеспечивает алгоритм RC4. Вы можете проверить его на демонстрационной странице - выберите раздел «Секретный ключ», установите шифрование на RC4, а форматы текста ключа, текста и шифра - на «шестнадцатеричный».
  • Теперь генерация сериала выглядит следующим образом: берите «волшебные» байты, добавляйте случайные, чтобы получить 16 байтов. Зашифруйте это сообщение и преобразуйте в последовательный.
  • Программа проверит серийный номер так: преобразует символы в 16 байтов, расшифровывает их тем же ключом и проверяет наличие «магических» байтов.

Если вы оставите четыре байта для «магических», это означает, что один действительный сериал до 4 миллиардов. Для обычных людей этого должно быть достаточно для защиты (необычные просто декомпилируют вашу программу и ускоряют проверки, поэтому посмотрите на программное обеспечение, такое как SecureSWF, чтобы предотвратить это).

...