Шаги по публикации программного обеспечения, приобретаемого через регистрацию

Я собираюсь закончить разработку приложения для Windows, которое хочу выпустить как условно-бесплатное ПО. Он был разработан на C # и будет работать на машинах .Net 3.5+. Чтобы использовать его, пользователь должен быть в сети.

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

Установщик будет доступен через файл msi.

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

Я все еще не уверен, подходят ли они.

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

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

Я благодарен за любую помощь, которую мне могут оказать.


person Thorsten Lorenz    schedule 02.09.2009    source источник


Ответы (3)


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

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

Чтобы убедиться, что два человека не используют один и тот же серийный номер, ваша программа должна «позвонить домой». Многие программы делают это во время установки, передавая вам серийный номер в процессе установки. Если вы хотите делать это в режиме реального времени, ваше приложение должно будет периодически подключаться к вашему серверу и сообщать: «Этот серийный номер уже используется».

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

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

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

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

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

person AaronSieb    schedule 02.09.2009

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

Я впервые начал пользоваться условно-бесплатным программным обеспечением в 1990 году. Тогда фраза была S = R, что означало условно-бесплатное программное обеспечение, равное зарегистрированному. С тех пор многое изменилось. Интернет полон статики, и вам нужно выяснить, как быть услышанными выше статики.

Вот кое-что, что я узнал

  • Не влюбляйтесь в свое программное обеспечение. Кто-то всегда будет думать, что это должно работать по-другому. Не пытайтесь преобразовать их в свой образ мышления, вместо этого слушайте и составляйте список улучшений для следующего выпуска.
  • Узнайте, как продать или заплатить кому-то, кто поможет вам продать ваши вещи
  • Digital River владеет большинством регистрационных компаний.
  • Create free loss leaders that direct traffic back to you
  • Find a niche that is has gone unmet and fill it
person Michael Riley - AKA Gunny    schedule 01.11.2009

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

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

И беспокоиться о проникновении на рынок. Увеличьте установленную базу, предоставив базовый продукт без каких-либо условий. ура - Рик

person rleir    schedule 02.09.2009