Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Общий форум

Страница: 1 |

 

  Вопрос: Ограничение времени работы программы... Добавлено: 29.02.04 17:02  

Автор вопроса:  GlooM | Web-сайт: newlc.info | ICQ: 348453688 
Наверное, из моего вопроса все ясно?! Поясняю: Мне нужен код (подскажите!) для того, чтобы моя прога проработала дней 5 и потом требовала покупки уже полной, рабочей проги!

Ответить

  Ответы Всего ответов: 15  

Номер ответа: 1
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #1
Добавлено: 29.02.04 17:27

Это ограничение слишком легко обходится :( Сам проверял

Ответить

Номер ответа: 2
Автор ответа:
 GlooM



ICQ: 348453688 

Вопросов: 88
Ответов: 356
 Web-сайт: newlc.info
 Профиль | | #2
Добавлено: 29.02.04 17:31
Ну, все равно!

Ответить

Номер ответа: 3
Автор ответа:
 dNW



Вопросов: 30
Ответов: 683
 Профиль | | #3 Добавлено: 29.02.04 18:16

При первом запуске где-нибудь в "Моих документах" создоваи фаил и записываи в него сегоднешнюю дату.

С каждым запуском сверяй ее с настоящеи. Если разница больше, чем 5 днеи - сообщай! 

Ответить

Номер ответа: 4
Автор ответа:
 Nio



Вопросов: 15
Ответов: 115
 Web-сайт: www.fea.nxt.ru
 Профиль | | #4
Добавлено: 29.02.04 18:19
Какой-либо хитрый файлик где-нить подальше в недрах C:\Windows\System32, где лежит дата начала триала. Но это всё семечки. Лучше делать специальную версию с урезанной функциональностью - например, отсутствие вывода на печать в программе для работы с полиграфией... В общем, чтобы физически в программе не было кода, без которого программа бесполезна.... но чтобы прога могла показать, как она могла бы быть полезна.

Ответить

Номер ответа: 5
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #5
Добавлено: 29.02.04 19:11

Зачем файлики, все нужно делать запутанней ;) Вот еще, как вариант

Берем какой-нить нормальный инсталятор (чтоб функций побольше, желательно еще и с использованием API), к примеру NSIS (NullSoft Install System) и при установке генерируем зашифрованый файл, с текущей датой, и какими-нить данными. В программе их расшифровывать и смотреть разницу.

Теперь самый больной и вечный вопрос, как быть с тем чтобы при переуставновке программы, рег. файл не был создан заново...
Программа имеет настройки, причем в данном случае желательно их хранить в реестре... т.к. никто точно не знает сколько там чего, для чего, и надо ли оно...
При установке/первом запуске программы, создается запись в реестре, причем желательно замаскировать ее как настройку, например дать ей имя: fTarOpt... любое, в зависимости от назначения программы. дабы пользователь не заподозрил что это оно самое. При этом не плохо, а очень даже хорошо будет продублировать эту запись еще в паре, тройке (десятков ;) кому понравится это делать) ключах, при этом совершенно не имеющих к нашей программе отношения... Например ключ Установки/Удаления программ, и др. ...

При запуске проверяем эти самые ключи, и если хотя-бы один из них имеет n-ое значение, без разговоров, MessageBox'ов и прочей гадости, выходим из программы/Инсталятора! Опять же рекомендую NSIS, т.к. это проделать в нем наиболее реально и удобно...

При этом, не стоит забывать о таких утилитах, как RegMonitor, FileMonitor... Если уж не удастся скрыть запись/чтение ключей, содержащих информацию, то можно хоть запутать злоумышленника ;) Попутно с чтением нужных нам ключей, лучше всего считать еще пару десятков произвольных, дабы ищущему причину триала, было с чем повозиться...

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

А зачем, спрашивается, тот файлик с рег данными, если все можно было хранить в реестре? Да просто так :) Чтобы отвлечь внимание ломающего, и дабы не все так просто было, как бы выглядело.

Ладно, я тут пока это дело писал, сам запутался ;)

А вообще, еще было бы не плохо, во время триал срока, выдавать надоедливые окошки, чтобы пользователь не расслаблялся, и даже если он найдет как продлить триал, те самые окошки, за продолжительный срок, его окончательно достанут!

Не буду более отвлекать своими бредовыми идеями на эту тему ;) Читать надоест ;)

Ответить

Номер ответа: 6
Автор ответа:
 Chill



ICQ: 554200 

Вопросов: 101
Ответов: 343
 Профиль | | #6 Добавлено: 29.02.04 23:28

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

