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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 13.06.2008, 17:56   #1
boostman
Пользователь
 
Регистрация: 22.05.2008
Сообщений: 55
Радость ShareWare

Я хочу свою прогу продавать. Но как поставить там не знаю нормальную защиту на прогу, там серийники хочу поставить чтоб триал была, как реализовать то??
boostman вне форума Ответить с цитированием
Старый 13.06.2008, 18:02   #2
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Интересно и чего твоя прога умеет делать необычное чтоб за нее $ платили?
Ring0Sn вне форума Ответить с цитированием
Старый 13.06.2008, 18:10   #3
Terran
Участник клуба
 
Аватар для Terran
 
Регистрация: 28.11.2007
Сообщений: 1,521
По умолчанию

Посмотри ссылку, там приведён простой пример защиты ShareWare:

http://www.codenet.ru/progr/delphi/s...re-program.php
Всегда рад помочь!
Terran вне форума Ответить с цитированием
Старый 13.06.2008, 18:19   #4
Ring0Sn
Форумчанин
 
Аватар для Ring0Sn
 
Регистрация: 06.09.2007
Сообщений: 239
По умолчанию

Цитата:
Сообщение от Terran Посмотреть сообщение
Посмотри ссылку, там приведён простой пример защиты ShareWare:

http://www.codenet.ru/progr/delphi/s...re-program.php
Больше похоже на баян, а не на защиту
Ring0Sn вне форума Ответить с цитированием
Старый 14.06.2008, 11:16   #5
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

не рекомендую заморачиваться с написанием собственной защиты, лучше воспользоваться чем то готовым. Например, ASProtect - если его грамотно использовать (шифровать отдельные процедуры функции и вызывать Asprotect API - то для того, чтобы сломать потребуется ОЧЕНЬ высокая квалификация и, возможно, много времени.
пожалуй, это лучшая софтина на территории exUSSR...
но, ASprotect - платная, надо покупать... (правда, Алексей Солодовников раньше разрешал пользоваться отложенным платежом - т.е. ты скачиваешь, пользуешься, когда получаешь за свою программу деньги - платишь за ASProtect.)

и ещё - не надо обольщаться - если программа реально будет кому-то нужна (анекдот про неуловимого Джо знаешь? :-)) - то её всё равно сломают! или купят и ключ раздадут... ;-)

удачи в продажах.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 14.06.2008, 14:45   #6
dr.Chas
***
Участник клуба
 
Аватар для dr.Chas
 
Регистрация: 30.07.2007
Сообщений: 1,162
По умолчанию

Простой способ, в качестве примера триала:
Код:
uses  Registry;

procedure TForm2.RzBmpButton1Click(Sender: TObject);
var n:integer;  //количество запусков будем считывать сюда
    Reg: TRegistry;
begin
  Reg:=TRegistry.Create;
  with Reg do
  begin
    OpenKey('software', True);
    OpenKey('TrialProg', True);    //HKEY_CURRENT_USER\Software\TrialProg
    If ValueExists('MaxRun') then  //если возвращает значение true, значит есть параметр с 
     //именем MaxRun и для него определено значение
    begin
      n:=ReadInteger('MaxRun')-1;  //отнимаем ещё один запуск
      if n>=0 then WriteInteger('MaxRun', N); //записываем в реестр
    end else   //возвращает false значит это первый раз, либо пользователь удалил))))
    begin
      N:=10;   //задаём кол-во запусков
      WriteInteger('MaxRun', N);  //записываем в реестр
    end;
    Free;
  end;
  If n>0 then  //больше 0 значит запускаем программу
  begin
    Application.Create(TForm1, Form1);
  end else  //если не больше 0, значит
  begin
    //говарим пользователю что срок лицензии закончился
    MessageBeep(MB_ICONASTERISK);   
    MessageDlg('Срок лицензии закончился.', mtInformation, [mbOk], 0);
  end;
end;
P.S.: Пример взят из книги "В.В. Фараонов "Delphi Программирование на языке выского уровня".
dr.Chas вне форума Ответить с цитированием
Старый 14.06.2008, 23:34   #7
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Вышеприведённый пример защиты защитой не считается
пыщь
JTG вне форума Ответить с цитированием
Старый 15.06.2008, 07:22   #8
boostman
Пользователь
 
Регистрация: 22.05.2008
Сообщений: 55
По умолчанию

Да вообще и ASProtect не идеальна... Там всего лишь получить ключик и имя, уже можно бежать на варезники раздавать серийники...может как нить чтоб через интернет есть способы какие???
boostman вне форума Ответить с цитированием
Старый 15.06.2008, 10:52   #9
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

тогда копайте в сторону привязки к железу (мать, винт...) и/или к текущей системе + активация (хоть через Email, хоть через Интернет) (активация - вы генерите номерок на основании данных, специфичных для данного комьютера и отсылаете себе, у Вас есть генератор односторонней функции (aka электронная подпись) с помощью которого вы получаете код активации (код ответа). Потом программа из кода активации должна получать код машины (наборот - не должно быть!!), получила, сравнила - совпал - молодец, можешь работать.
Разумеется, все процедуры в программе максимально шифровать, защищать, контроль кода + обязательно навесить протектор (хотя бы тот же ASPACK/ASProtect)...

и ещё раз повторю - "Замки - это только от честных людей!", нужно будет - сломают любую проверку, ломают даже программы, которые защищены аппаратными ключами и используют сильную криптографию...
Serge_Bliznykov вне форума Ответить с цитированием
Старый 15.06.2008, 10:55   #10
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

ещё добавлю...
Цитата:
Сообщение от boostman
можно бежать на варезники раздавать серийники...
для борьбы с этим обычно используют black-list засвеченных ключей, плюс прекращение поддержки того пользователя, чей ключик ушёл в сеть...
Serge_Bliznykov вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Shareware games vicvtor Gamedev - cоздание игр: Unity, OpenGL, DirectX 10 22.01.2007 19:47