Простая защита программы для Linux и Mac
От: Khimik  
Дата: 31.01.23 12:49
Оценка: :))) :))
Речь не о продвинутой защите вроде шифрования кода, а о самых базовых вещах. Для любой шаровары нужно, чтобы юзер не мог удалить программу, переустановить и возобновить таким образом триальный период. Мне сложно было разбираться с реестрами, поэтому для Windows я сделал просто: при первом запуске программа пишет текущую дату в файл, сохраняемый в каталоге Windows для промежуточных файлов (GetTempPath). Есть ли похожие каталоги у Linux и Mac? Мне предложили для Linux делать так: посмотреть, существует ли каталог /var/tmp, а если не существует, вызвать GetUserDir в Lazarus. Насколько это удачное решение, и что вы посоветуете для Mac?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Re: Простая защита программы для Linux и Mac
От: rudzuk  
Дата: 31.01.23 13:01
Оценка: :)
Здравствуйте, Khimik, Вы писали:

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


K> для Windows я сделал просто: при первом запуске программа пишет текущую дату в файл, сохраняемый в каталоге Windows для промежуточных файлов (GetTempPath).


Классно облегчил жизнь пользователю. Ему софт даже переустанавливать не потребуетсся
avalon/3.0.2
Re: Простая защита программы для Linux и Mac
От: JustPassingBy  
Дата: 31.01.23 13:13
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Речь не о продвинутой защите вроде шифрования кода, а о самых базовых вещах. Для любой шаровары нужно, чтобы юзер не мог удалить программу, переустановить и возобновить таким образом триальный период. Мне сложно было разбираться с реестрами, поэтому для Windows я сделал просто: при первом запуске программа пишет текущую дату в файл, сохраняемый в каталоге Windows для промежуточных файлов (GetTempPath). Есть ли похожие каталоги у Linux и Mac? Мне предложили для Linux делать так: посмотреть, существует ли каталог /var/tmp, а если не существует, вызвать GetUserDir в Lazarus. Насколько это удачное решение, и что вы посоветуете для Mac?


Как вариант, сделать триал по регистрации на сайте и все даты проверять уже на сервере.
Re: Простая защита программы для Linux и Mac
От: drVanо Россия https://vmpsoft.com
Дата: 31.01.23 13:16
Оценка:
Здравствуйте, Khimik, Вы писали:

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


Чтобы пользователь не смог стереть триальную метку — ее нужно хранить у себя на сервере, а не на компьютере пользователя.
Re: Простая защита программы для Linux и Mac
От: opfor  
Дата: 31.01.23 14:25
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Речь не о продвинутой защите вроде шифрования кода, а о самых базовых вещах. Для любой шаровары нужно, чтобы юзер не мог удалить программу, переустановить и возобновить таким образом триальный период. Мне сложно было разбираться с реестрами, поэтому для Windows я сделал просто: при первом запуске программа пишет текущую дату в файл, сохраняемый в каталоге Windows для промежуточных файлов (GetTempPath). Есть ли похожие каталоги у Linux и Mac? Мне предложили для Linux делать так: посмотреть, существует ли каталог /var/tmp, а если не существует, вызвать GetUserDir в Lazarus. Насколько это удачное решение, и что вы посоветуете для Mac?


имхо, проще на свой сервер отправлять какой-нибудь hardware id, и там простеньким скриптом проверять и возвращать ответ — триал, истекший триал или зарегистрированная (работы на 1 день максимум). Все равно сейчас все подключены к сети 24/7.
Re[2]: Простая защита программы для Linux и Mac
От: Michael7 Россия  
Дата: 31.01.23 14:32
Оценка:
Здравствуйте, drVanо, Вы писали

V>Чтобы пользователь не смог стереть триальную метку — ее нужно хранить у себя на сервере, а не на компьютере пользователя.


Тогда в пределе нужен просто онлайн-сервис, а не полноценная программа на компе. Если так и так требовать для работы онлайн.
Отредактировано 31.01.2023 14:32 Michael7 . Предыдущая версия .
Re[3]: Простая защита программы для Linux и Mac
От: rudzuk  
Дата: 31.01.23 14:58
Оценка:
Здравствуйте, Michael7, Вы писали:

M> V>Чтобы пользователь не смог стереть триальную метку — ее нужно хранить у себя на сервере, а не на компьютере пользователя.


M> Тогда в пределе нужен просто онлайн-сервис, а не полноценная программа на компе. Если так и так требовать для работы онлайн.


