Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];




Вниз

Как правильно организовать Trial версию программы? 


yuger   (2001-12-17 16:39) [0]

Думаю выше сказанный вопрос интересует многих, кто хочет заняться шареваре.
По моему видению проблемы можно сделать так:
1) после инсталляции программа кудато пишет инф. о дате установки (при последующих запусках она эту запись видит и не переписывает).
2) при каждом запуске программа проверяэт зарегистрирована ли она. Ищет введенный сер. код в опр. месте.
3) если не находит или он неверный, то проверяет сколько дней прошло с момента первого запуска.
4) если больше, скажем, 30 дней, то отказывается работать или предлагает зарег.
Вопрос:
Куда нужно спрятать инф. о первом запуске так, чтобы трудно было обнаружить.
Варианты:
---1---
1) В Windows\system и иже сними (создает како-то файл с "стандартным названием" Com32Srv.dll. :-)
2) В том же месте пишет в какую-то ini.
Проблемы:
Если прогу запустил пользователь (не админ и не опытный пользователь) в Win2000, то прога не сумеет это сделать.
ТО же касается и Program Files. (у пользователя нету прав).
---2---
Прятать эту инф. в реестре.
Но опять-таки для пользователя доступен только Current_User.
Там не особо найдеш место длля маскировки.
Кроме того при входе в систему под другим пользователем программа
"будет думать", что запущена в первый раз.
Писать в корень как-то некрасиво да и особо негде.
---3---
Писать в саму себя тоже не подходит.
Пользователь сотрет прогу и заинсталлит заново.
Получит еще один испытательный срок.

Важно:
Программа на испытательный срок должна быть ПОЛНОФУНКЦИОНАЛЬНА.

Так что посоветуете в таком случае делать начинаещему шароварщику?



33   (2001-12-17 17:13) [1]

>Так что посоветуете в таком случае делать начинаещему шароварщику?

Сначала написать стоящую программу.

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

-----------------------------------
В 5 Delphi было сделанно так: в каталоге программы создавался
шифрованный файл с датой и в реестре в разделе программ
под именем Rainbow так же лежали два шифрованных ключа, связанных
с файлом. При каждом запуске программа переписывала файл и ключи.
И если шла нестыковка ключей с файлами, то сразу "Умирала".
Кроме этого прога отслеживала смену системной даты, в реестре
имеется такой ключ.

И все равно это легко обходилось.



yuger   (2001-12-18 10:14) [2]

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

Насчет делфи 5.
Все это понятно, но проблема остается открытой.
Пользователь не имеет права на запись в Program files.
Я специально поставил триал версию Macrimedia dreamwawer-а.
Я удалал его, чистил реестр, ставил монитор на изменения на диске и в реестре...
Ничего не помогло. Как он, зараза, это делает? Интересно!



gun19456   (2001-12-18 11:09) [3]

Ну чего Вы привязались к дате!
Любой хакер первое, что делает ищет где прога считывает дату.
Все проще. Меняйте в ini что-то, но не сразу, а после скажем 10 запуска.
Проверяют то в начале и до 10 считать не умеют



Дремучий   (2001-12-18 22:19) [4]

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




Форум: "Потрепаться";
Поиск по всему сайту: delphimaster.net;
Текущий архив: 2002.02.07;
Скачать: [xml.tar.bz2];




Наверх





Память: 0.73 MB
Время: 0.015 c
14-18957          zarum                 2001-12-17 21:43  2002.02.07  
выбор домашнего монитора 17 за 300 - 400 з.е.


14-18989          модератор             2001-12-17 21:08  2002.02.07  
Просьба обращать внимание на тему конференции.


3-18780           MetallAdm             2002-01-14 13:27  2002.02.07  
изменять содержимое таблички


7-18999           Alexx                 2001-10-31 08:40  2002.02.07  
Работа с сетевой картой


3-18731           der                   2002-01-10 09:42  2002.02.07  
Периодически возникает ошибка. Insufficient memory for this operation.