Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Получение реальной даты по косвенным признакам 
:(
    Опции темы
M1ndAction
Дата 8.9.2010, 07:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 19.1.2008

Репутация: нет
Всего: нет



Добрый день!

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

Отсюда вопрос, какие файлы можно отследить? Может что-то в реестре нужно что-то рассматривать?
Либо может кто предложит другие варианты по извлечению реальной (или близкой к ней) даты?

PM MAIL   Вверх
Keeper89
Дата 8.9.2010, 07:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 14
Всего: 58



M1ndAction, в чем принципиальность отслеживания даты для защиты?


--------------------
PM MAIL WWW   Вверх
M1ndAction
Дата 8.9.2010, 07:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 19.1.2008

Репутация: нет
Всего: нет



Keeper89, Пользователь будет покупать программу на определенный период (1, 3, 6 или 12 месяцев), так что без даты здесь никак smile

Хотелось бы добавить еще почасовую лицензию (программа рассчитана на узкоспециализированную аудиторию - там это очень пригодилось бы, т.к. пользователь может купить программу только для одного рассчета), но здесь совершенно не вижу вариантов защиты, т.к. нужно хранить данные в файлах, которые всегда можно заменить на начальные, какие бы они супершифрованные ни были. А в реестр не записать, т.к. предполагается, что пользователь будет использовать программу на разных компьютерах с usb-ключом.
PM MAIL   Вверх
Keeper89
Дата 8.9.2010, 08:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 14
Всего: 58



Посмотрите это и поищите другие соответствующие компоненты, с 0 это сделать достаточно сложно (полноценную защиту).
Ну и может Вам еще что подскажут smile



--------------------
PM MAIL WWW   Вверх
M1ndAction
Дата 8.9.2010, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 19.1.2008

Репутация: нет
Всего: нет



Keeper89, спасибо за ссылку, очень интересно, буду изучать исходники компонента (если они открыты smile)
Я понимаю, что серьезную защиту просто так не сделаешь, но учитывая специфику программы - рассчитана на узкий круг специалистов, то, что я делаю, думаю,  будет достаточно. 

Поэтому, пока вопрос остается открытым smile
PM MAIL   Вверх
Keeper89
Дата 8.9.2010, 15:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 14
Всего: 58



Цитата(M1ndAction @  8.9.2010,  10:38 Найти цитируемый пост)
рассчитана на узкий круг специалистов, то, что я делаю, думаю,  будет достаточно. 

Из простых вариантов могу предложить следующее:  smile 
Сделайте "файлик с лицензией" закрытого формата, в котором будет отсчитываться время до конца срока действия программы. При его удалении или нарушении структуры лицензия будет аннулироваться.


--------------------
PM MAIL WWW   Вверх
Proxin
Дата 8.9.2010, 22:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 21.6.2008

Репутация: нет
Всего: 3



не вариант. пользователь может просто скопировать файл в самом начале, а потом, по истечении срока, заменять его.
PM MAIL   Вверх
Keeper89
Дата 8.9.2010, 22:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2580
Регистрация: 26.2.2009

Репутация: 14
Всего: 58



Ну. дату/время тоже можно записывать и анализировать.
Предупреждая вопрос - что будет если перевести часы - речь о простой защите.

Это сообщение отредактировал(а) Keeper89 - 8.9.2010, 22:25


--------------------
PM MAIL WWW   Вверх
Proxin
Дата 9.9.2010, 08:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 363
Регистрация: 21.6.2008

Репутация: нет
Всего: 3



Да, и перевод часов. Самое надёжное - интернет-активация и отдельный сервер, но тут не получится.
PM MAIL   Вверх
M1ndAction
Дата 9.9.2010, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 19.1.2008

Репутация: нет
Всего: нет



Цитата(Proxin @  8.9.2010,  22:13 Найти цитируемый пост)
не вариант. пользователь может просто скопировать файл в самом начале, а потом, по истечении срока, заменять его. 

Совершенно верно, именно по этой причине пришлось отказаться от почасовой лицензии.

Цитата(Keeper89 @  8.9.2010,  22:22 Найти цитируемый пост)
Предупреждая вопрос - что будет если перевести часы - речь о простой защите.

Именно из-за этого и была заведена эта тема smile Для того и хочу определять время по какому-нибудь изменяемому файлу (может системному), то есть файлу, который при работе изменяется, например кэш браузеров или недавние документы, что-то в этом роде. Думаю, кто глубоко знает Windows без проблем поможет мне решить этот вопрос. Может изменения в файловой системе как-то отображаются реестре? Может дата последнего сохраненного файла?
А что касается простоты защиты - пусть она у меня и не суперкрутая будет, но какие-то очевидные бреши, такие как перевод времени, я хочу закрыть smile

Цитата(Proxin @  9.9.2010,  08:55 Найти цитируемый пост)
Самое надёжное - интернет-активация и отдельный сервер

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


Это сообщение отредактировал(а) M1ndAction - 9.9.2010, 09:51
PM MAIL   Вверх
Frees
Дата 9.9.2010, 20:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: нет
Всего: 54



Цитата(M1ndAction @  9.9.2010,  12:45 Найти цитируемый пост)
Для того и хочу определять время по какому-нибудь изменяемому файлу (может системному)

у этого файла будет дата изменения которая сейчас на часах.




--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
БелАмор
Дата 9.9.2010, 20:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 10.6.2010
Где: Россия

Репутация: нет
Всего: 17



Цитата(M1ndAction @  8.9.2010,  07:30 Найти цитируемый пост)
предполагается, что пользователь будет использовать программу на разных компьютерах с usb-ключом.


Поскольку использование USB-ключа уже предполагается, то неплохим вариантом могло бы быть использование ключа с внутренним отсчётом времени. Сейчас лениво искать, но там достаточно широкие возможности, вплоть до продления лицензии дистанционно (можно хоть по телефону код продиктовать).
PM   Вверх
M1ndAction
Дата 9.9.2010, 20:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 51
Регистрация: 19.1.2008

Репутация: нет
Всего: нет



Цитата(Frees @  9.9.2010,  20:25 Найти цитируемый пост)
у этого файла будет дата изменения которая сейчас на часах.

Понятно, что это не самый надежный способ, но с определенной погрешностью можно определять время. Если пользователь поработает за компьютером некоторое время, то дата у подобных файлов "собьется", но как мне кажется в данном случае пользователь переставит время и тут же попробует запустить программу. 
Насколько я помню, у KAV раньше была проблема со временем, затем с некоторой версии они писали, что теперь перевод времени не сможет сбить регистрацию, значит способ есть, хотя возможно, они ее через Интернет пробивают.

Цитата(БелАмор @  9.9.2010,  20:26 Найти цитируемый пост)
Поскольку использование USB-ключа уже предполагается, то неплохим вариантом могло бы быть использование ключа с внутренним отсчётом времени. Сейчас лениво искать, но там достаточно широкие возможности, вплоть до продления лицензии дистанционно (можно хоть по телефону код продиктовать). 

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


PM MAIL   Вверх
Frees
Дата 9.9.2010, 20:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2233
Регистрация: 2.12.2005
Где: Екатеринбург

Репутация: нет
Всего: 54



решение того что ты хочешь - это "железные" часы

http://senselock.ru/ - есть у них ключ с часами.







--------------------
Кольцов Виктор Владимирович
PM MAIL ICQ   Вверх
БелАмор
Дата 9.9.2010, 21:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 209
Регистрация: 10.6.2010
Где: Россия

Репутация: нет
Всего: 17



Навскидку:
http://www.aladdin.ru/catalog/hasp/models/HASP_HL_Time.php
Далее - на странице выбираете ключевые слова и скармливаете их поисковику...
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: WinAPI и системное программирование"
Snowybartram
MetalFanbems
PoseidonRrader
Riply

Запрещено:

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Delphi обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи
  • 99% ответов по WinAPI можно найти в MSDN Library, оставшиеся 1% здесь

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема »


 




[ Время генерации скрипта: 0.0878 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.