Перейти к содержимому

Фотография

Защита ПО

- - - - -

  • Авторизуйтесь для ответа в теме
Сообщений в теме: 19

#1
UJin

UJin

    Пятидесятник

  • Новичок
  • PipPip
  • 50 сообщений
1 - Репутация
  • На счете:-200 тугриков
Вопрос к программерам.

Постановки задачи:
Имеется некоторое разработанное программное обеспечение. Необходимо сделать его демо-версию. Демо-версия должна иметь ограничение по срокам работы. Какие способы подскажете?
  • 0

#2
heat

heat

    Двухсотник

  • Завсегдатай
  • PipPipPipPipPip
  • 347 сообщений
522 - Репутация
  • На счете:-200 тугриков

Вопрос к программерам.

Постановки задачи:
Имеется некоторое разработанное программное обеспечение. Необходимо сделать его демо-версию. Демо-версия должна иметь ограничение по срокам работы. Какие способы подскажете?


1. Программа не должна запускается без подключения в интернет (к вашему серверу или к другому) для идентификации времени (даты)
2. После проверки времени на сервере, программа должна выслать на него полный отчет о всей системе пользователя
3. Если время истекло - тогда программа не запускается - или не запускается по команде сервера (из отчетов)
  • 3
in god we trust

#3
OMEN III

OMEN III

    Ниипите мне моск

  • Пятитысячник
  • PipPipPipPipPipPipPipPipPip
  • 6783 сообщений
24940 - Репутация
  • На счете:-200 тугриков
heat, как всегда шарит мосгами
  • 1

#4
UJin

UJin

    Пятидесятник

  • Автор Темы
  • Новичок
  • PipPip
  • 50 сообщений
1 - Репутация
  • На счете:-200 тугриков

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


Сильный ход. Только не уверен, что у пользователей есть интернет. По крайней мере у части из них точно нет. Альтернативные варианты?
  • 0

#5
OMEN III

OMEN III

    Ниипите мне моск

  • Пятитысячник
  • PipPipPipPipPipPipPipPipPip
  • 6783 сообщений
24940 - Репутация
  • На счете:-200 тугриков

Сильный ход. Только не уверен, что у пользователей есть интернет. По крайней мере у части из них точно нет. Альтернативные варианты?

тип программы ?!
  • 0

#6
UJin

UJin

    Пятидесятник

  • Автор Темы
  • Новичок
  • PipPip
  • 50 сообщений
1 - Репутация
  • На счете:-200 тугриков
Что значит тип?
Просто программа, которая получает на вход некоторую информацию из файлов, повзоляет пользователю сделать какие-то манипуляции, и на выходе дает другие файлы.
  • 0

#7
OMEN III

OMEN III

    Ниипите мне моск

  • Пятитысячник
  • PipPipPipPipPipPipPipPipPip
  • 6783 сообщений
24940 - Репутация
  • На счете:-200 тугриков

Что значит тип?
Просто программа, которая получает на вход некоторую информацию из файлов, повзоляет пользователю сделать какие-то манипуляции, и на выходе дает другие файлы.

Функции, для чего программа?!
  • 0

#8
exec228

exec228

    Штурмовик

  • Завсегдатай
  • PipPipPipPipPipPip
  • 531 сообщений
162 - Репутация
  • На счете:-200 тугриков
верно
  • 0
(\_/)
(O.o)
(")_(")
Это Заец. Вставь его в свою подпись, чтобы помочь ему завладеть миром.

#9
OMEN III

OMEN III

    Ниипите мне моск

  • Пятитысячник
  • PipPipPipPipPipPipPipPipPip
  • 6783 сообщений
24940 - Репутация
  • На счете:-200 тугриков
Ну рас молчиш и интернета нет - вот вариант

1.просто не включаешь в exe-файл некоторую часть кода оставляя только ту функциональность, которая нужна для демо-версии.
И клеешь кнопку -Вы работаете в демо-версии программы

2.ограничиваешь число запусков за один сеанс.Пишем программу, которая позволит пользователю запускать ее только один раз в течение сеанса работы Windows. Повторный запуск будет возможен после перезагрузки.

Так как не знаю функцианала проги - ничего больше не могу посовутывать
  • 2

#10
Rightdrugs

Rightdrugs

    Полутысячник

  • Завсегдатай
  • PipPipPipPipPipPip
  • 718 сообщений
1026 - Репутация
  • На счете:-200 тугриков

Вопрос к программерам.

Постановки задачи:
Имеется некоторое разработанное программное обеспечение. Необходимо сделать его демо-версию. Демо-версия должна иметь ограничение по срокам работы. Какие способы подскажете?


В этом вопросе могу подсказать несколько моментов...

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

