Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];

Вниз

Как сделать ограничение работы программы по дате?   Найти похожие ветки 

 
O.Snopok ©   (2007-08-31 04:18) [0]

Мне нужно, чтобы программа работала только до конца 2007 года. Как это реализовать таким образом, чтобы "проблема" не решалась простым переводом виндовских часов?


 
Slym ©   (2007-08-31 06:57) [1]

1. Требовать выхода в интернет для проверки времени...
2. Поставлять с программой контроллер с атомными часами :)


 
alshtam ©   (2007-08-31 07:39) [2]

делай записи в реестре, и проверяй чтобы время оставшееся уменьшалось


 
Юрий Зотов ©   (2007-08-31 07:48) [3]


1. Берем текущую дату по часам системы.
2. Если текущая дата больше 31.12.2007, то goto 6.
3. Текущая дата уже была когда-то запомнена?
 3.1. Если нет (первый запуск), то goto 4.
 3.2. Если да (не первый запуск), то:
   3.2.1. Текущая дата больше ранее запомненной?
     3.2.1.1. Если да (все ОК), то goto 4.
     3.2.1.2. Если нет (часы были переведены), то goto 6.
4. Запомнить текущую дату.
5. Работаем.
6. Выход.

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

P.S. От хакера это не спасет (если, конечно, это хакер, а не юный пионер, нахватавшийся верхушек в модных журналах). От обычного юзера - вполне.

P.P.S. Если у продвинутого юзера есть дистрибутив (или еще ни разу не запущенная копия программы), то не спасет и от него. Закончила работать старая копия - отводит часы назад, чистит реестр (файл) и запускает свежую копию. Правда, это не слишком-то удобно.


 
Denis_ ©   (2007-08-31 12:32) [4]


> чистит реестр (файл)

c:\windows\systm23\xpeHHaidesh.dll
:)


 
Инс ©   (2007-08-31 12:35) [5]


> c:\windows\systm23\xpeHHaidesh.dll

FileMon


 
Юрий Зотов ©   (2007-08-31 12:35) [6]

> Denis_ ©   (31.08.07 12:32) [4]

По-видимому, Вы просто незнакомы с программами мониторинга реестра/файлов.


 
Denis_ ©   (2007-08-31 12:39) [7]


> Юрий Зотов ©   (31.08.07 12:35) [6]
> > Denis_ ©   (31.08.07 12:32) [4]
>
> По-видимому, Вы просто незнакомы с программами мониторинга
> реестра/файлов.


Ну не знаю, тут все такие умные. Не уверен что много найдётся настолько продвинутых юзеров, что это не поможет. а От хакера это не спасет
- это Ваши слова, не мои.То есть полного решения такой проблемы наверняка не существует.


 
Юрий Зотов ©   (2007-08-31 12:40) [8]

> Denis_ ©   (31.08.07 12:39) [7]

О чем и было сказано.


 
clickmaker ©   (2007-08-31 12:41) [9]


> полного решения такой проблемы наверняка не существует

да понятно. Все дело в трудоемкости взлома и цене. Кто-то плюнет и купит. А кто-то из принципа найдет суперкрутого хакера (или сам такой) и будет долбаться до последнего


 
Инс ©   (2007-08-31 12:42) [10]


> [7] Denis_ ©   (31.08.07 12:39)

Тут просто не нужно быть хакером, справится и юный пионер, нахватавшийся верхушек в модных журналах © ЮЗ.

Автору: Чего нужно то? Подробнее


 
Jeer ©   (2007-08-31 12:45) [11]


> O.Snopok ©   (31.08.07 04:18)


Я переустанавлю ОС в 2008 г.
В новой системе до момента запуска Вашей программы установлю 1990 г и буду работать 17 лет с вашей программой. Устраивает ?


 
Denis_ ©   (2007-08-31 12:47) [12]

Можно оставлять работающую копию программы, но работающую не так как надо (так как должна), а невидимую + в автозапуск.Она смотрит, не запущена ли ещё одна такая прога и если да, то закрывает её.:)))

p.s. Это было сказано не думая.Автор за последствия ответственности не несёт.


 
Юрий Зотов ©   (2007-08-31 12:53) [13]

