Оценка программного обеспечения, лицензирующая [закрытый]

Если вы хотите, чтобы эта «контактная» ссылка действовала точно так же, как кнопка, переключающая навигацию, просто добавьте data-toggle="collapse" data-target=".navbar-right2" к этой контактной ссылке ...

<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.3.1.slim.min.js" integrity="sha384-q8i/X+965DzO0rT7abK41JStQIAqVgRVzpbzo5smXKp4YfRvH+8abtTE1Pi6jizo" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js" integrity="sha384-UO2eT0CpHqdSJQ6hJty5KVphtPhzWj9WO1clHTMGa3JDZwrnQq4sF86dIHNDz0W1" crossorigin="anonymous"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha384-JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM" crossorigin="anonymous"></script>


<nav class="navbar navbar-default navbar-fixed-top small-screen">
<div class="container-fluid">
  <div class="navbar-header" style="border-bottom: 1px solid #dedede; width: 100%">
    <a class="navbar-brand top-logo"><img src="img/any.jpg" alt="MRT"/></a>
    <button type="button" class="navbar-toggle" data-toggle="collapse" data-target=".navbar-right2">
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
      <span class="icon-bar"></span>
    </button>
  </div>
  <div id="menor" class="collapse navbar-right2">
    <ul>
      <li><div class="active">Index</div></li>
      <li><div class="inactive"><a href="01.php">One</a></div></li>
      <li><div class="inactive"><a href="02.php">Two</a></div></li>
      <li><div class="inactive"><a href="03.php">Three</a></div></li>
      <li><div class="inactive"><a href="#contact" data-toggle="collapse" data-target=".navbar-right2">CONTACT</a></div></li>
    </ul>
  </div>

13
задан Mark Biek 8 September 2008 в 13:18
поделиться

10 ответов

Я предложил бы, чтобы Вы взяли сведения, которые Вы хотите в ключе, и хешируете его с md5 и затем просто берете первое X символов (где X длина ключа, Вы думаете, управляемо).

Криптографически, это совсем не прекрасно, но это - вид области, где Вы хотите вставить минимальное усилие, которое остановит случайного взломщика - что-либо более быстро становится черной дырой.

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

самой легкой вещью был бы файл ключей как это...

# License key for XYZZY
expiry-date=2009-01-01
other-info=blah
key=[md5 has of MAC address, expiry date, other-info]
9
ответ дан 1 December 2019 в 18:06
поделиться

Компания я работал на на самом деле используемый аппаратный ключ usb . Это было удобно потому что:

  • Наше программное обеспечение было также установлено на той Карте с интерфейсом USB
  • , программа только работала бы, если бы это нашло (уникальный) аппаратный ключ (любая стандартная флеш-карта имеет это, таким образом, Вы не должны покупать что-то специальное, любая палка сделает)
  • , это не было ограничено компьютером, но могло быть установлено в другой системе при желании

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

2
ответ дан 1 December 2019 в 18:06
поделиться

Мы использовали следующий алгоритм в моя компания в течение многих лет без единственного инцидента.

  1. Решают поля, которые Вы хотите в коде. Разрядный пакет как можно больше. Например, даты могли быть "количеством дней с 2007", и затем можно сойти с рук 16 битов.
  2. Добавляют дополнительное поле "контрольной суммы". (Вы будете видеть почему через секунду.) Значение этого поля является контрольной суммой упакованных байтов от других полей. Мы используем "первые 32 бита от MD5".
  3. Шифруют все с помощью ЧАЙ . Для ключа используйте что-то, что идентифицирует клиента (например, название компании + персональный адрес электронной почты), тот путь, если кто-то хочет отправить ключ на межсети, они должны включать свою собственную контактную информацию в простой текст.
  4. Преобразовывают шестнадцатеричное число в строку некоторым разумным способом. Можно сделать прямые шестнадцатеричные цифры, но некоторым людям нравится выбирать другой набор 16 символов для создания этого менее очевидным. Также включайте тире или что-то регулярно, таким образом, легче считать его по телефону.

Для дешифрования преобразуйте шестнадцатеричное число, чтобы представить в виде строки и дешифровать с ЧАЕМ. Но затем существует этот дополнительный шаг: Вычислите свою собственную контрольную сумму полей (игнорирующий поле контрольной суммы) и сравните с данной контрольной суммой. Это - шаг, который гарантирует, что никто не вмешался в ключ .

причина состоит в том, что ЧАЙ смешивает биты полностью, поэтому если даже один бит будет изменен, то все другие биты, одинаково вероятно, изменятся во время дешифрования ЧАЯ, поэтому контрольная сумма не передаст.

это hackable? Конечно! Почти все, но это достаточно трудно и просто реализовать.

, Если связь с контактной информацией не достаточна, затем включайте поле для "идентификатора Узла" и заблокируйте ее к MAC-адресу или somesuch, как Вы предполагаете.

8
ответ дан 1 December 2019 в 18:06
поделиться

Мы сохраняем это простым: сохраните каждые данные лицензий к XML (легкий читать и справиться), создайте хеш целого XML и затем склепа это с утилитой (также собственный и простой).

Это также совсем не прекрасно, но это может содержать в течение некоторого времени.

1
ответ дан 1 December 2019 в 18:06
поделиться

