2010-03-20 2 views
3

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

Как я могу это сделать?

Есть ли способ использовать пробную программу через 30 дней?

+1

Я запустил его с помощью 'wine' –

+0

Вместо этого я бы использовал виртуальный бокс.;-) – Kris

+0

Вино не работает для всех программ;) – xRobot

ответ

12

Всегда можно использовать пробную программу через 30 дней.

+0

Если всегда есть путь, то почему adobe и другое программное обеспечение создают пробную версию своих программ? – xRobot

+1

Есть много причин для этого, но плохие парни всегда будут иметь ограничение на 30 дней, если захотят. Это дает возможность обычным пользователям попробовать программное обеспечение, прежде чем инвестировать в него, «свободный» маркетинг для компании, проблемы с PR и т. Д. –

+1

Более или менее достоверное и пробное программное обеспечение, как правило, довольно раздражает (я обычно получаю тестовые материалы для 10 минут за эти 30 дней). Но это можно сделать достаточно надежно. Но вы никогда не сможете заблокировать его сильнее, чем один умный хакер может открыть его. так что повышайте истину – Kris

3

Попросите программу запросить ключ от вашего сервера при первом запуске и проверить его достоверность при каждом запуске программы и каждые 24 часа.

+0

... и требуете подключения к интернету и без брандмауэра? – Vlad

+0

Что делать, если пользователь удаляет ключ? Тогда программа подумает, что это «первый запуск». –

+0

никакой пробный метод никогда не будет доказательством на воде, см. Мой комментарий к ответу Туомаса, который является ответом i upvoted. – Kris

11

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

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

+3

I * HATE * веб-приложения, но в основном они являются решением этой проблемы. Не уверен, что это проблема. Люди, которые используют программное обеспечение профессионально, обычно платят за него даже без какой-либо защиты программного обеспечения (посмотрите на Oracle и IBM ...), и люди, которые пиратствуют, не купили бы его в любом случае, а если они пиратствуют, вы получите видимость, и люди будут изучать ваше программное обеспечение. –

7

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

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

+0

+1 для не только указания очевидного, но и обеспечения жизнеспособной альтернативы –

+0

Возможно ... Постройте две версии. Но убедитесь, что полная версия имеет зашифрованные данные, чтобы определить, кто ее купил, потому что он * будет * все еще попадать в дикую природу. Тогда вы не можете это остановить, но можете обвинить кого-то. Я также рекомендую, чтобы программа посетила ваш сайт для разрешения на запуск. – Mawg

+0

«Постоянный» ключ также должен кодировать нечто уникальное для лицензии. Я против использования веб-доступа, если это приложение для настольных компьютеров - вредит вашему приложению только потому, что он не может получить доступ к вашему веб-сайту, это неприятно. – tvanfosson

1

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

+1

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

6

Из моего ответа на implementing-expiration-dates-in-an-application/1871218#1871218:

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

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

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

+0

+1 Просто за то, что я комментировал сегодня коллегу, что пробный период BeyondCompare (я сам владею лицензией) является одним из самых разумных, разумных способов, с которыми я это видел. Обычно я парень, который устанавливает пробную версию и затем указывается в другом направлении, только чтобы вернуться через несколько недель и найти неиспользованную «пробную» версию. – Dan

Смежные вопросы