У меня образовалось несколько готовых интересных десктопных продуктов под виндовоз мелкого масштаба на С++. И вот я решил-таки попробовать себя в шароваре.
Собственно, программы уже готовы, не достает только сайта, манулов и... системы продаж. Вот с последним пунктом ну никак не клеится.
Я тут почитал темы про защиту и ключи и что-то все еще больше запуталось.
Меня интересует КАК именно перейти от голой программы к ее продажам. То есть, как делается защита и серийные номера, а также привязка всего этого добра к тому же плимусу. Я так понимаю, что одно зависит от другого и определяет третье. Например: что продает плимус? Серийные номера, так? А откуда они берутся? Где генерятся? То ли ключи генерятся на сервере и раздаются при активации, то ли прошиваются в код, то ли еще как-то... В зависимости от выбора схемы меняется и алгоритм покупок и защита от взлома и даже ценовая политика.
Расскажите, пожалуйста, как обычно это делается?
И как ограничивать количество лицензий? Имеет ли пользователь право устанавливать купленную программу на разные компьютеры?
С этим вопросом вообще все как-то мутно, потому что:
а) Говорят, что привязка к железу больше раздражает клиентов, чем помогает бороться со взломами.
б) Привязка к железу оказывается совсем не тривиальной задачей! Вдруг выясняется, что привязаться-то фактически и не к чему, ибо все это ненадежно и вызовет массу ложных обращений.
Но, при этом, кругом и всюду на сайтах указаны цены для N-ного количества лицензий. Так значит софт таки привязывают к железу сплошь и рядом?!? Но тогда как же это делается?
Я понимаю, что раскрывать свои секреты никто не будет, но, тем не менее, может все-таки можно объяснить в общих чертах?
Кстати, я смотрю, что покупные системы защиты весьма популярны. Интересно, многие ли ими пользуются? Потому что цены у этих систем достаточно впечатляющие и мне, как начинающему, они пока что просто не по карману.
И далее, чтО продает плимус? Ключи? Или они просто дергают скрипт на шароварном сайте при получении оплаты?
Дальнейшая судьба денег тоже под вопросом, но я собираюсь использовать для этих целей карту payoneer, так что здесь вроде как все по-проще.
В данный момент, у меня сделана примитивная защита с зашитыми в коде ключом. Но защитой это трудно назвать, потому что ее даже ломать не нужно — достаточно выложить в тырнет программу и рядом ключ в текстовом файле! Тем не менее, теоретически, я мог бы стартовать с этой убогой защитой и собирать отдельные билды для каждого покупателя. Но будет ли это работать?
Кроме того, врядли программа будет часто обновляться, поэтому единожды попав в файлообменники она станет достоянием общественности навсегда и весь бизнес пойдет псу под хвост.
Никаких обращений к серверу программа пока что не производит и ничего не проверяет, да и, как показывают дискуссии в соседних темах, это тоже не очень-то спасает от взломов.
Так как же быть?!? Как же все-таки реализовать всю эту систему с триалом и покупкой?! Такое впечатление, что все методы защиты никуда не годятся и кроме покупки громоздких, но готовых решений пути нет? (В моем случае это тоже не факт, что поможет, потому как у меня есть пара программ с плагинами в виде длл, с которыми могут быть проблемы после зашифровки)
Но неужели так все плохо??? Должно же быть какое-то относительно простое и проверенное годами решение! Пусть неидеальное, но достаточное для начала. Если дело пойдет, то я уже тогда буду наворачивать свою защиту или куплю готовое решение, но сейчас хочется хоть с чего-то начать.
Опишите, пожалуйста, принцип торговли софтом. Где какие ключи генерятся, где и как хранятся и как активируются копии? Как производится учет количества купленных и фактически используемых программ? Как можно определить, что данный конкретный ключ попал на паблик? Хотелось бы узнать обо всем этом по-подробней, разумеется, насколько это возможно, дабы не открывать "секреты фирмы"
сделайте свою защиту — "Неуловимый Джо"
Сгенерируйте ряд ключей — по нему создайте хеши. В прогу по таймеру прописать получить хеш ключа и искать хеши в таблице.
Или другую простую защиту.
Пойдут деньги от первых проектов — купите протектора и сделаете хорошую систему лицензирования, или так оставите
Здравствуйте, Freid, Вы писали:
F>Доброго времени суток, уважаемые господа коллеги.
F>У меня образовалось несколько готовых интересных десктопных продуктов под виндовоз мелкого масштаба на С++. И вот я решил-таки попробовать себя в шароваре. F>Собственно, программы уже готовы, не достает только сайта, манулов и... системы продаж. Вот с последним пунктом ну никак не клеится.
F>Я тут почитал темы про защиту и ключи и что-то все еще больше запуталось.
F>Меня интересует КАК именно перейти от голой программы к ее продажам. То есть, как делается защита и серийные номера, а также привязка всего этого добра к тому же плимусу. Я так понимаю, что одно зависит от другого и определяет третье. Например: что продает плимус? Серийные номера, так? А откуда они берутся? Где генерятся? То ли ключи генерятся на сервере и раздаются при активации, то ли прошиваются в код, то ли еще как-то... В зависимости от выбора схемы меняется и алгоритм покупок и защита от взлома и даже ценовая политика.
Попробуйте зарегистрироваться на плимусе. После регистрации вам будет доступна контрольная панель, мануалы, примеры и доки. Возможно, они и без регистрации доступны, я точно не знаю. Помню, что когда пришлось с этим возиться, разобраться вроде бы удалось.
Life is very short and there's no time
for fussing and fighting... (C) Paul McCartney & John Lennon
Здравствуйте, Freid, Вы писали:
F>к тому же плимусу.
Мне интересно, почему в большинстве подобных топиках ТС-ы желают начать работу именно с плимусом? На дворе 21 век и вовсю работают всякие PPG и Avangate, а они по старинке хотят плимус. Непонятно...
Здравствуйте, Aniskin, Вы писали:
A>Мне интересно, почему в большинстве подобных топиках ТС-ы желают начать работу именно с плимусом? На дворе 21 век и вовсю работают всякие PPG и Avangate, а они по старинке хотят плимус. Непонятно...
Не уверен насчет Avangate. Мне они уже неделю не могут прислать откорректированный вариант договора. А если у них и был вариант учитывающий нюансы нашего валютного контроля, то они похоже его потеряли.
Кто работает с Avangate как ИП, поделитесь как вы получили/подписали от них правильный договор?
Здравствуйте, J_K, Вы писали:
J_K>Попробуйте зарегистрироваться на плимусе. После регистрации вам будет доступна контрольная панель, мануалы, примеры и доки. Возможно, они и без регистрации доступны, я точно не знаю. Помню, что когда пришлось с этим возиться, разобраться вроде бы удалось.
Здравствуйте, Freid, Вы писали:
F>Опишите, пожалуйста, принцип торговли софтом. Где какие ключи генерятся,
Если делать в стиле "Неуловимый Джо", то можно сделать по простому так:
1. Делаете простой генератор серийников по имени, например на PHP на основе функции md5(). Желательно чтобы в серийнике не было похожих символов проде 0 и O.
Можете сделать возможность закодировать в серийник срок окончания лицензии и несколько флагов для разных фич.
Желательно сделать в серийнике как минимум две возможности проверить валидность. Например простая контрольная сумма серийника и сложная хэш функция с регистрационным именем.
3. В программе делаете окошко при запуске с двумя полями: Registration Name, Serial Number. И двумя кнопками: RunTrial/Enter Serial Number
Если вводится серийник, то сохраняете его в реестре.
Также делаете в программе сохранение при первом запуске даты окончания триала в реестре/файле/картинке, и.т.п.
В вышеуказанном окошке показываете сколько дней осталось до окончания триала.
При каждом запуске программы читаете из реестра сохраненный серийник и рег. имя.
Если они еще не введены то читаете дату окончания триала.
Когда дата наступила, то убираете кнопку RunTrial — это всё.
Если серийник введен и валиден то работаете спокойно
Если серийник введен и не валиден, то
3.1 после простой проверки серийника выводите вышеуказанное окошко
3.2 после проверки хэш функции серийника раскладываете во всякие хитрые места флаги, и.т.п.
и вываливаетесь по таймерам и отдельным редко используемым командам.
4. На активацию и привязку к железу забиваете. Т.к. люди в основном честные. И многие компании покупают по 5 лицензий даже без принуждения активациями.
Я вот сначала использовал привязку к железу, а потом перестал, т.к. нагружает техподдержку в лице меня.
5. В панели регистратора вводите ваш URL для генерации серийных номеров. И создаете шаблон письма пользователю со вставленным туда сгенеренным серийником
6. Там же настраиваете чтобы клиент мог указать число приобретаемых лицензий и чтобы регистратор отправлял на каждую лицензию по серийнику
где и как хранятся и как активируются копии? Как производится учет количества купленных и фактически используемых программ? Как можно определить, что данный конкретный ключ попал на паблик? Хотелось бы узнать обо всем этом по-подробней, разумеется, насколько это возможно, дабы не открывать "секреты фирмы"
Здравствуйте, Freid, Вы писали:
F>Меня интересует КАК именно перейти от голой программы к ее продажам. То есть, как делается защита и серийные номера, а также привязка всего этого добра к тому же плимусу. Я так понимаю, что одно зависит от другого и определяет третье. Например: что продает плимус? Серийные номера, так? А откуда они берутся? Где генерятся? То ли ключи генерятся на сервере и раздаются при активации, то ли прошиваются в код, то ли еще как-то... В зависимости от выбора схемы меняется и алгоритм покупок и защита от взлома и даже ценовая политика.
Плимус поддерживает практически все схемы лицензирования — может высылать зарегистрированный бинарник, один ключ на всех, ключи по списку, дернуть скрипт и сгенерировать ключ, онлайн активация через их сервер. На ваш вкус, короче.
F>Расскажите, пожалуйста, как обычно это делается?
Как выше написали, сначала "Неуловимый Джо", потом купить протектор.
F>И как ограничивать количество лицензий? Имеет ли пользователь право устанавливать купленную программу на разные компьютеры?
На ваш вкус. Как считаете правильным, так и напишите в EULA.
F>а) Говорят, что привязка к железу больше раздражает клиентов, чем помогает бороться со взломами. F>б) Привязка к железу оказывается совсем не тривиальной задачей! Вдруг выясняется, что привязаться-то фактически и не к чему, ибо все это ненадежно и вызовет массу ложных обращений.
Можно привязаться к Гуиду ОС. Раздражает не столько привязка, сколько обычно сопровождающий её процесс онлайн активации.
F>Но, при этом, кругом и всюду на сайтах указаны цены для N-ного количества лицензий. Так значит софт таки привязывают к железу сплошь и рядом?!? Но тогда как же это делается?
Одно с другим никак не связано, софт может быть вообще без защиты, а цена за N лицензий.
F>В данный момент, у меня сделана примитивная защита с зашитыми в коде ключом. Но защитой это трудно назвать, потому что ее даже ломать не нужно — достаточно выложить в тырнет программу и рядом ключ в текстовом файле! Тем не менее, теоретически, я мог бы стартовать с этой убогой защитой и собирать отдельные билды для каждого покупателя. Но будет ли это работать?
Да не будут покупатели сразу после покупки выкладывать свой ключ в интернет. Нет никакой нужды в персональных билдах.
F>Кроме того, врядли программа будет часто обновляться, поэтому единожды попав в файлообменники она станет достоянием общественности навсегда и весь бизнес пойдет псу под хвост.
Лучше бы программе время от времени обновляться, иначе весь бизнес пойдет коту под хвост по причине никому не нужности древней программы. А факт вероятного утекания первых версий в сеть примите как данность, он не сильно повлияет на уровень продаж.
хотел уже на боковую
папаху снял и сапоги
но в комментариях проснулись
враги
M_F>>Кто работает с Avangate как ИП, поделитесь как вы получили/подписали от них правильный договор?
I>А что с ним не так? Мне в прошлом году нормальный присылали сразу.
Даже и не знаю. Может поувольнялись менеджеры кто работал с шароварщиками из RU/UA/BY?
Но сначала предложили распечатать договор с сайта, в котором не туда подставляется ИНН, и вообще в договоре нет их банковских реквизитов и вместо валюты платежа указано сразу две валюты.
Я предложил подкорректировать — они пропали на неделю.
Авангейт не умеет с несколькими сайтами работать, если под каждый продукт свой сайт, будет письма слать с мылом основного сайта и ссылкой на основной сайт, что будет пользователей путать. До сих пор удивлен такому недостатку в их системе.
Здравствуйте, Matrix_Failure, Вы писали:
M_F>Даже и не знаю. Может поувольнялись менеджеры кто работал с шароварщиками из RU/UA/BY?
Угадал, уволились.
M_F>Но сначала предложили распечатать договор с сайта, в котором не туда подставляется ИНН, и вообще в договоре нет их банковских реквизитов и вместо валюты платежа указано сразу две валюты. M_F>Я предложил подкорректировать — они пропали на неделю.
Я пытался найти образец договора на сайте, но не сумел. Прислали по почте нормальный сразу.
Здравствуйте, Freid, Вы писали:
F>Но неужели так все плохо??? Должно же быть какое-то относительно простое и проверенное годами решение! Пусть неидеальное, но достаточное для начала. Если дело пойдет, то я уже тогда буду наворачивать свою защиту или куплю готовое решение, но сейчас хочется хоть с чего-то начать.
Если продавать через RegNow — они бесплатно выдадут протектор Software Passport (только их об этом надо попросить). Для начала — более чем достаточно.
Здравствуйте, Matrix_Failure, Вы писали:
M_F>1. Делаете простой генератор серийников по имени, например на PHP на основе функции md5(). Желательно чтобы в серийнике не было похожих символов проде 0 и O. M_F>Можете сделать возможность закодировать в серийник срок окончания лицензии и несколько флагов для разных фич. M_F>Желательно сделать в серийнике как минимум две возможности проверить валидность. Например простая контрольная сумма серийника и сложная хэш функция с регистрационным именем.
M_F>2. Выкладываете генератор на ваш сайт чтобы делать запросы типа http://www.exapmple.com/obscuredir/keygen.php?CustomerName=IVAN%20IVANOV&Feature1=1&LicenseActiveTill=20120101
Расскажи, плиз, поподробнее о PHP генераторе серийников. Непонятно, как можно закодировать сроки, флаги в него и имя пользователя, чтобы потом извлечь?
Здравствуйте, Freid, Вы писали:
F>Доброго времени суток, уважаемые господа коллеги.
F>У меня образовалось несколько готовых интересных десктопных продуктов под виндовоз мелкого масштаба на С++. И вот я решил-таки попробовать себя в шароваре. F>Собственно, программы уже готовы, не достает только сайта, манулов и... системы продаж. Вот с последним пунктом ну никак не клеится.
F>Я тут почитал темы про защиту и ключи и что-то все еще больше запуталось.
F>Меня интересует КАК именно перейти от голой программы к ее продажам. То есть, как делается защита и серийные номера, а также привязка всего этого добра к тому же плимусу. Я так понимаю, что одно зависит от другого и определяет третье. Например: что продает плимус? Серийные номера, так? А откуда они берутся? Где генерятся? То ли ключи генерятся на сервере и раздаются при активации, то ли прошиваются в код, то ли еще как-то... В зависимости от выбора схемы меняется и алгоритм покупок и защита от взлома и даже ценовая политика.
F>Расскажите, пожалуйста, как обычно это делается?
F>И как ограничивать количество лицензий? Имеет ли пользователь право устанавливать купленную программу на разные компьютеры? F>С этим вопросом вообще все как-то мутно, потому что:
F>а) Говорят, что привязка к железу больше раздражает клиентов, чем помогает бороться со взломами. F>б) Привязка к железу оказывается совсем не тривиальной задачей! Вдруг выясняется, что привязаться-то фактически и не к чему, ибо все это ненадежно и вызовет массу ложных обращений.
F>Но, при этом, кругом и всюду на сайтах указаны цены для N-ного количества лицензий. Так значит софт таки привязывают к железу сплошь и рядом?!? Но тогда как же это делается?
F>Я понимаю, что раскрывать свои секреты никто не будет, но, тем не менее, может все-таки можно объяснить в общих чертах?
F>Кстати, я смотрю, что покупные системы защиты весьма популярны. Интересно, многие ли ими пользуются? Потому что цены у этих систем достаточно впечатляющие и мне, как начинающему, они пока что просто не по карману.
F>И далее, чтО продает плимус? Ключи? Или они просто дергают скрипт на шароварном сайте при получении оплаты? F>Дальнейшая судьба денег тоже под вопросом, но я собираюсь использовать для этих целей карту payoneer, так что здесь вроде как все по-проще.
F>В данный момент, у меня сделана примитивная защита с зашитыми в коде ключом. Но защитой это трудно назвать, потому что ее даже ломать не нужно — достаточно выложить в тырнет программу и рядом ключ в текстовом файле! Тем не менее, теоретически, я мог бы стартовать с этой убогой защитой и собирать отдельные билды для каждого покупателя. Но будет ли это работать? F>Кроме того, врядли программа будет часто обновляться, поэтому единожды попав в файлообменники она станет достоянием общественности навсегда и весь бизнес пойдет псу под хвост.
F>Никаких обращений к серверу программа пока что не производит и ничего не проверяет, да и, как показывают дискуссии в соседних темах, это тоже не очень-то спасает от взломов.
F>Так как же быть?!? Как же все-таки реализовать всю эту систему с триалом и покупкой?! Такое впечатление, что все методы защиты никуда не годятся и кроме покупки громоздких, но готовых решений пути нет? (В моем случае это тоже не факт, что поможет, потому как у меня есть пара программ с плагинами в виде длл, с которыми могут быть проблемы после зашифровки)
F>Но неужели так все плохо??? Должно же быть какое-то относительно простое и проверенное годами решение! Пусть неидеальное, но достаточное для начала. Если дело пойдет, то я уже тогда буду наворачивать свою защиту или куплю готовое решение, но сейчас хочется хоть с чего-то начать.
F>Опишите, пожалуйста, принцип торговли софтом. Где какие ключи генерятся, где и как хранятся и как активируются копии? Как производится учет количества купленных и фактически используемых программ? Как можно определить, что данный конкретный ключ попал на паблик? Хотелось бы узнать обо всем этом по-подробней, разумеется, насколько это возможно, дабы не открывать "секреты фирмы"
F>Спасибо.
Здравствуйте,
Меня зовут Валерий, я представляю компанию PayPro Global.
У нас существует веб сервис PayPro Passport, который позволяет обеспечить защиту вашего ПО и генерацию лицензионных ключей. Этот сервис предоставляется всем нашим клиентам совершенно бесплатно. Подробности можете почитать по ссылке https://www.payproglobal.com/passport/.
Также мы предоставляем множество методов оплаты (все кредитные карты, банковские переводы, PayPal, WebMoney итд).
так же я заметил, что вы хотите получать деньги по карте Payoneer, у нас доступен этот сервис, помимо 5-и другим методов. Вы можете почитать документацию на нашем официальном сайте http://www.payproglobal.com/ru, а также зарегистрироваться совершенно бесплатно без каких-либо обязательств и ознакомиться с нашей платформой.
Если у вас еще есть вопросы, пишите, мы с удовольствием на них ответим, просто заполните форму на нашем сайте и наша служба поддержки вам ответит. Или напишите на support@payproglobal.com
Здравствуйте, Volgare, Вы писали:
V>Расскажи, плиз, поподробнее о PHP генераторе серийников. Непонятно, как можно закодировать сроки, флаги в него и имя пользователя, чтобы потом извлечь?
Тут каждый творит как подскажет вдохновение
Например:
1. буквы с n по n+12 получить из сроки base64(md5(regname."mysecretstring"))
2. потом закодировать месяц окончания ключа в пару букв (у вас будут часто пользователи/журналисты/блогеры просить полный ключ например на месяц, 3 месяца, год, и.т.п)
3. и еще в одну букву закодировать флаги (флаги понадобятся когда пользователи попросят Pro версию, Lite версию, Site лицензию, и.т.п.)
4. закодировать части 2 и 3 на основе части 1 хотя бы XOR ом.
5. добавить контрольную сумму в виде одного — двух символов и поставить его не в конец номера а в любое другое место.
6. по вкусу можно наложить еще один MD5, или добавить простой кусочек строки md5(regname) как приманку для хакера за счет сокращения части 1.
7. заэскейпить похожие символы типа 0 и O. разбавить символом "-" по вкусу.
Правильно собранная схема будет генерировать по полям
Registration name:Ivanov Ivan
EndDate: 08/2011
Flags: 0 1 0 0 0 0
примерно такой лицензионный ключ:
Serial:ABC1-C345-DEF7-H891
с возможностью проверить серийный номер по простому, для выдачи сообщений об ошибке.
и дополнительной возможностью проверить его полностью, для тихого запутанного вылета, через пару дней или при вызове редко использованных функций.
Ну а самый простой вариант — купить протектор который поддерживает генерацию лицензий и короткие ключи
Re[4]: Генерим короткий ключ в стиле "Неловимый Джо"
Здравствуйте, Matrix_Failure, Вы писали:
M_F>Здравствуйте, Volgare, Вы писали:
V>>Расскажи, плиз, поподробнее о PHP генераторе серийников. Непонятно, как можно закодировать сроки, флаги в него и имя пользователя, чтобы потом извлечь?
M_F>Тут каждый творит как подскажет вдохновение
Спасибо, алгоритм мне понятен. Не силен в PHP. Подскажите, желательно с кодом, как можно добавить в серийный номер, например электронную почту покупателя, чтобы потом клиент (программа) смог вытащить адрес из серийного номера?
Re[5]: Генерим короткий ключ в стиле "Неловимый Джо"
Здравствуйте, Volgare, Вы писали:
V>>>Расскажи, плиз, поподробнее о PHP генераторе серийников. Непонятно, как можно закодировать сроки, флаги в него и имя пользователя, чтобы потом извлечь?
M_F>>Тут каждый творит как подскажет вдохновение
V>Спасибо, алгоритм мне понятен. Не силен в PHP. Подскажите, желательно с кодом, как можно добавить в серийный номер, например электронную почту покупателя, чтобы потом клиент (программа) смог вытащить адрес из серийного номера?
Если силён в С, то берём Crypto++, с готовыми примерами как что делать (файл в архиве test.cpp) пишем кейген на сях, делаем из него cgi-скрипт, кладём на сайт и прикручиваем regnow, который сам всё отправит клиенту по почте
Данные о клиентах можно собирать тем же скриптом в файл(ы) или базу данных.
Re[6]: Генерим короткий ключ в стиле "Неловимый Джо"
Здравствуйте, CEMb, Вы писали:
CEM>Если силён в С, то берём Crypto++, с готовыми примерами как что делать (файл в архиве test.cpp) пишем кейген на сях, делаем из него cgi-скрипт, кладём на сайт и прикручиваем regnow, который сам всё отправит клиенту по почте CEM>Данные о клиентах можно собирать тем же скриптом в файл(ы) или базу данных.
Мне сейчас нужен именно PHP, т. к. пишу на AS3
Re[5]: Генерим короткий ключ в стиле "Неловимый Джо"
Здравствуйте, Volgare, Вы писали:
V>Спасибо, алгоритм мне понятен. Не силен в PHP. Подскажите, желательно с кодом, как можно добавить в серийный номер, например электронную почту покупателя, чтобы потом клиент (программа) смог вытащить адрес из серийного номера?
А зачем вам он нужен там?
email покупателя Вам прийдет в письме от регистратора. Плюс регистратор может вызвать ваш нотификационный скрипт на Php и
передать туда все сведения о покупке, а вы их запишите в табличку mysql. Вот она и связь — покупатель — email.