Форум программистов
 
Регистрация на форуме тут, о проблемах пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль

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

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

Купить рекламу на форуме 15-35 тыс рублей в месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.09.2011, 09:26   #1
Зод
Форумчанин
 
Регистрация: 25.08.2011
Сообщений: 140
По умолчанию Как сделать триал версию?

Собственно хочу поставить ограничения на программу.
Что бы она работала ровно 30 минут и не секундой больше. Ключ и регистрация не нужна.
Может кто знает как ввести такое ограничение?
Зод вне форума Ответить с цитированием
Старый 01.09.2011, 09:40   #2
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,455
По умолчанию

Банально при старте запускать отсчёт, и как только достигается нужное веря программы закрывается.
Человек_Борща вне форума Ответить с цитированием
Старый 01.09.2011, 13:05   #3
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,061
По умолчанию

В реестре прописывать общее время работы, имя раздела желательно сделать не похожим на имя программы. Но все равно ушлые ребята со временем расколят
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 01.09.2011, 13:13   #4
Smitt&Wesson
Старожил
 
Аватар для Smitt&Wesson
 
Регистрация: 31.05.2010
Сообщений: 13,979
По умолчанию

Установить компонент Timer и время 1800000 мс.
Пиши пьяным, редактируй трезвым.
Справочник по алгоритмам С++ Builder
Smitt&Wesson вне форума Ответить с цитированием
Старый 01.09.2011, 14:52   #5
GunSmoker
Старожил
 
Регистрация: 13.08.2009
Сообщений: 2,581
По умолчанию

Код:
unit Unit1;

interface

...

implementation

...

function TrialLimit(Parameter: Pointer): Integer;
begin
  Sleep(30 * 60 * 1000); // 30 минут
  ExitProcess(0); // или TerminateProcess(GetCurrentProcess, 0);
  Result := 0;
end;

procedure Init;
var
  TID: Cardinal;
begin
  BeginThread(nil, 0, TrialLimit, nil, 0, TID);
end;

initialization
  Init;
end.
Опытный программист на C++ легко решает любые не существующие в Паскале проблемы.
GunSmoker вне форума Ответить с цитированием
Старый 02.09.2011, 08:48   #6
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

Зод, хочу предупредить.
такие защиты гарантировано ломаются!
Достаточно найти в коде нужный таймер и задать ему другой интервал (ну, вместо 30 минут - 3000, например...)
Не скажу, что это совсем просто (т.е. нужны будут инструменты, немножко знаний, опыт + время на поиск нужного места в коде). Но в принципе это вполне реализуемо...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 02.09.2011, 08:59   #7
arthur1
Пользователь
 
Регистрация: 01.09.2011
Сообщений: 44
По умолчанию

тоесть вы хотите сказать что можно декомпелировать приложение и внести изменения? delphi приложение можно декомпелировать?
Кое что интерестное ожидает тебя тут.
мир прекрастная штука ... как не крути)

Последний раз редактировалось mihali4; 03.11.2011 в 20:11.
arthur1 вне форума Ответить с цитированием
Старый 02.09.2011, 09:21   #8
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,455
По умолчанию

Для делфи программ существует целый набор программ которые специально созданны для декомпиляции программ написанных на делфи. Там можно декомпилировать и посмотреть, из чего состоит программа(какие компоненты. модули в её составе, посмотеть адреса переменных и т.д. и т.п.) и даже сохранить ПО в dpr и pas файлах(дизасм оттуда никуда не денется).
Человек_Борща вне форума Ответить с цитированием
Старый 02.09.2011, 09:39   #9
fate
Форумчанин
 
Аватар для fate
 
Регистрация: 17.03.2009
Сообщений: 318
По умолчанию

Serge_Bliznykov все ломается, что ж теперь программы не писать?
fate вне форума Ответить с цитированием
Старый 02.09.2011, 10:40   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,260
По умолчанию

ну, согласен. _почти_ всё (почти это на очень специфические вещи с электронными ключами и сильной криптографией. это тоже ломается, но мы сейчас не об этом).
Писать программы нужно НЕ ЗАВИСИМО от того, ломаются они или нет.
А вот при использовании защиты стоит учитывать слабые места использованного способа.
В данном случае кряк для программы будет изготовить МНОГО проще, чем в случае ключа, которым, например, кодированы важные для работы функции программы... Просто это автору программы полезно будет знать. и всё.
я лично считаю, что при всех своих недостатках, использование готовых протекторов (того же AsProtect'а) - идеальное решение для новичка. Особенно если дополнительно использовать имеющееся в протекторе API + добавить дополнительную (простенькую) самописную защиту в свой код...
Впрочем, соглашусь. Ломается всё. Вопрос только в требуемой для взлома квалификации, наличии инструментов нужных, наличия свободного времени у хакера и, разумеется, мотивации на взлом. Про неуловимого Джо знаете? Почему он такой неуловимый?
Просто защиты с ограничением по времени обычно самые кряконезащищенные.. А в данном случае, задача ещё упрощается тем, что в программе есть таймер, который нужно или задизейблить совсем или сделать нужный интервал...

всё высказанное не является истинной в последней инстанции.
Так, просто информация к размышлению...

Последний раз редактировалось mihali4; 03.11.2011 в 20:11.
Serge_Bliznykov вне форума Ответить с цитированием
Ответ
Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как можно создать триал версию уже готовых программ? Aqil_f Общие вопросы Delphi 8 27.06.2016 01:14
Как определить версию браузера IE пользователя? AgentVlad PHP 6 08.10.2009 12:00
Как записывать версию программы Crivel Свободное общение 5 05.02.2009 19:57
Как определить полную версию Windows Crazyman Windows 6 27.01.2008 02:19
Как узнать версию браузера FlooPy PHP 3 24.11.2007 23:25