2. Активация продукта через интернет, ввод мастер кодов (активационных) и т.д. ТОже очень дорого, т.к. нужно строить собственнные сервера, чтобы обеспечивать акаунт юзеров...

3. САмый простой способ, при активации базу паролей хранить внутри программы ... тогда и сломать легко... очень легко... вводишь пароль и о чудо программа принемает... хорошо... никаких напрягов...
  • 0
Изображение

НЕ льстите себе ВЫ тоже не дообследованы !!!!
Для тех кто любит позновательную литературу
Для тех кто любит послушать хорошую музыку
Jus summum saepe summa malitia est - Высшее право часто есть высшее зло

#11
heat

heat

    Двухсотник

  • Завсегдатай
  • PipPipPipPipPip
  • 347 сообщений
522 - Репутация
  • На счете:-200 тугриков

Ну рас молчиш и интернета нет - вот вариант

1.просто не включаешь в exe-файл некоторую часть кода оставляя только ту функциональность, которая нужна для демо-версии.
И клеешь кнопку -Вы работаете в демо-версии программы

2.ограничиваешь число запусков за один сеанс.Пишем программу, которая позволит пользователю запускать ее только один раз в течение сеанса работы Windows. Повторный запуск будет возможен после перезагрузки.


Омен знает дело!
могу добавить только один совет - не используйте HASP
  • 0
in god we trust

#12
heat

heat

    Двухсотник

  • Завсегдатай
  • PipPipPipPipPip
  • 347 сообщений
522 - Репутация
  • На счете:-200 тугриков
или сделай что бы она запускалась только 3 раза из 10 попыток - каждая попытка занимала около 25 секунд - это заставит клиента заплатить за полную версию...

а полную версию защити активацией - привязкой к железу. (если че могу скинуть исходняки BD7)
  • 2
in god we trust

#13
Rightdrugs

Rightdrugs

    Полутысячник

  • Завсегдатай
  • PipPipPipPipPipPip
  • 718 сообщений
1026 - Репутация
  • На счете:-200 тугриков

Омен знает дело!
могу добавить только один совет - не используйте HASP


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

НЕ льстите себе ВЫ тоже не дообследованы !!!!
Для тех кто любит позновательную литературу
Для тех кто любит послушать хорошую музыку
Jus summum saepe summa malitia est - Высшее право часто есть высшее зло

#14
OMEN III

OMEN III

    Ниипите мне моск

  • Пятитысячник
  • PipPipPipPipPipPipPipPipPip
  • 6783 сообщений
24940 - Репутация
  • На счете:-200 тугриков

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

это хорошо, но вот только HASP ломается очень быстро
  • 0

#15
Rightdrugs

Rightdrugs

    Полутысячник

  • Завсегдатай
  • PipPipPipPipPipPip
  • 718 сообщений
1026 - Репутация
  • На счете:-200 тугриков

это хорошо, но вот только HASP ломается очень быстро


Хасп бывает хер поламаешь... надо правильно делать все... вот тогда и будет счастье...
  • 0
Изображение

НЕ льстите себе ВЫ тоже не дообследованы !!!!
Для тех кто любит позновательную литературу
Для тех кто любит послушать хорошую музыку
Jus summum saepe summa malitia est - Высшее право часто есть высшее зло

#16
Rightdrugs

Rightdrugs

    Полутысячник

  • Завсегдатай
  • PipPipPipPipPipPip
  • 718 сообщений
1026 - Репутация
  • На счете:-200 тугриков

или сделай что бы она запускалась только 3 раза из 10 попыток - каждая попытка занимала около 25 секунд - это заставит клиента заплатить за полную версию...

а полную версию защити активацией - привязкой к железу. (если че могу скинуть исходняки BD7)


Ну это уж совсем крайность... нафиг так делать непонятно...
  • 0
Изображение

НЕ льстите себе ВЫ тоже не дообследованы !!!!
Для тех кто любит позновательную литературу
Для тех кто любит послушать хорошую музыку
Jus summum saepe summa malitia est - Высшее право часто есть высшее зло

#17
OMEN III

OMEN III

    Ниипите мне моск

  • Пятитысячник
  • PipPipPipPipPipPipPipPipPip
  • 6783 сообщений
24940 - Репутация
  • На счете:-200 тугриков
1.просто не включаешь в exe-файл некоторую часть кода оставляя только ту функциональность, которая нужна для демо-версии.
И клеешь кнопку -Вы работаете в демо-версии программы
Вот както так примерна если на дельфи, я думаю на другом ты и не писал
procedure TForm1.Button1Click(Sender: TObject);
begin
{$IFDEF DEMO_VERSION}
ShowMessage('Вы работаете в демо-версии программы.');
{$ELSE}
ShowMessage('Сегодня: '+DateToStr(Date));
ShowMessage('Время: '+TimeToStr(Time));
{$ENDIF}
end;

