C++ Builder
| Главная | Уроки | Статьи | FAQ | Форум | Downloads | Литература | Ссылки | RXLib | Диски |

 
Trial Version
Димыч
Отправлено: 22.06.2005, 11:59


Дежурный стрелочник

Группа: Участник
Сообщений: 38



Привет всем!
Ребята помогите, мне надо сделать своего рода триал версию.
Надо чтобы после установки на комп программа работала только один день, а после сообщала о Триале.
С чего начать. Может у кого есть готовые разработки
Любитель
Отправлено: 22.06.2005, 12:38


Дежурный стрелочник

Группа: Участник
Сообщений: 53



Можешь сохранить текущую дату в файл или в реестр (зашифрованым конечно) и при запуске проверять соответствует ли текущая дата записи в файле и в реестре. Если нет — матерись.
Недостаток: текущее времы можно исправить, но может быть это как-то можно обойти
esh
Отправлено: 22.06.2005, 14:39


Дежурный стрелочник

Группа: Участник
Сообщений: 71



Создаем экзешник, переименовываем его в что-то типа nft517.dat.
Он проверяет секретный ключ реестра, в котором в зашифрованном виде хранится дата и время первого запуска и ВСЯ другая информация. Проверяем текущее время, если оно МЕНЬШЕ времени ПОСЛЕДНЕГО запуска,
дописываем в этот ключик специальный байт, при наличии которого программа на запускается.
Если прошел день с момента первого запуска — дописываем другой байт. Далее программа создает
еще один ключ, в который пишет свой же Handle в зашифрованном виде если trial-период не истек,
Handle+1 если период истек и Handle+2, если программу в первый раз запускали завтра (через неделю, месяц, или сейчас 1984 год... smile.gif ). Дописываем в первый ключик текущую дату и время.
Т.е. в ключе должны храниться два праматра дата+время и специальный байт. Все зашифровано.


В результате:
Handle все нормально, можно запускать;
Handle+1 нельзя запускать;
Handle+2 нас пытаются обмануть, нужно запортить файлы и форматнуть винт smile.gif ;

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

Вернуться в Вопросы программирования в C++Builder