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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 22.04.2009, 08:51   #21
rzawm
Пользователь
 
Аватар для rzawm
 
Регистрация: 06.04.2009
Сообщений: 80
По умолчанию

Причём по моему, если мне ни что не изменяет, то прийдётся иметь и именно лицензионное ПО на том на котором ты писал своё приложение (будь то Delphi, C++ Builder и т.д.)
rzawm вне форума Ответить с цитированием
Старый 22.04.2009, 09:58   #22
rzawm
Пользователь
 
Аватар для rzawm
 
Регистрация: 06.04.2009
Сообщений: 80
По умолчанию

Если твоё ПО не будет зарегистрировано там где упомянуто в этом законе, то действие на него не будет распространятся данного закона, но это не мешает тебе с него получать деньги, но в случае судебных разбирательств тебе очень тяжело будет доказать авторство на своё ПО.
rzawm вне форума Ответить с цитированием
Старый 22.04.2009, 11:46   #23
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Хочу немного дополнить rzawm по технике.
Еще необходимо где-то хранить метку о том что ключ введен правильно, чтобы не заставлять пользователя при каждом запуске вводить ключ (если конечно это ключ на использование, а не защита программы паролем от несанкционированного доступа - но это, я думаю другая тема). Причем при хранении метки следует подумать о месте хранения и ее защите (чтобы просто не перенесли вместе с программой метку), может туда замешать данные о компьютере.
И немного ОПТИМИЗМА ( я так понял, что Alex2009 и набираемая команда - начинающие ):
Почти правильно сказал rzawm
Цитата:
...сделать такую систему защиты чтобы твою программу было дешевле купить чем сломать...
Можно вообще отложить настройку защиты программы.
Многие сперва делают Хорошую и Нужную программу со статусом freeware и распространяют ее (рекламируют, доводят до ума и т.д.) - ПОЧЕМУ?!.
- набрать аудиторию пользователей,
- отработать программу ( пользователи тестируют и дают свои предложения - всех пожеланий не реализуешь, но программа именно для них ),
- войти в список конкуренции - программу не обязательно взламывать или покупать, можно взять аналогичную, более дешевую ( или бесплатную) и, может быть, более функциональную.
Вот потом можно разбить на бесплатную и платную версию - либо второй, альтернативный, вариант - базовая версия бесплатна, а настроенная под индивидуальные нужды платно ( к тому времени в команде будет развита библиотека компонентов, появится опыт и наработки ).
Причем бесплатная программа не значит что нет дохода - если востребована ( много посищений сайта ) то и за рекламу на сайте тоже платят.
Ну и если дочитали ( пока сам не проверял ) - бесплатные TurboPower OnGuard
Цитата:
компоненты, классы и функции для защиты продуктов от несанкционированного копирования
http://www.turbocontrol.com/TPSupport.htm сами компоненты (на английском)
http://www.compress.ru/article.aspx?id=10151&iid=420 - небольшая статья.
Ну и Google в помощь
s.Creator вне форума Ответить с цитированием
Старый 22.04.2009, 12:21   #24
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Ну не может быть построена сколь-нибудь серьёзная защита на компонентах. tpOnGuard:
Код:
procedure TregMain.btnSaveClick(Sender: TObject);
var
  SerialNum : longint;
begin
  // Validate the serial number
  try
    SerialNum := StrToInt(edtSerial.Text);
  except
    MessageDlg('Invalid Serial Number.  Please check your entry and try again.', mtError, [mbOK], 0);
    edtSerial.SetFocus;
    edtSerial.SelectAll;
    exit;
  end;

  // Validate the release code
  if not IsReleaseCodeValid (edtRelease.Text, SerialNum) then begin
    MessageDlg('Invalid Release Code.  Please check your entry and try again.', mtError, [mbOK], 0);
    edtRelease.SetFocus;
    edtRelease.Text := '';
    exit;
  end else begin
    MessageDlg('Registration complete.', mtInformation, [mbOK], 0);
    SaveRegistrationInformation(edtRelease.Text, SerialNum);
    Close;
  end;
end;
Какой смысл городить трёхэтажное шифрование, привязку к пользователю, дискам, сетевухе и т.п., если вся защита представлена в виде тупого "рубильника" if-else. Всего 1 байт в программе. Приведённый у них в демках код - это пример как не надо делать.
пыщь
JTG вне форума Ответить с цитированием
Старый 22.04.2009, 13:00   #25
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

JTG: К сожалению, как писал, не проверял (не использовал) приведенную библиотеку.
Но думаю для Alex2009 она будет лучше приведенного до этого кода.
А когда Программу будет дешевле сломать чем найти бесплатный аналог, Alex2009, думаю научится дорабатывать компоненты.
И приведенный код еще ни о чем не говорит.
Код:
function TregMain.IsReleaseCodeValid(...): Boolean;
begin
  //..........
  if not Result then
  begin
    self.RelizNo := True;
    self.OnClose := self.DestroyReliz;
  end;
end;

