| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Delphi: WinAPI и системное программирование > Получение реальной даты по косвенным признакам |
| Автор: M1ndAction 8.9.2010, 07:05 |
| Добрый день! В целом, задача следующая: разрабатываю защиту для программы, для этого в том числе нужно отслеживать реальную дату. Вариант брать из Сети не подходит - так как программа несетевая, поэтому у пользователя может не быть доступа в Интернет при работе с программой. Поэтому подумал, что можно отслеживать дату файлов, которые постоянно изменяются или, например, последнего измененного файла, то есть это уже даст представление о верной дате. Отсюда вопрос, какие файлы можно отследить? Может что-то в реестре нужно что-то рассматривать? Либо может кто предложит другие варианты по извлечению реальной (или близкой к ней) даты? |
| Автор: Keeper89 8.9.2010, 07:24 |
| M1ndAction, в чем принципиальность отслеживания даты для защиты? |
| Автор: M1ndAction 8.9.2010, 07:30 |
| Keeper89, Пользователь будет покупать программу на определенный период (1, 3, 6 или 12 месяцев), так что без даты здесь никак Хотелось бы добавить еще почасовую лицензию (программа рассчитана на узкоспециализированную аудиторию - там это очень пригодилось бы, т.к. пользователь может купить программу только для одного рассчета), но здесь совершенно не вижу вариантов защиты, т.к. нужно хранить данные в файлах, которые всегда можно заменить на начальные, какие бы они супершифрованные ни были. А в реестр не записать, т.к. предполагается, что пользователь будет использовать программу на разных компьютерах с usb-ключом. |
| Автор: Keeper89 8.9.2010, 08:16 |
| Посмотрите http://delphi.about.com/od/productreviews/l/aa022503a.htm и поищите другие соответствующие компоненты, с 0 это сделать достаточно сложно (полноценную защиту). Ну и может Вам еще что подскажут |
| Автор: M1ndAction 8.9.2010, 10:38 |
| Keeper89, спасибо за ссылку, очень интересно, буду изучать исходники компонента (если они открыты Я понимаю, что серьезную защиту просто так не сделаешь, но учитывая специфику программы - рассчитана на узкий круг специалистов, то, что я делаю, думаю, будет достаточно. Поэтому, пока вопрос остается открытым |
| Автор: Proxin 8.9.2010, 22:13 |
| не вариант. пользователь может просто скопировать файл в самом начале, а потом, по истечении срока, заменять его. |
| Автор: Keeper89 8.9.2010, 22:22 |
| Ну. дату/время тоже можно записывать и анализировать. Предупреждая вопрос - что будет если перевести часы - речь о простой защите. |
| Автор: Proxin 9.9.2010, 08:55 |
| Да, и перевод часов. Самое надёжное - интернет-активация и отдельный сервер, но тут не получится. |
| Автор: M1ndAction 9.9.2010, 09:45 | ||||
Совершенно верно, именно по этой причине пришлось отказаться от почасовой лицензии.
Именно из-за этого и была заведена эта тема А что касается простоты защиты - пусть она у меня и не суперкрутая будет, но какие-то очевидные бреши, такие как перевод времени, я хочу закрыть Да, согласен с вами, с онлайн-синхронизацией открываются большие возможности, однако, не стоит чрезмерной защитой программы напрягать конечного пользователя |
| Автор: Frees 9.9.2010, 20:25 | ||
у этого файла будет дата изменения которая сейчас на часах. |
| Автор: БелАмор 9.9.2010, 20:26 | ||
Поскольку использование USB-ключа уже предполагается, то неплохим вариантом могло бы быть использование ключа с внутренним отсчётом времени. Сейчас лениво искать, но там достаточно широкие возможности, вплоть до продления лицензии дистанционно (можно хоть по телефону код продиктовать). |
| Автор: M1ndAction 9.9.2010, 20:47 | ||
Понятно, что это не самый надежный способ, но с определенной погрешностью можно определять время. Если пользователь поработает за компьютером некоторое время, то дата у подобных файлов "собьется", но как мне кажется в данном случае пользователь переставит время и тут же попробует запустить программу. Насколько я помню, у KAV раньше была проблема со временем, затем с некоторой версии они писали, что теперь перевод времени не сможет сбить регистрацию, значит способ есть, хотя возможно, они ее через Интернет пробивают.
Да-да, тоже была мысль про это. Но в обычных HASP, как я понимаю, таймеры реального времени реализованы аппаратно, а если делать программный, то прошедшее время нужно хранить в файлах, и здесь мы возвращаемся к вышеобозначенной проблеме - можно легко восстановить первоначальные/удалить лишние файлы. Поэтому, по возможности, посмотрите материал, про который вы упомянули, очень интересно было бы почитать. |
| Автор: Frees 9.9.2010, 20:57 |
| решение того что ты хочешь - это "железные" часы http://senselock.ru/ - есть у них ключ с часами. |
| Автор: БелАмор 9.9.2010, 21:59 |
| Навскидку: http://www.aladdin.ru/catalog/hasp/models/HASP_HL_Time.php Далее - на странице выбираете ключевые слова и скармливаете их поисковику... |