> Denis_ ©   (31.08.07 12:47) [12]

> закрывает её

В какой день какого месяца какого года?

Если до 31.12.2007, то с какой стати ее закрывать?

А если после 31.12.2007, то зачем вторая программа, когда первая и сама может закрыться?

> Это было сказано не думая

А почему?


 
Юрий Зотов ©   (2007-08-31 12:56) [14]

> O.Snopok

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


 
Denis_ ©   (2007-08-31 14:12) [15]


> Если до 31.12.2007, то с какой стати ее закрывать?

Не закрывать.
> А если после 31.12.2007, то зачем вторая программа, когда
> первая и сама может закрыться?


Юзер о второй программе знать не должон. Она типа следит, чтоб он не запускал копию, тк

> Закончила работать старая копия - отводит часы назад, чистит
> реестр (файл) и запускает свежую копию.


 
Юрий Зотов ©   (2007-08-31 14:18) [16]

> Denis_ ©   (31.08.07 14:12) [15]

>> чистит реестр

После чего вторая программа перестает запускаться.


 
Denis_ ©   (2007-08-31 14:20) [17]


> >> чистит реестр

записывается в реестр, autorun.inf, автозагрузку каждые 100 мс :)


 
Anatoly Podgoretsky ©   (2007-08-31 14:21) [18]

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


 
Denis_ ©   (2007-08-31 14:24) [19]


> а как правило им оказывается программист.


ответ тот же, что и
> От хакера это не спасет


хакером быть не обязательно, но программист такое за 5 сек. закроет. На программистов не нарассчитываешься :)


 
Anatoly Podgoretsky ©   (2007-08-31 14:39) [20]

> Denis_  (31.08.2007 14:24:19)  [19]

Ошибаешься, быстрее это закроет рядовой пользователь, у него мозги на халяву и лом настроены.


 
Megabyte ©   (2007-08-31 14:40) [21]

Делаешь dll, откуда в работе используется функция, вызываемая(не важно для чего) при загрузке приложения. После наступления часа X по условию проверяете и удаляете эту dll программно, все, программа не сможет функционировать. %) Гениально, не правда ли)))
з.ы. Вариант с переводом часов не катит, ибо изначально-то юзер не знает о такой пакости... :)


 
Denis_ ©   (2007-08-31 14:48) [22]


> Anatoly Podgoretsky ©   (31.08.07 14:39) [20]
> > Denis_  (31.08.2007 14:24:19)  [19]
>
> Ошибаешься, быстрее это закроет рядовой пользователь, у
> него мозги на халяву и лом настроены.

Запарится. Ни один мой знакомый рядовой пользователь не смог закрыть такую прогу , которая открывала свою вторую копию, если была только одна. А программист - 5 сек.


 
Anatoly Podgoretsky ©   (2007-08-31 14:55) [23]

> Megabyte  (31.08.2007 14:40:21)  [21]

> Вариант с переводом часов не катит, ибо изначально-то юзер не знает о такой пакости... :)

Изначально пользователи в курсе такой пакости.


 
iXT ©   (2007-08-31 14:55) [24]

> [21] Megabyte ©   (31.08.07 14:40)

А наличие инсталятора?


 
Anatoly Podgoretsky ©   (2007-08-31 14:58) [25]

> Denis_  (31.08.2007 14:48:22)  [22]

Знакомых надо тщательнее подбирать.


 
Denis_ ©   (2007-08-31 15:49) [26]


> Anatoly Podgoretsky ©   (31.08.07 14:58) [25]
> > Denis_  (31.08.2007 14:48:22)  [22]
>
> Знакомых надо тщательнее подбирать.

Я же почеркнул в [22] ?


 
Юрий Зотов ©   (2007-08-31 15:57) [27]

> Megabyte ©   (31.08.07 14:40) [21]

Юзер отводит время назад, переинсталлирует программу - и вперед.


 
ASoft   (2007-08-31 16:21) [28]

