![]() |
Работа программы до определенной даты
Нужно реализовать работу программы до определенной даты, сравнение даты с датой на компьютере не подходят(легко изменить). Программа актуальна при работающем интернете, так что возможно ли получить дату с сайта для сравнения. Если кто знает подскажите шаги реализации и используемые функции
|
Могу предложить без инета ...
Вопрос: ограничение по дате стоит на какое-то конкретное число например 01.01.2010 или с момента старта программы должно пройти определённое количество дней часов ? |
именно до даты, может и 1 день отработать
|
Скачиваешь с любого серъёзного сайта страничку на которой есть текущая дата.
Код:
#include <INet.au3> |
Код:
$Url = "http://forum.oszone.net/index.php" Дату незнаю как ... ищи сайт :) |
FlatX007, сделай для malev сверку с этим сайтом: http://time.jp-net.ru/, и желательно чтоб это не был только один сервер, можно сделать проверку с двух, с того и этого: http://bilet.pp.ru/calculator_rus/to...koe_vremia.php
|
Вложений: 1
Я лично не пользуюсь этим, но ради спортивного интереса написал вот такой модуль:
Код:
#include <AppTrialModule.au3> |
Спасибо Creat0R, попробую. Только это не совсем trial, полнофункциональная программа просто требующая обновления, скачиванием с файлообменника. Вот и вся выгода :)
Вроде понял принцип работы модуля создает скрытые системные файлы в них зашифрованная дата/время окончания, проверяет на наличие хотя бы одного из них. Если время закончилось ищет в реестре ключ регистрации. Интересно с точки зрения реализации но не практично. Либо дорабатывать как у касперского, своего рода зашифрованный ключ на период времени без которого программа не будет запускаться или работать. Если кто еще знает сервера дат напишите http://time.jp-net.ru/ типа такого, чтобы парсить меньше и без флеш. |
Цитата:
Цитата:
|
Что мешает пользователю удалять ключи реестра и файлы?
|
Цитата:
Ну попробуй удали :) - но про эти файлы юзер не должен знать, и вообще, это пример концепции, каждый сам для себя может найти подходящий метод маскировки файлов и ключей. P.S А ключ реестра всего лишь содержит Product Key (после его верного введения), если его удалить, то программа снова станет Trial :) |
Удалил 3 файла. Четвёртый сразу не заметил. Полез за подсказкой :)
А в чём должен был быть подвох? В данном случае не вижу другого выхода, кроме как с интернета получить текущую дату. Вот с проверкой на глобальный подвох: Код:
#include <Inet.au3> |
Цитата:
Цитата:
P.S Мне конечно было бы и самому интересно узнать как это в “реальности” делается, в прогах которые распространяются в виде Trial-версии... |
Цитата:
Цитата:
Цитата:
Реальные программы обычно защищаются созданием файлов в папке Windows с каким-нибудь "устрашающим" названием, типа "system.dat". Или созданием ключей реестра. Зачастую ничего не маскируется. То есть при желании триал продлить легко. |
Кстати, вот ещё метод гинерации Product Key:
Код:
$sProductKey = _AppTrial_Generate_ProductKey() |
По мне, так такой вариант вообще не подходит.
Имя компьютера легко меняется, IP адрес сетевой платы тоже. Можно установить СервисПак. И... Only For Current User... |
Цитата:
|
Я делал так .... возвращается ранодомный ключь, считывается некоторые разделы реестра, рандомный ключ умножается на число указанное в программе, перекодируется в HEX, инфа считанная из разделов реестра кодируется в RC4 ключём служит - (рандомный ключ умножается на число указанное в программе, перекодируется в HEX), кодированная инфа записывается в INI ... при проверке ключа происходит обратный процесс.
Дорабатывать можно безконечно... Кому непонятно прикреплю рабочий пример (щас немогу, на работе был так сказать маленький собантуй...) |
Цитата:
имхо, если ограничит список выбора ключа, на что нить, что меняется только с переустановкой ОС, то вариант поприятней, чем если генерировать по MAC or IP (к примеру MAC и в настройках сетевой поменять можно, чем ипользуюсь, так как привязка у провайдера), а IP меняется еще проще. + еще вариант, генерировать по процессору, чипсету, материнке. Цитата:
один единственный вариант - отсчитывать время работы программы и записывать куданить: в пару тройку файлов по разным путям (по ходу так у Creat0R-ра?) + резерв в реестре надежно замаскированный ) Все варианты по проверке из интернет: не забывайте, если чужой сайт - он и изменен может быть, а доступ на ваш сайт, может быть временно закрыт, - т.е. необходимо сразу планировать - подымать тревогу, только через 1-2 дня, если недоступен важный файл из интернета )) +пользователь может использовать фаервол и сразу запретить вашему приложению доступ в интернет (например, у меня ESS 4, и им все блочу непотребное) - по этому, необходимо предупреждать (только с доступом в инет) .. умммм, а кто нить вкурсе: как заминить байтики в файле, что бы приложение осталось работоспособным? |
C игрушками проще. Можно время триала в сохранке хранить :)
С программами только определёнными такое прокатит. Цитата:
Цитата:
|
Цитата:
100% защиты нет, где нить на 90% ..... ) ....и то, по спицифике, по возможностям )) |
По IP адресам (@IPAddress1, @IPAddress2 ....) вообще нестоит делать. Я когда пробовал у меня стояла DVB карта и что же я обнаружил IP адресс который был на @IPAddress1 "перепдыл" на @IPAddress2, потом ещё раз поменялся ... :)
|
Какие бурные дискуссии в теме, еще раз повторю:
Цитата:
|
Индивидуальный ключ для каждого компьютера.
Регистрация ключа - на сервере в интернет. Время от времени программа сверяет ключ с сервером. Если что не так - отключается и перестает работать. Взломать можно только крякнув программу :) |
Возникла идея а что если получать время и дату с сайтов времени?! Но для этого нужно знать протокол sntp. Есть варианты его использования? только не командная строка. А пока реализую версию генерации ключа, в файл с шифрованием. Есть еще функции шифрования кроме _stringencrypt?
|
Цитата:
хоть отдельные данные для запрашиваемой лицензии )) Цитата:
|
свой сайт хорошо, но не у всех есть да и может быть не доступен а серверов времени куча, правда надо знать протокол...
за ссылку спасибо попробуем. |
Набросал черновой примерчик, может кому пригодится:
Создает зашифрованный файл ключ с датой действия по заданным параметрам, буду дорабатывать под свою программу, мне проще у меня дата будет жестко задана в программе, а с ключом будет сверяться, при запуске. Код:
#include <GuiConstantsEx.au3> |
malev,
Цитата:
Собственно хочу использовать этот движок + вставить ешё свой, а куда воткнуть не пойму? |
Цитата:
|
Время: 15:33. |
Время: 15:33.
© OSzone.net 2001-