Страница: 1 |
Это ограничение слишком легко обходится Сам проверял При первом запуске где-нибудь в "Моих документах" создоваи фаил и записываи в него сегоднешнюю дату. С каждым запуском сверяй ее с настоящеи. Если разница больше, чем 5 днеи - сообщай! Зачем файлики, все нужно делать запутанней Вот еще, как вариант Можно помещать дату установки проги прямо в .exe самой программы... Это можно сделать либо хорошо изучив РЕ формат файла и куда-то там приткнуть - точно не знаю, РЕ - формат только изучаю и ничего сказать не могу... Можно делать по другому (проверял только в СИ): вообщем определяешь массив символов (строку), запихиваешь в него произвольный текст... потом при 1 запуске программы открываешь .ехе, ишещь этот текст и вписываешь туду дату... а проблема с переустановкой проги решается так, в реестре создаешь ключ... и при старте проверяешь его, если он существует, то прогу не запускать... вот и все... Могут возникнуть проблемы с записью строки в исполняющийся в данный момент фал, но это вроде решается проецированием файла в память... Вообщем все вышеизложенное не тестировалось и находится на уровне предположений (может оказаться просто моим бредом)... если кто-то это осуществит, просьба сообщить ))) согласен с Nio, я только так программы распространяю (Demo взломать невозможно). А если писать дату в файл или реестр её бы следовало зашифровать, чтобы юзер не поменял на нужную, даже когда найдёт запись. 2Ra$cal Я же написал, что надо бы зашифровать файл, а на счет записей в реестр, - не важно что там есть, а важно их наличие/отсутствие... А лучше всего, это поставить цену на программулину порядка 200-300 рублей, никому из-за таких денег попросту возиться будет неохото... 2Ra$cal Я же написал, что надо бы зашифровать файл, а на счет записей в реестр, - не важно что там есть, а важно их наличие/отсутствие... А лучше всего, это поставить цену на программулину порядка 200-300 рублей, никому из-за таких денег попросту возиться будет неохото... Я бы посоветовал ограничение ставить не на срок использования, а на число запусков. Программируется всё примерно также, но зато не прокатит дешёвый финт с переводм часов назад. Если делать триал по времени очень рекомендовал бы проверять дату каждую секунду (в таймер запихни ф-ию). Тогда, не помогут переводы времени перед запуском. Ещё нужно проверять дату со временем вплоть до секунд - если между запусками проходи 5-10 с, то явно пытаются обойти защиту. И главное - если время вышло нужно обязательно в реестре и в файлах это отметить, чтобы прога даже время не смотрела на время, а то многие проги за этим не следят (даже OfflineExplorer лажается, хотя просят за него 350$ (enterprise edition)) Если делать триал по времени очень рекомендовал бы проверять дату каждую секунду (в таймер запихни ф-ию). Тогда, не помогут переводы времени перед запуском (в смысле программы, которые переводят время, т.к. они его потом возвращяют). Ещё нужно проверять дату со временем вплоть до секунд - если между запусками проходи 5-10 с, то явно пытаются обойти защиту. И главное - если время вышло нужно обязательно в реестре и в файлах это отметить, чтобы прога даже время не смотрела на время, а то многие проги за этим не следят (даже OfflineExplorer лажается, хотя просят за него 350$ (enterprise edition)) Страница: 1 |
Вопрос: Ограничение времени работы программы...
Добавлено: 29.02.04 17:02
Автор вопроса: GlooM | Web-сайт:
Наверное, из моего вопроса все ясно?! Поясняю: Мне нужен код (подскажите!) для того, чтобы моя прога проработала дней 5 и потом требовала покупки уже полной, рабочей проги!
Ответы
Всего ответов: 15
Номер ответа: 1
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #1
Добавлено: 29.02.04 17:27
Номер ответа: 2
Автор ответа:
GlooM
ICQ: 348453688
Вопросов: 88
Ответов: 356
Web-сайт:
Профиль | | #2
Добавлено: 29.02.04 17:31
Ну, все равно!
Номер ответа: 3
Автор ответа:
dNW
Вопросов: 30
Ответов: 683
Профиль | | #3
Добавлено: 29.02.04 18:16
Номер ответа: 4
Автор ответа:
Nio
Вопросов: 15
Ответов: 115
Web-сайт:
Профиль | | #4
Добавлено: 29.02.04 18:19
Какой-либо хитрый файлик где-нить подальше в недрах C:\Windows\System32, где лежит дата начала триала. Но это всё семечки. Лучше делать специальную версию с урезанной функциональностью - например, отсутствие вывода на печать в программе для работы с полиграфией... В общем, чтобы физически в программе не было кода, без которого программа бесполезна.... но чтобы прога могла показать, как она могла бы быть полезна.
Номер ответа: 5
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #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
Номер ответа: 7
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #7
Добавлено: 01.03.04 11:00
Номер ответа: 8
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #8
Добавлено: 01.03.04 11:09
Номер ответа: 9
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #9
Добавлено: 01.03.04 11:10
Номер ответа: 10
Автор ответа:
Илья
ICQ: 251647191
Вопросов: 37
Ответов: 167
Web-сайт:
Профиль | | #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-сайт:
Профиль | | #12
Добавлено: 02.03.04 10:47
Номер ответа: 13
Автор ответа:
Ra$cal
ICQ: 8068014
Вопросов: 18
Ответов: 817
Web-сайт:
Профиль | | #13
Добавлено: 02.03.04 10:53
Номер ответа: 14
Автор ответа:
Spy
ICQ: 250543104
Вопросов: 2
Ответов: 1
Профиль | | #14
Добавлено: 04.03.04 08:38
Как вариант можно заставить инсталятор вносить дату инсталяции в константу в сам EXE файл - и никаких вам реестров!
Номер ответа: 15
Автор ответа:
sne
Разработчик Offline Client
ICQ: 233286456
Вопросов: 34
Ответов: 5445
Web-сайт:
Профиль | | #15
Добавлено: 04.03.04 11:41
Spy, за то FileMonitor + какой-нить HexEditor = рабочая прога И еще минус - нелься использовать упаковщики exe...