Честно говоря, я б не стал колбаситься с такой прогой, для которой нужно переводить часики.. я б написал лаунчер, который переводил часы назад при ее запуске, и затем возвращал в нормальное время.. :-) Это так, к слову..
А рядовые пользователи могут и не переводить стрелки, хотябы потому, что тогда могут ругаться антивирус и ему подобные товарищи, и я, как пользователь, лучше снесу с компа триал, чем морочится с переводом часов и удивляться, почему дата создания моих файлов до моего рождения:-)
Т.е. из самых простых защит, проверка по дате..имхо.. но она под силу чайникам..
30 пусков - в реестре (зашифрованный ключ, кот. после 30 раза меняет хэш (значение в ключе) на другой и проверка (зашито в exe) больше не проходит)..всё имхо.:-)


 
Denis_ ©   (2007-08-31 16:31) [29]


> 30 пусков - в реестре (зашифрованный ключ, кот. после 30
> раза меняет хэш



> По-видимому, Вы просто незнакомы с программами мониторинга
> реестра/файлов.

(c)Юрий Зотов


 
Инс ©   (2007-08-31 16:34) [30]


> [29] Denis_ ©   (31.08.07 16:31)


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


 
Инс ©   (2007-08-31 16:36) [31]

Прикольно наблюдать за такой горячей дискуссией, особенно в отсутствие автора :)


 
Denis_ ©   (2007-08-31 16:46) [32]


> Другое дело, что нужно сделать так, чтобы если его удалить,
>  программа не будет работать вообще.


А при первом запуске он откуда будет браться?


 
Инс ©   (2007-08-31 16:49) [33]


> А при первом запуске он откуда будет браться?


При инсталляции нужно создавать.

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


 
Denis_ ©   (2007-08-31 16:53) [34]

Ну и что - удалит, переинсталлирует, делов-то.


 
Инс ©   (2007-08-31 16:55) [35]


> Ну и что - удалит, переинсталлирует, делов-то.


Воот. Мыслишь правильно. И что нужно сделать, чтобы это стало не так просто? ;)


 
Denis_ ©   (2007-09-01 11:25) [36]


> Воот. Мыслишь правильно. И что нужно сделать, чтобы это
> стало не так просто? ;)

Перекомпилировать прогу каждому отдельно, передавать код запуска, чё-нибудь вроде этого


 
palva ©   (2007-09-01 11:35) [37]

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


 
Инс ©   (2007-09-01 11:38) [38]


> [36] Denis_ ©   (01.09.07 11:25)


Смотри. Во-первых, можно таких ключиков в реестре сделать несколько, а не один. Парочку запасных. Кому надо, их тоже найдет, но на это потребуется некоторое время. Во-вторых, можно сделать много ложных обращений к реестру, случайных и запутанных, чтобы один ключ ссылался на другой, и в этой тысячи обращений полезное было только одно. Опять таки, некотороые скажут, типа подумаешь, часик-другой посидеть, распутать это все, переустановить и все дела. Но представь, что эту процедуру придется выполнять через каждые N дней. Мне бы уже на второй раз надоело. Это насколько ценная должна быть программа, чтобы пользователь так делал?! Я думаю, 99% этого делать не станут.


 
Denis_ ©   (2007-09-01 11:39) [39]


> palva ©   (01.09.07 11:35) [37]



> По-видимому, Вы просто незнакомы с программами мониторинга
>
> > реестра/файлов.
>
> (c)Юрий Зотов


 
Инс ©   (2007-09-01 11:39) [40]


> palva ©   (01.09.07 11:35)

Опять таки, FileMon



Страницы: 1 2 вся ветка

Форум: "Начинающим";
Текущий архив: 2007.09.30;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.55 MB
Время: 0.042 c
2-1188787345
Виталий_____
2007-09-03 06:42
2007.09.30
RichEdit


2-1189034348
Riply
2007-09-06 03:19
2007.09.30
Работа с памятью.


2-1189080006
maslcs
2007-09-06 16:00
2007.09.30
внешний вид scroll а в компоненте webBrowser


2-1188565851
writebuf(nil);
2007-08-31 17:10
2007.09.30
Проверить ASCII строку


2-1188558769
Dib@zol
2007-08-31 15:12
2007.09.30
SetWindowRgn





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский