Russian Qt Forum
Ноябрь 23, 2024, 22:13 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1] 2   Вниз
  Печать  
Автор Тема: Trial версия программы. Защита.  (Прочитано 21691 раз)
spectre71
Гость
« : Июнь 01, 2009, 08:25 »

Нужен механизм поддержки Trial версии.
1) Expired по кол-ву дней после первого запуска
2) Expired по дате
Не должно влиять переставление системных часов.

Подскажите, может есть для QT какая-либо библиотека (платная или бесплатная) или
может в самом QT что есть.
Записан
spectre71
Гость
« Ответ #1 : Июнь 01, 2009, 09:35 »

Для начала можно сузить задачу.
Как надежно определить текущее время (может используя какие либо системные файлы), учитывая что
пользователь мог переставить системные часы. C точностью до 12 часов.
  1) Под Windows
  2) Под всеми платформами.
Записан
lit-uriy
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 3880


Просмотр профиля WWW
« Ответ #2 : Июнь 01, 2009, 09:53 »

1) как вариант смотреть дату kernel32.dll, только непонятно как от неё вытанцовывать.
Записан

Юра.
kirill
Гость
« Ответ #3 : Июнь 01, 2009, 11:21 »

Сам шароварщег и тема тоже интересует.
Пока не могу сходу сказать как определить - может быть из инета?
Я в своих программах применял количество запусков, так проще.
Но попробуем придумать со временем.
Есть такая идея - прошерстить все! файлы на С и найти самый свежий. Можно шерстить очень быстро, например есть прога SearchGT она ище очень быстро и вроде как SDK собираются выставлять.
Затем смотреть системную дату - если она меньше чем дата самого свежего файла то format C:

А вот еще такой финт - в инсталлятор пакуем файл со свежей датой (раз в 12 часов передлывать придется Улыбающийся))
Инсталлятор ныкает файл в надежное место, а мы потом при запуске глядим его. ПРавда это легко мониторинся FileMon.
« Последнее редактирование: Июнь 01, 2009, 11:24 от kirill » Записан
UVV
Гость
« Ответ #4 : Июнь 01, 2009, 11:34 »

Предлагаю не выёживаться, а сделать демо-версию.
Записан
spectre71
Гость
« Ответ #5 : Июнь 01, 2009, 12:54 »

Сам шароварщег и тема тоже интересует.
Пока не могу сходу сказать как определить - может быть из инета?
Я в своих программах применял количество запусков, так проще.
Но попробуем придумать со временем.
Есть такая идея - прошерстить все! файлы на С и найти самый свежий. Можно шерстить очень быстро, например есть прога SearchGT она ище очень быстро и вроде как SDK собираются выставлять.
Затем смотреть системную дату - если она меньше чем дата самого свежего файла то format C:

А вот еще такой финт - в инсталлятор пакуем файл со свежей датой (раз в 12 часов передлывать придется Улыбающийся))
Инсталлятор ныкает файл в надежное место, а мы потом при запуске глядим его. ПРавда это легко мониторинся FileMon.

1) Через инет неприемлемо.
2) Через инсталятор не имеет смысла - всегда можно переинсталировать.
    Тем более собирать раз в 12 часов - увольте.



« Последнее редактирование: Июнь 01, 2009, 12:59 от spectre71 » Записан
spectre71
Гость
« Ответ #6 : Июнь 01, 2009, 12:57 »

Предлагаю не выёживаться, а сделать демо-версию.

А что ты имеешь ввиду под демо-версией?
Собственно Trial - это тоже демо-версия.
Записан
kirill
Гость
« Ответ #7 : Июнь 01, 2009, 13:29 »

Демо этогда вместо функции "форматировать диск" высткакивает сообщение "А нету этой функции в демо"
А триал это пробная в ней все функции, но лимит по времени или количеству запусков.
Записан
spectre71
Гость
« Ответ #8 : Июнь 01, 2009, 13:57 »

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

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

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

Если интересно что за программа - ссылка в подписи.
« Последнее редактирование: Июнь 01, 2009, 13:58 от spectre71 » Записан
UVV
Гость
« Ответ #9 : Июнь 01, 2009, 18:48 »

Там по ссылке инсталляторы только под винду.
Цитировать
Мне не нужна защита от хакеров, сломать можно любую защиту.
Но переинсталяция программы или простое удаление каких-либо файлов или замена их на начальные не должны сбрасывать триальность.

Два предложения противоречат друг другу =)
Записан
spectre71
Гость
« Ответ #10 : Июнь 01, 2009, 19:09 »

Там по ссылке инсталляторы только под винду.
Я для этого и переделываю все на QT(та версия писалась на C++ Builder).
Сначала выйдет под Windows на QT.
Затем под Linux & Mac.
Сразу сделать трудно. Самая большая проблема запуск процессов. QProcess - примитивен, для моей задачи.

Два предложения противоречат друг другу =)
Ну и в чем противоречие. Пожалуйста поподробнее.
Записан
kirill
Гость
« Ответ #11 : Июнь 02, 2009, 05:47 »

1) как вариант смотреть дату kernel32.dll, только непонятно как от неё вытанцовывать.
лучше взять pagefile.sys

Еще можно обратиться к протоколам событий. Там дата сохраняется.
« Последнее редактирование: Июнь 02, 2009, 05:53 от kirill » Записан
UVV
Гость
« Ответ #12 : Июнь 02, 2009, 15:09 »

Ну и в чем противоречие. Пожалуйста поподробнее.
Хотя бы в том, что "сломать можно любую защиту".
Сначала выйдет под Windows на QT.
Затем под Linux & Mac.
Сразу сделать трудно.
imho, потом будет ещё труднее.
Записан
SASA
Гость
« Ответ #13 : Июнь 02, 2009, 16:02 »

А может кто-нибудь посоветовать чё почитать по поводу триальных версий. Их струтура, защита от простейших взломов, как и где хранить данные о регистрации? А то идей много, а то как их просто реализовать мало:(
Записан
spectre71
Гость
« Ответ #14 : Июнь 02, 2009, 18:41 »

Цитировать
Мне не нужна защита от хакеров, сломать можно любую защиту.
Но переинсталяция программы или простое удаление каких-либо файлов или замена их на начальные не должны сбрасывать триальность.
Два предложения противоречат друг другу =)
Ну и в чем противоречие. Пожалуйста поподробнее.
Хотя бы в том, что "сломать можно любую защиту".

Советую почитать учебник по "Математической логике" и разобраться что такое противоречие.

1) Мне не нужна защита от хакеров, сломать можно любую защиту.
   У нас система расчетных задач(биоинформатика). Клиенты 99% - западные.
   Пользоваться ломаной программой они не будут - не смогут опубликовать результаты исследований с применением нашего пакета.

2) Но переинсталяция программы или простое удаление каких-либо файлов или замена их на начальные не должны сбрасывать (Trial).
  А вот смухлевать с Trial могут практически все. Самое простое переинсталировать (почистив мусор от предыдущей инсталяции). И/Или переставить время.
Здесь "хакерских" навыков не нужно. Это может сделать любой нормальный юзверь.

Кому не нужена система - не купит, а вот те кому нужна вполне могут потянуть время и попользоваться Trial версиями. Вот это и надо ограничить.


Записан
Страниц: [1] 2   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.266 секунд. Запросов: 23.