Это, конечно, идеальный вариант, но подходит не всем. Однако, можно обойтись просто требованием онлайна для первого запуска: получить hardware-id, передать на сервер и получить файл триальной лицензии подписанный ключем сервера. На клиенте останется только контролировать корректность подписи, ничего и никуда прятать не придется. Конечно, эту схему ломает замена открытого ключа, но от этого можно защититься.
avalon/3.0.2
Re: Простая защита программы для Linux и Mac
От: Young yunoshev.ru
Дата: 31.01.23 15:20
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Есть ли похожие каталоги у Linux и Mac? \


На macos можно выполнить команду mktemp — она вернет никальное имя файла в tmp папке, где бы оную пользователь бы на установил.
Re[2]: Простая защита программы для Linux и Mac
От: Khimik  
Дата: 31.01.23 16:03
Оценка:
Здравствуйте, rudzuk, Вы писали:

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


K>> для Windows я сделал просто: при первом запуске программа пишет текущую дату в файл, сохраняемый в каталоге Windows для промежуточных файлов (GetTempPath).


R>Классно облегчил жизнь пользователю. Ему софт даже переустанавливать не потребуетсся


Неужто на Западе юзеры все продвинутые, и не боящиеся нарушать авторские права? Например то что наверху главного окна программы будет написано trial version — на это им будет плевать?
"Ты должен сделать добро из зла, потому что его больше не из чего сделать". АБ Стругацкие.
Re[3]: Простая защита программы для Linux и Mac
От: drVanо Россия https://vmpsoft.com
Дата: 31.01.23 16:52
Оценка:
Здравствуйте, Michael7, Вы писали:

V>>Чтобы пользователь не смог стереть триальную метку — ее нужно хранить у себя на сервере, а не на компьютере пользователя.


M>Тогда в пределе нужен просто онлайн-сервис, а не полноценная программа на компе. Если так и так требовать для работы онлайн.


Все уже есть из коробки.
Re[3]: Простая защита программы для Linux и Mac
От: rudzuk  
Дата: 31.01.23 18:29
Оценка:
Здравствуйте, Khimik, Вы писали:

K> R>Классно облегчил жизнь пользователю. Ему софт даже переустанавливать не потребуетсся


K> Неужто на Западе юзеры все продвинутые, и не боящиеся нарушать авторские права?


Продвинутость тут совершенно ни при чем. Просто, даже стандартный Disk Cleanup сотрет все временные файлы. Да и нарушения прав тут никаких нет: юзер софт не дизассемблирует, не модифицирует...

K> Например то что наверху главного окна программы будет написано trial version — на это им будет плевать?


Использование триальной версии не преступление Один из самых распространенных вариантов "кряков" — trial reset. Ну что может быть лучше неинвазивного "кряка"?

Как по мне, одна лишь надпись trial — хреновый способ мотивации.

p.s. GetTempDir — кроссплатформенный способ получить путь ко временным файлам.
avalon/3.0.2
Re: Простая защита программы для Linux и Mac
От: vsb Казахстан  
Дата: 31.01.23 19:28
Оценка: +1
$HOME/.config/khimiksoft/license.dat
Re[3]: Простая защита программы для Linux и Mac
От: пффф  
Дата: 31.01.23 19:47
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Неужто на Западе юзеры все продвинутые, и не боящиеся нарушать авторские права?


Если никто не видит — то там такие же люди, как и везде


K>Например то что наверху главного окна программы будет написано trial version — на это им будет плевать?


В чем проблема перебить в hex редакторе "trial version" на "full version"? А кто не сам не может, для тех будет примитивнейший кряк
Re: Простая защита программы для Linux и Mac
От: Черный 😈 Властелин Австралия https://www.softperfect.com
Дата: 31.01.23 21:10
Оценка:
Здравствуйте, Khimik, Вы писали:

K>Речь не о продвинутой защите вроде шифрования кода, а о самых базовых вещах. Для любой шаровары нужно, чтобы юзер не мог удалить программу, переустановить и возобновить таким образом триальный период. Мне сложно было разбираться с реестрами, поэтому для Windows я сделал просто: при первом запуске программа пишет текущую дату в файл, сохраняемый в каталоге Windows для промежуточных файлов (GetTempPath). Есть ли похожие каталоги у Linux и Mac? Мне предложили для Linux делать так: посмотреть, существует ли каталог /var/tmp, а если не существует, вызвать GetUserDir в Lazarus. Насколько это удачное решение, и что вы посоветуете для Mac?


Я делаю самый простой вариант для мака и винды: программа хранит свой конфиг и данные в файле, обычно XML или SQLITE. Триал считается от даты создания этого файла.

Правда для линкуса это не подойдет, внезапно там у файлов нету даты создания. Но можно отдельным полем добавить в файл при первом запуске.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.