Можно делать по другому (проверял только в СИ): вообщем определяешь массив символов (строку), запихиваешь в него произвольный текст... потом при 1 запуске программы открываешь .ехе, ишещь этот текст и вписываешь туду дату... а проблема с переустановкой проги решается так, в реестре создаешь ключ... и при старте проверяешь его, если он существует, то прогу не запускать... вот и все...

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

Вообщем все вышеизложенное не тестировалось и находится на уровне предположений (может оказаться просто моим бредом)... если кто-то это осуществит, просьба сообщить =))))

Ответить

Номер ответа: 7
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #7
Добавлено: 01.03.04 11:00

согласен с Nio, я только так программы распространяю (Demo взломать невозможно). А если писать дату в файл или реестр её бы следовало зашифровать, чтобы юзер не поменял на нужную, даже когда найдёт запись.

Ответить

Номер ответа: 8
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #8
Добавлено: 01.03.04 11:09

2Ra$cal Я же написал, что надо бы зашифровать файл, а на счет записей в реестр, - не важно что там есть, а важно их наличие/отсутствие... А лучше всего, это поставить цену на программулину порядка 200-300 рублей, никому из-за таких денег попросту возиться будет неохото...

Ответить

Номер ответа: 9
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #9
Добавлено: 01.03.04 11:10

2Ra$cal Я же написал, что надо бы зашифровать файл, а на счет записей в реестр, - не важно что там есть, а важно их наличие/отсутствие... А лучше всего, это поставить цену на программулину порядка 200-300 рублей, никому из-за таких денег попросту возиться будет неохото...

Ответить

Номер ответа: 10
Автор ответа:
 Илья



ICQ: 251647191 

Вопросов: 37
Ответов: 167
 Web-сайт: www.lirc.narod.ru
 Профиль | | #10
Добавлено: 01.03.04 20:15
А можно ли серийный номер использовать? В библаблаблатеке кодов есть пример шифрования... Записываешь в реестр зашифрованные данные, если они нарушены, прогу не запускать!

Ответить

Номер ответа: 11
Автор ответа:
 Чан



ICQ: 26977559 

Вопросов: 4
Ответов: 18
 Профиль | | #11 Добавлено: 02.03.04 00:05

Я бы посоветовал ограничение ставить не на срок использования, а на число запусков. Программируется всё примерно также, но зато не прокатит дешёвый финт с переводм часов назад.

Ответить

Номер ответа: 12
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #12
Добавлено: 02.03.04 10:47

Если делать триал по времени очень рекомендовал бы проверять дату каждую секунду (в таймер запихни ф-ию). Тогда, не помогут переводы времени перед запуском. Ещё нужно проверять дату со временем вплоть до секунд - если между запусками проходи 5-10 с, то явно пытаются обойти защиту. И главное - если время вышло нужно обязательно в реестре и в файлах это отметить, чтобы прога даже время не смотрела на время, а то многие проги за этим не следят (даже OfflineExplorer лажается, хотя просят за него 350$ (enterprise edition))

Ответить

Номер ответа: 13
Автор ответа:
 Ra$cal



ICQ: 8068014 

Вопросов: 18
Ответов: 817
 Web-сайт: www.rascalspb.narod.ru
 Профиль | | #13
Добавлено: 02.03.04 10:53

Если делать триал по времени очень рекомендовал бы проверять дату каждую секунду (в таймер запихни ф-ию). Тогда, не помогут переводы времени перед запуском (в смысле программы, которые переводят время, т.к. они его потом возвращяют). Ещё нужно проверять дату со временем вплоть до секунд - если между запусками проходи 5-10 с, то явно пытаются обойти защиту. И главное - если время вышло нужно обязательно в реестре и в файлах это отметить, чтобы прога даже время не смотрела на время, а то многие проги за этим не следят (даже OfflineExplorer лажается, хотя просят за него 350$ (enterprise edition))

Ответить

Номер ответа: 14
Автор ответа:
 Spy



ICQ: 250543104 

Вопросов: 2
Ответов: 1
 Профиль | | #14 Добавлено: 04.03.04 08:38
Как вариант можно заставить инсталятор вносить дату инсталяции в константу в сам EXE файл - и никаких вам реестров!

Ответить

Номер ответа: 15
Автор ответа:
 sne



Разработчик Offline Client

ICQ: 233286456 

Вопросов: 34
Ответов: 5445
 Web-сайт: hw.t-k.ru
 Профиль | | #15
Добавлено: 04.03.04 11:41
Spy, за то FileMonitor + какой-нить HexEditor = рабочая прога :) И еще минус - нелься использовать упаковщики exe...

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам