Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 22.03.2012, 09:54   #11
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

Бубен вам в помощь, господа.
А я кажется понял чего хочет ТС:
Уважаемый, вы же написали что хотите закрыть программу по дате...
Для каких неведомых целей это может использоваться, если не для "защиты"?
другое дело если
Цитата:
совершить одно лишь действие и больше его не повторять
тут базара нет, задача действительно интересная, но и не шибко сложная при этом.
например при первом запуске показать сообщение типа
"добро пожаловать, бла-бла-бла, если будете тупить нажмите кнопку "справка" "

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

замечали что блокнот открывается там, где вы его оставили?
как он по-вашему это делает?
записывает свое положение в реестр при каждом перемещении / масштабировании.
а при запуске читает координаты из реестра и настраивает окно.

и так делают все проги, которые сохраняют свои настройки.
Delphi, Photoshop, Winamp, ваша не исключение.

так что реестр вам в помощь.
xrob вне форума Ответить с цитированием
Старый 22.03.2012, 10:47   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

xrob, э нет, нам бубен не нужен. это мы просто в сторону отошли от темы..

а насчёт реестра я с вами категорически согласен! (я же об этом и писал ранее).
При чём, если по честному решать задачу, то нужно писать/читать в HKEY_CURRENT_USER, тогда для каждого пользователя будет свой "первый" запуск...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 22.03.2012, 20:20   #13
krikaved
Пользователь
 
Регистрация: 26.02.2010
Сообщений: 66
По умолчанию

Код:
procedure TForm1.FormCreate(Sender: TObject);
var Reg: TRegistry;
     dat:  string;
begin
 dat := DateToStr(Date);
 Reg:=TRegistry.Create;
 Reg.RootKey:=HKEY_LOCAL_MACHINE;
 Reg.OpenKey('мой путь');
 if not Reg.ValueExists('Date') then
    begin
      Reg.WriteString('Date', dat);
    end;
 Reg.CloseKey;
 Reg.Free;
end;

procedure TForm1.FormShow(Sender: TObject);
var Reg: TRegistry;
     dat:  string;
begin
 Reg:=TRegistry.Create;
 Reg.RootKey:=HKEY_LOCAL_MACHINE;
 Reg.OpenKey('мой путь', true);
 if прошло пять дней с момента первого запуска программы then
    begin
      Reg.CloseKey;
      Reg.Free;
      ShowMessage('Hello, world!');
     end;
end;
В реестр записалась дата первого открытия программы.
Подскажите как правильно написать код выделеный красным цветом?

Последний раз редактировалось krikaved; 22.03.2012 в 20:22.
krikaved вне форума Ответить с цитированием
Старый 22.03.2012, 22:14   #14
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Цитата:
Сообщение от Serge_Bliznykov Посмотреть сообщение
а в-третьих, самое главное, я где-то написал, что это надёжная "невзламываемая" система??!!!
Так я и не доказывал "невзламываемость" защиты такого типа, просто предложил решение по взлому.
Мне кажется самый надежный способ для проверки "лицензии" через сеть - использование криптосистемы с открытым ключом. Ведь всё что есть на стороне клиента может быть исследовано как угодно, следовательно методы и ключи "открыты", что не есть хорошо.
Вот бы раздобыть такую
Lime вне форума Ответить с цитированием
Старый 23.03.2012, 00:23   #15
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

а меня вот недавно пугали что любую программу и любую функцию
можно дизасемблировать и выяснить ее алгоритм.
после чего вся эта крипто-система действительно становится "открытой".
А вообще это забавно, узнавать какими умными словами называется то что я придумываю
xrob вне форума Ответить с цитированием
Старый 23.03.2012, 00:36   #16
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
Счастье

Цитата:
Сообщение от xrob Посмотреть сообщение
а меня вот недавно пугали что любую программу и любую функцию
можно дизасемблировать и выяснить ее алгоритм.
после чего вся эта крипто-система действительно становится "открытой".
А вообще это забавно, узнавать какими умными словами называется то что я придумываю
Если алгоритм состоит из двух частей, но только одна из них доступна "злоумышленникам" то система остается нетронутой тырк
Lime вне форума Ответить с цитированием
Старый 23.03.2012, 00:43   #17
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

ваш тырк я видел в вашем предыдущем посте, спасибо.
если что-то там и не доступно "злоумышленнику", далее з.у.,
то это что-то так или иначе передает какие-то данные программе,
а значит эти данные есть и у з.у.,
а значит, зная алгоритм по которому все это расшифровывается,
з.у. берет и расшифровывает. точно так же, как это делает прога.
так что весь вопрос здесь в том, насколько легко выяснить необходимый алгоритм, т.е. ту самую "лазейку".
xrob вне форума Ответить с цитированием
Старый 23.03.2012, 04:41   #18
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
По умолчанию

Цитата:
Сообщение от xrob Посмотреть сообщение
а значит, зная алгоритм по которому все это расшифровывается,
з.у. берет и расшифровывает. точно так же, как это делает прога.
так что весь вопрос здесь в том, насколько легко выяснить необходимый алгоритм, т.е. ту самую "лазейку".
1) У з.у. нету необходимых данных для успешной расшифровки, а именно 2рого ключа который хранится только на стороне "сервера"
2) Сначала нужно точно определить каким алгоритмом пользутся программа, если алгоритм "самописный" то а) стойкость может быть хуже чем у опубликованных аналогов б) о работе серверной чати з.у. приходится только гадать, либо читать мысли
3) Программа может использовать несколько разных алгоритмов одновременно, комбинировать/чередовать

Как я полагаю весь вопрос в том стоит ли программа защиты N уровня, или хватит закрытия по DateTime через реестр
Lime вне форума Ответить с цитированием
Старый 23.03.2012, 14:56   #19
krikaved
Пользователь
 
Регистрация: 26.02.2010
Сообщений: 66
По умолчанию

Здесь кто-нибудь вообще поможет или нет?
xrob и Lime если Вам так нравиться общаться между собой, общайтесь в чате!
В 500 раз повторяю это не ЗАЩИТА!!!
krikaved вне форума Ответить с цитированием
Старый 23.03.2012, 16:16   #20
xrob
Форумчанин
 
Регистрация: 18.10.2010
Сообщений: 419
По умолчанию

Криковед, хватит кричать.
Вам же вроде 500 раз уже помогли, сказали (и я в том числе) что делать.
или вы хотите "сделай за меня и побыстрее"?
курите работу с реестром -TRegistry вам в помощь.
xrob вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Закрытие программы nikityan Общие вопросы Delphi 8 01.03.2012 00:33
Закрытие программы SKS Помощь студентам 3 13.11.2011 15:39
Закрытие программы ray_1k Общие вопросы C/C++ 12 09.07.2011 17:40
Закрытие программы Byurrer Общие вопросы C/C++ 8 06.04.2011 17:44
Закрытие программы Zloy_Doomer Общие вопросы Delphi 3 23.06.2008 19:08