2012-03-01 4 views
0

Просто создал приложение в Adobe Air. Клиент теперь говорит, что хочет безопасности на DVD (остановить DVD от копирования или серийного ключа)Adobe Air Security Aspect

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

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

+0

Нужно ли защищать ваши сериалы от многократного использования? Это можно сделать при активации сети (и потребуется серверная сторона). Или вам нужен только самый простой (самый дешевый) замок? – alxx

+0

@alxx Спасибо за ответ - В основном мне нужно следующее: у меня есть приложение на 4 набора из 2 DVD (отдельные модули). Я хотел бы генерировать серийные коды, чтобы DVD мог работать только с этим серийным номером. Нет активации в сети или активации сервера. Серийный номер вводится после установки, и если ok устанавливается, если не устанавливается прерывание. Что-то, что бы сделать DVD трудно скопировать для «joe public», было бы хорошо, как добавленная безопасность, но в первую очередь это необходимо. Возможность генерировать случайные серийные ключи. Можете ли вы ответить завтра и посоветовать? Спасибо ... –

+0

@alxx - Нужно ли защищать ваши сериалы от многократного использования? Это было бы полезно.Скажем, если мошенник приобрел копию с серийным номером, а затем продан на нескольких экземплярах, то этот вариант использования будет отличным. Как уже упоминалось, не будет активироваться в режиме онлайн. Лучше всего копировать DVD из копирования. В противном случае это использование серийного ключа. Остановка того же серийного ключа используется во многих случаях. Надеюсь, что это имело смысл, просто нужно закрыть решение. Еще раз спасибо .... –

ответ

0

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

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

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

+0

Спасибо за это. Я отдам это. Я свяжусь с вами, если что-то еще понадобится. В случае успеха я попрошу вас получить контактные данные ..... Спасибо за помощь до сих пор. Очень признателен. –

+0

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

+0

Извините, нет кода вокруг, он похоронен где-то в архивах ... – alxx