Теперь выбери пункт меню Project | Options, в появившемся окне перейдина вкладку Directories/Conditionals и в поле Conditional defines введи DEMO_VERSION.
запуск- посмотри на результат. Стоит только убрать слово "DEMO_VERSION" в свойствах и уже другой вариант приложения.

2.ограничиваешь число запусков за один сеанс.Пишем программу, которая позволит пользователю запускать ее только один раз в течение сеанса работы Windows. Повторный запуск будет возможен после перезагрузки.

напиши обработчик события
OnCreate: procedure TForm1.FormCreate(Sender: TObject);
var
atom: integer;
begin
// Если атом еще не создан, то ...
if GlobalFindAtom('MY_ATOM_FOR_CONTROL') = 0
// создаем
then
atom := GlobalAddAtom('MY_ATOM_FOR_CONTROL')
else
// В противном случае пользователь пытается запустить программу
// повторно,а ты не даешь это ему сделать
begin
ShowMessage('Вы работаете в режиме демо-версии'+#10#13+
'и не можете запускать программу более одного раза'+
' за текущий сеанс.');
Application.Terminate;
end;
end;



ну вот примерно так, может с ошибками - х/з
  • 1

#18
Rightdrugs

Rightdrugs

    Полутысячник

  • Завсегдатай
  • PipPipPipPipPipPip
  • 718 сообщений
1026 - Репутация
  • На счете:-200 тугриков
По этому вопросу я все высказал... есть проффесиональные способы защиты софта, а сеть эксперементальные программерские... не важно что предпочтительней, главное чтобы софт не сломали и не пользовали бесплатно....
  • 2
Изображение

НЕ льстите себе ВЫ тоже не дообследованы !!!!
Для тех кто любит позновательную литературу
Для тех кто любит послушать хорошую музыку
Jus summum saepe summa malitia est - Высшее право часто есть высшее зло

#19
UJin

UJin

    Пятидесятник

  • Автор Темы
  • Новичок
  • PipPip
  • 50 сообщений
1 - Репутация
  • На счете:-200 тугриков
Епт. Развелась дискуссия )

1. Ограничить по функциональности - до этого несложно догадаться. Так и делалось. Но сейчас нужно сделать так, чтобы демо-версия была полнофункциональной.

2. Ограничивать количество запусков за один сеанс... это конечно небольшой раздражитель, но все же не самый большой. По хорошему, им эта прога нужна раз в три месяца. Так что каждый день по десять раз они ее не запускают.

3. Под железо она и так привязана, хоть и не очень надежно. Для каждой железки генерится отдельный ключ. Хоть для демо, хоть для полной.

4. Проверка через сервер - самая приятная из высказанных идей. Но: а) возможно у клиента не будет выхода в сеть, или ему придется напрягать своих админов; б) Что-то не хочется геморой разводить. Хотя в простейшем случае не вижу, где тут могут быть большие затраты (как кто-то сказал). Сервер можно реализовать в виде простейшего скрипта на php, на бесплатном хостинге.

5. Программировать я умею, так что не нужно мне тут выдержки гениального кода о выводе сообщений приводить.

6. ЕСЛИ ЭТО ПОМОЖЕТ, УТОЧНЯЮ ЗАДАЧУ. Демо-версию не предполагается распространять в широкие массы. Каждый пользователь учтен, поскольку я сам для него генерирую ключ под железо. Пользователей единицы. Так что совсем не сложно указывать при компиляции для каждого конкретные сроки работы. Как вариант - нужно бойти возможности пользователя по изменению локального времени на своем компе.
  • 0

#20
Rightdrugs

Rightdrugs

    Полутысячник

  • Завсегдатай
  • PipPipPipPipPipPip
  • 718 сообщений
1026 - Репутация
  • На счете:-200 тугриков
НЕ усложняйте сами себе жизнь, тогда никто не будет приводить постов с гениальными кусками кода и т.д.

Вы сами все прекрасно знаете и сможете превосходно справится с задачей... Реализовав и комбинируя те простые советы, которые вы сами себе дали вы бесспорно сможете сделать удобоворимую защиту вашей программе... В вашем случае вам не нужна какая-то супер гениальная защита... комбинируйте методы и все будет хорошо и будет всем счастье...
  • 1
Изображение

НЕ льстите себе ВЫ тоже не дообследованы !!!!
Для тех кто любит позновательную литературу
Для тех кто любит послушать хорошую музыку
Jus summum saepe summa malitia est - Высшее право часто есть высшее зло




Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 скрытых