Я использовал обоих FLEXlm из Macrovision (раньше Путешественник) и более новый RLM из программного обеспечения Повторения (как я понимаю, записанный исходными авторами FlexLM). Оба могут выключить или MAC-адрес или физический аппаратный ключ, может быть или заблокирован узлом (связанный только с одной машиной), или "плавающий" (любая авторизованная машина в сети могла скупо выдать лицензию центральным сервером лицензий, до максимального количества одновременно проверил копии, определенные тем, сколько они оплатили). Существует множество гибких способов настроить его, включая даты истечения срока, человек сублицензировал функции и т.д. Интеграция в приложение не является очень трудной. Это просто два, которые я использовал, я уверен, что существуют другие, которые делают задание точно также.

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

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

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

Не все могут взять этот вид отношения дзэн. Некоторые люди не могут спать ночью, зная, что кто-то где-нибудь ни для чего получает что-то. Но попытайтесь учиться иметь дело с ним. Вы не можете остановить пиратов, но можно сбалансировать время/усилие/расход, пытаясь остановить все пиратство по сравнению с созданием продукта лучше для пользователей. Помните, иногда самые пиратские приложения являются также самыми популярными и прибыльными. Удача и сон хорошо.

17
ответ дан 1 December 2019 в 18:06
поделиться

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

, Если это не делает, я думаю, идя с коммерческим продуктом, способ пойти. Да, они могут быть взломаны, но для человека, который абсолютно полон решимости взломать его, маловероятно, что они когда-либо платили бы.

Мы использовали: http://www.aspack.com/asprotect.aspx

Мы также используем вызов функции в их sdk продукте, который дает нам уникальный идентификатор для машины.

Хорошая компания, хотя ясно не носители английского языка, так как их первый продукт назвали "AsPack".

0
ответ дан 1 December 2019 в 18:06
поделиться

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

Ничто не действительно безопасно, в конечном счете посмотрите на крупных игроков Microsoft и т.д., они идут с образцовыми честными людьми, заплатит, и другой скопирует, не прикладывайте слишком много усилий к ней.

, Если Вы приложение стоите оплатить деньги людей, будет.

1
ответ дан 1 December 2019 в 18:06
поделиться

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

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

В прошлом я использовал Броненосца (теперь паспорт программного обеспечения) для проектов C++. Я в настоящее время использую XHEO для проектов C#.

0
ответ дан 1 December 2019 в 18:06
поделиться

Не использовать MAC-адреса. На каком-то оборудовании мы Мы протестировали - в частности, некоторые IBM Thinkpads - MAC-адрес может измениться при перезапуске. Мы не удосужились исследовать , почему это было так, но довольно рано в ходе нашего исследования мы научились не полагаться на это.

Обязательный отказ от ответственности и заглушка: компания, соучредителем которой я, производит OffByZero Решение по лицензированию Cobalt . Так что, вероятно, вас не удивит, что я рекомендую передать лицензию на аутсорсинг и сосредоточиться на ваших основных компетенциях.

Серьезно, в этом вопросе довольно сложно разобраться, и последствия неправильного решения могут быть довольно серьезными. Если у вас небольшой объем по высокой цене, несколько пиратских копий могут серьезно повлиять на ваш доход, а если вы работаете с большими объемами по низкой цене, то у warez d00dz есть стимул взломать ваше программное обеспечение для развлечения и репутации.

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

Хорошая система лицензирования поднимает планку настолько высоко, что покупка вашего программного обеспечения является лучшим вариантом, особенно с учетом роста числа пиратских программ, зараженных вредоносным ПО. Мы рекомендуем вам принять ряд мер по обеспечению безопасности вашего приложения:

  • получите хорошую стороннюю систему лицензирования
  • добавьте в код проверок с учетом области действия (например, нет одной глобальной переменной, такой как fIsLicensed, не проверяйте статус функции рядом с кодом, реализующим эту функцию)
  • использовать серьезную обфускацию в случае кода .NET или Java
4
ответ дан 1 December 2019 в 18:06
поделиться

Я использовал несколько различных продуктов, которые генерируют лицензии, и создал свое собственное решение, но оно сводится к тому, что даст вам наибольшую гибкость сейчас и в дальнейшем.

Темы, на которых вам следует сфокусироваться для генерации собственных лицензионных ключей - это...

HEX-форматирование, криптография эллиптических кривых и любой из алгоритмов шифрования, таких как AES/Rijndael, DES, Blowfish, и т.д. Они отлично подходят для создания лицензионных ключей.

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

Я позаботился о создании своего собственного решения, но в конце концов, когда дело дошло до того, чтобы заработать на программном обеспечении, мне пришлось отказаться от него и получить коммерческое решение, которое сэкономило бы мне время в генерации ключей и управлении линейкой продуктов....

Моим любимым до сих пор был License Vault от SpearmanTech, но я также пробовал FlexNet (дорогое), XHEO (слишком много программирования требуется) и SeriousBit Ellipter.

В конце концов я выбрал продукт License Vault, потому что я бы получил его за гораздо меньшую цену, чем другие, и он просто мог предложить мне больше, чем мы делаем большую часть нашей работы в .NET 3.5.

.
1
ответ дан 1 December 2019 в 18:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: