Обсуждение серийного номера оборудования.Лицензионная защита - PullRequest
1 голос
/ 09 апреля 2011

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

  • У пользователя есть 2 жестких диска, и как только мое приложение получит свой серийный номер с первого жесткого диска, оно зарегистрируется на нем, так что если пользователь позже изменит порядок жестких дисков?если второй жесткий диск становится ведущим, а первый становится подчиненным?может быть решено с получением обоих и объединить их вместе, но что, если позже он удалит один тогда?: D
  • Что, если умирает жесткий диск пользователя и он покупает новый?Это все тот же ПК, только другой жесткий диск.Так что лицензия больше не будет действительна только потому, что это другой жесткий диск.
  • Возможно ли его подделать?Пример Я использую VB.net 2010, и приложение работает на платформе (.net), поэтому существует некоторая «dll», которая отвечает за получение серийного жесткого диска, поэтому можно было бы заменить эту «dll» (взломать), чтобы онавозвращает какой-то жестко запрограммированный серийный номер жесткого диска?!?
  • Возможно ли получить серийный процессор?это было бы намного хуже, но можно ли это сделать?и есть ли у процессора серийный, я имею в виду, вероятно, есть, но возможно ли его получить?и тот же вопрос, что и выше, может ли он быть подделан через изменение "dll" или что-то ещекак это, но не мог найти некоторые ответы, так что теперь я спрашиваю здесь!

    ------ EDITED / ADDED: -------

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

    • Создание собственного установщика. Почему? , если я создаю установщик в котором вы вводите серийный номер и только если серийный номер в порядкеиспользовать затем установить программное обеспечение, так что он делает?он извлекает мое программное обеспечение на ваш компьютер, и у вас снова есть «.net» exe, который вы можете легко декомпилировать и сделать крэк для него, так какой смысл делать установку с помощью serial !?или если мое программное обеспечение «защищено» каким-то обфускатором, поэтому установка с использованием последовательного интерфейса здесь не требуется, тогда я мог бы просто включить регистрацию последовательного интерфейса в моем программном обеспечении и использовать некоторое логическое хранилище.1034 * Мне пришло письмо от одного человека, кстати.duno, где ты получил мою почту :), и он говорит некоторые умные вещи и почему некоторые из вас, люди, не отвечают на мой вопрос и это обсуждение, и что он говорит так: «боится, что другие увидят мой код и насколько он плох».тогда люди просто не хотят тратить на это время.ну, это не проблема, я знаю, что мой код большой "минестроне", большой беспорядок, много слов (переменных), некоторые по-английски, некоторые по-хорватски, поэтому хорошо, что мое программное обеспечение работает, это важно, и я знаю, что все * мы все знаем * что-то знают (больше или тесто), что другой.в любом случае, это не проблема, проблема в том, что я не хочу, чтобы программное обеспечение было с открытым исходным кодом. Допустим, мое программное обеспечение - «фотошоп», и теперь кто-то скачивает, щелкает там и там и имеет весь код и может легко копировать, вставлять, изменять несколько вещей и никаких проблем.он сделал хорошее приложение:)

    • пользовательский компилятор ?У кого-нибудь есть опыт?это было бы хорошо в течение некоторого времени?:)

    • какое другое решение или язык будет полезно использовать в будущем, чтобы избежать этого "открытого источника" .net!я искал вокруг, так что для vb.net, c #, c ++ все основано на .net, так что все то же самое.VB6, который я люблю снова то же самое.все они могут быть легко декомпилированы!какой язык не может быть так легко декомпилировать?я должен переключиться на ассемблер?: D я шучу, я надеюсь!: p

    может быть, я слишком много нервничаю, много работы!duno, вы решаете:)

    ПОЖАЛУЙСТА, ПРОЧИТАЙТЕ МОЙ ВОПРОС И, ПОЖАЛУЙСТА, НЕ ОТВЕТЬТЕ НА ЧТО-ТО, КАК "ПИРАТИЯ НЕ МОЖЕТ БЫТЬ ОСТАНОВЛЕНА БЛА БЛА" И ВЕЩИ, КАК ЭТО.ЭТО МОЙ ВОПРОС!СПАСИБО!

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

Ответы [ 4 ]

2 голосов
/ 10 апреля 2011

Позвольте мне сначала ответить на ваши вопросы:

  1. Если порядок жестких дисков изменится, ваше приложение все равно сможет найти этот серийный номер в системе.Однако в любом случае я прибегну к схеме, в которой я использую устройство системного раздела или около того.
  2. Если HDD умирает, у пользователя будут проблемы.Нет хорошего решения для этого, пока вы настаиваете на своем источнике для уникальности системы пользователя: то есть последовательный жесткий диск.
  3. Это абсолютно возможно, да.На разных уровнях, правда.Взломщик всегда выберет самый простой метод.
  4. Да.Я боюсь, что это будет работать только с неуправляемым кодом, хотя.См. Википедия .И да, это можно снова обойти путем размещения DLL (см. Мой комментарий к вопросу).

Теперь позвольте мне дать вам совет, который отлично сработал для меня.Используйте SID учетной записи компьютера (не путайте с SYSTEM, которая имеет известный SID).И до того, как вы начнете бороться с NewSid (который, кстати, был удален MS), это гораздо больше усилий, чтобы измениться, особенно в доменных средах, и может иметь очень неприятные и непредвиденные последствия.Поэтому, если вы хотите привязать ваше приложение к установке Windows, SID будет достаточно.SID имеет те же преимущества, что и UUID, который вы можете создать, но им не так легко манипулировать, как UUID, который вы храните в реестре или файле.

О, и прежде, чем я забуду упомянуть об этом.Да, даже использование SID может быть «взломано» различными способами.Но это уравновешивает удобство для пользователя с вашими требованиями к безопасности.

2 голосов
/ 09 апреля 2011
  1. Да, вы должны знать об этом. Вам понадобится несколько резервных методов, чтобы позаботиться об этом
  2. Вы должны также знать об этом.
  3. Все подделано с некоторой энергией позади. Однако зачем подделывать такой идентификатор, если вы просто можете манипулировать самой программой? Весь код .net может быть разобран и обработан
  4. Думаю, это тоже возможно, но за этим стоит та же проблема.

Другое предложение:

Только потому, что есть пиратство, не делайте опыт плохим для вашего клиента. Используйте что-то, что можно многократно использовать (например, серийный номер или ключевой файл), инвестируйте в хороший обфускатор, чтобы затруднить кому-то проверку вашего кода, но помимо всего этого: сделайте ваше приложение выдающимся, чтобы люди его покупали. И даже если вы не просили об этом, я должен это сказать - вы не можете остановить пиратство, навязывая похожий на оруэлли надзор за вашей программой. Это оттолкнет клиентов, поскольку работа с вашим приложением затрудняет работу * ss. С серийным или ключевым файлом у вас все еще есть какая-то защита, покупателю это нравится, потому что она проста в использовании, ему не нужно звонить вам / писать заявку в службу поддержки, если его компьютер выходит из строя или звезды помечаются неблагоприятно. Пираты в конце концов сломают его, но ваш клиент доволен, и это главное.

0 голосов
/ 11 апреля 2011

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

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

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

Почему бы не использовать коммерческое решение? Не могли бы вы написать свою собственную программу установки? Как насчет вашего собственного компилятора, компоновщика и отладчика?

0 голосов
/ 10 апреля 2011

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

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

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...