procedure TregMain.SaveRegistrationInformation(....)
begin
  if self.RelizNo then
  begin
    // нас обманули накажем
  end;
end;
и одним байтом тут будет мало.
( это только за пять минут накропал )
s.Creator вне форума Ответить с цитированием
Старый 22.04.2009, 14:02   #26
rzawm
Пользователь
 
Аватар для rzawm
 
Регистрация: 06.04.2009
Сообщений: 80
По умолчанию

s.Creator, я ничего против бесплатного ПО ни имею, согласен с тобой что и из бесплатного можно что то поиметь, можно к примеру в своё приложение (бесплатное) прикрутить рекламу чью либо чтобы он была, но тоже увлекатся не стоит, а то будет уж слишком назойлива. (пример: DownloadMaster) Бесплатное приложение + реклама, полюбому WesByte с этого чегото имеют, иначе небыло бы в нём рекламы. А если приложение напишеш отличное, а ещё займёш своим приложением нишу в которой до тебя никого ещё не было, в результате этого колво скачиваний твоей софтины будет расти в геометрической последовательности, то люди пожелающие разместить свою рекламу в твоём приложении сами найдут тебя.
rzawm вне форума Ответить с цитированием
Старый 22.04.2009, 14:23   #27
JTG
я получил эту роль
Старожил
 
Аватар для JTG
 
Регистрация: 25.05.2007
Сообщений: 3,694
По умолчанию

Цитата:
Сообщение от s.Creator Посмотреть сообщение
...
и одним байтом тут будет мало.
( это только за пять минут накропал )
Тем не меннее все танцы вокруг функции IsReleaseCodeValid. В этом-то и есть главный недостаток таких компонентов для лицензирования, триала и т.п. - нет возможности перемешать код защиты с рабочим кодом программы, получается нечто прикрученное сбоку, можно хоть 100 дополнительных переменных ввести - толку 0.
пыщь
JTG вне форума Ответить с цитированием
Старый 22.04.2009, 14:31   #28
rzawm
Пользователь
 
Аватар для rzawm
 
Регистрация: 06.04.2009
Сообщений: 80
По умолчанию

Цитата:
Сообщение от JTG Посмотреть сообщение
Тем не меннее все танцы вокруг функции IsReleaseCodeValid. В этом-то и есть главный недостаток таких компонентов для лицензирования, триала и т.п. - нет возможности перемешать код защиты с рабочим кодом программы, получается нечто прикрученное сбоку, можно хоть 100 дополнительных переменных ввести - толку 0.
Понятно, отсюда простота последующего её взлома к примру SoftIce ом, так что надо в каждом отдельном случае использовать что то своё, я за частую программеров сравниваю с художниками и скульпторами, они творят творения и вояют извояния, написание хорошего ПО это искуство и сплошной креатив, так что если пишеш сам что то достойное то и защищай это сам достойно, используй свои какие либо методы, т.е. твори в прямом понимании этого слова.
rzawm вне форума Ответить с цитированием
Старый 22.04.2009, 15:24   #29
s.Creator
Форумчанин
 
Регистрация: 28.09.2008
Сообщений: 344
По умолчанию

Про рекламу:
В том контексте, что я писал, она не главное и на том этапе это не доход а так - небольшое утешение.
Про бесплатный софт:
Пока не нашел свою нишу на нем хорошо оттачивать мастерство и набираться опыта и кроме возможности раскрутки и получения опыта есть еще вероятность, что заметит хороший работодатель (или будет что показать при устройстве в компанию и заодно правильно ответить хотя-бы на половину вопросов).
Про защиту:
Естественно все здесь приведенное не проф, а лучшая проф защита, как правильно написал rzawm, оригинальная, написанная независимо.
( а как ее сделать - в нете тонны материала по технологиям)
НО если учесть что рядовой пользователь первый взлом делает набором в Google "ТвояПрога скачать бесплатно", а хакер будет ее ломать и выставлять на скачку если она пользуется спросом.
Правильно найти соотношение между затратой на защиту и легкостью взлома и не отпугнуть сложностью приобретения (ввода ключей, оплаты) потенциальных пользователей - а то наберут "... скачать бесплатно".
s.Creator вне форума Ответить с цитированием
Старый 22.04.2009, 15:57   #30
MalCer
Форумчанин
 
Аватар для MalCer
 
Регистрация: 15.07.2008
Сообщений: 615
По умолчанию

А лучше использовать генерацию пароля. Кто нибудь может привести простой пример этого?
xor eax, eax
xchg [eax], eax
MalCer вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Лицензия Антивирус Касперского delphin100 Безопасность, Шифрование 6 25.03.2009 16:04
Запуск программы на выполнение из другой программы. ViNcHeStEr Паскаль, Turbo Pascal, PascalABC.NET 6 18.06.2008 14:33
программы koyot Фриланс 1 14.03.2008 13:10
лицензия BDS 2006 Романнн Свободное общение 0 09.12.2007 22:16
Помогите с делфи (лицензия найдена, но недопустима) DeDoK Софт 2 24.11.2007 10:42