Автор Тема: Привязка скрипта к одному компьютеру (железу)  (Прочитано 63243 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Онлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3728
  • Репутация: 942
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Kalisnik
Получается, что если нет интернета, то и программой пользоваться не получится?! :)

Скорблю и помню.




Русское сообщество AutoIt

Re: Привязка скрипта к одному компьютеру (железу)
« Ответ #15 Отправлен: Август 14, 2010, 19:34:52 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5349

  • Автор темы
  • Репутация: 2691
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Это глядишь, мы так скоро дойдем до активации программы через интернет или по телефону.

:)


Думай, прежде чем говорить.

Оффлайн Bloodrinker [?]

  • Новичок
  • *
  • Сообщений: 228
  • Репутация: 19
  • Пол: Мужской
  • <Блуждающий...>
    • Награды
Kalisnik
Получается, что если нет интернета, то и программой пользоваться не получится?! :)

при первом запуске-да, смотря как сделать, можно при каждом запуске обращаться к серверу, а множно только единожды.

Оффлайн Kalisnik [?]

  • Продвинутый
  • ***
  • Сообщений: 293
  • Репутация: 63
  • Пол: Мужской
  • Эволюция
    • Награды
Kalisnik
Получается, что если нет интернета, то и программой пользоваться не получится?! :)
По данным Википедии, на 2010 год в России проживает 141,9 млн. человек. Из них около 50 млн. человек являются пользователями интернета по данным с сайта www.telecomru.ru. Минус точки общественного доступа, учебные заведения, организации и т.п., то остается примерно 40 млн. человек имеющих доступ к сети интернет. Почти треть всего населения России.  :) На вскидку, количество домашних ПК без доступа к интернет, не превышает одной трети от всех ПК в России, а то и 1/4 (это не факт, это на вскидку). ;) А ведь можно выйти в интернет всего лишь подключив мобильный телефон к ПК. ))) А теперь представьте возможные потери (материальные или моральные) от "нелегального" использования Вашей программы, когда каждый второй, а то и первый, будет использовать ее без Вашего ведома... :o

Bloodrinker  [?]
Цитировать
при первом запуске-да, смотря как сделать, можно при каждом запуске обращаться к серверу, а множно только единожды.
Лучше всего при установке (первом запуске) программы, в противном случае это будет жестоко   :)


Добавлено: Август 14, 2010, 23:20:15
Это глядишь, мы так скоро дойдем до активации программы через интернет или по телефону.

:)
Кстати... мысль!  ;D
« Последнее редактирование: Август 14, 2010, 23:20:15 от Kalisnik, Причина: Объединение сообщений »

Русское сообщество AutoIt

Re: Привязка скрипта к одному компьютеру (железу)
« Ответ #18 Отправлен: Август 14, 2010, 23:12:05 »

Онлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3728
  • Репутация: 942
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Kalisnik  [?]
Цитировать
А теперь представьте возможные потери (материальные или моральные) от "нелегального" использования Вашей программы, когда каждый второй, а то и первый, будет использовать ее без Вашего ведома...
У вас на ПК лицензионный Windows?! ;D
А вы о масштабах думаете! Дай бог, если скажут спасибо!
Я полагаю, что когда у вас будет как минимум пользователей 3000, можно будет задуматься о коммерческой составляющей, поверьте.
Нет, конечно же, я не против защиты, было бы что защищать!  :)

Оффлайн Kalisnik [?]

  • Продвинутый
  • ***
  • Сообщений: 293
  • Репутация: 63
  • Пол: Мужской
  • Эволюция
    • Награды
Garrett

Garrett  [?]
Цитировать
У вас на ПК лицензионный Windows?! А вы о масштабах думаете! Дай бог, если скажут спасибо!Я полагаю, что когда у вас будет как минимум пользователей 3000, можно будет задуматься о коммерческой составляющей, поверьте.Нет, конечно же, я не против защиты, было бы что защищать!
Правду говорите - идем на посадку  ;D А то с такими темпами к нам Билл Гейтс на работу устраиваться придет, а мы будем ворочать носами и интересоваться опытом работы.  :laugh:

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5349

  • Автор темы
  • Репутация: 2691
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Мне представляется это так:

  • Юзеру дается программа и некий серийный номер. Одновременно с этим, этот серийный номер заноситься в базу данных на сервере.
  • При первом запуске или установке, программа требует ввести серийный номер и отсылает его + ID компьютера на сервер. Если в базе на сервере этот серийник отсутствует, то следовательно он левый. Если номер найден, то проверяется ID компьютера. Тут самое интересное. Если на сервере ID отсутствует, это означает, что программа с этим серийником устанавливается в первый раз. В этом случае ID заносится в базу и дается "добро" на установку. В случае, если какой-то ID в базе присутствует, он сравнивается с ID, который передала программа. Если этот ID отличается от того, что в базе, то следовательно программу пытаются установить на другой компьютер, и сервер отказывает в установке. Если оба ID идентичны, то это означает, что юзер повторно устанавливает программу на тот же самый компьютер (переустановил Windows и т.д.). В этом случае так же дается "добро".
  • Информацию о том, что активация была сделана (что бы больше не спрашивать юзера об этом) можно хранить где-нибудь в реестре. Если эта информация пропала из реестра, то будет сделан новый запрос на сервер (если активация делается при первом запуске) или потребуется переустановка программы (если активация происходит на стадии установки).
  • Но изменения в реестре легко проследить. Поэтому, информацию об активации лучше будет хранить в самом файле по предложенному мной в первом посте способу.

Теперь, вроде бы, все логически сходится. Программу с новым серийным номером можно установить на любой компьютер и в последствии переустанавливать на нем сколько угодно раз. После первой установки, программу под таким же серийным номером на другой машине уже не установить, т.к. на сервере присутствует ID компьютера на который была установлена программа. Копирование файлов не даст результата, это не позволит мой способ. Подбор серийника тоже не прокатит, т.к. серийник выдается только при "покупке" программы и сразу же заноситься в базу на сервере с пустым полем под ID компьютера (ждем первой установки).

Вообщем, здесь поможет только "таблетка".

:)
« Последнее редактирование: Август 15, 2010, 00:15:51 от Yashied »

Онлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3728
  • Репутация: 942
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Yashied
Отлично написано!  :ok:
Но только вот ещё одна проблема Upgrade MB к примеру!  ;D
Без объяснений по телефону, что, как, зачем, не обойтись! Проверил на собственном опыте обладателя лицензионной версии Windows XP SP2 ;)

Русское сообщество AutoIt

Re: Привязка скрипта к одному компьютеру (железу)
« Ответ #22 Отправлен: Август 14, 2010, 23:59:38 »

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5349

  • Автор темы
  • Репутация: 2691
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Я понятия не имею как в этом случае быть. Телефон...

:)

Кстати, серийный номер можно генерить так:

Код: AutoIt [Выделить]
Func _CreateSerialNumber()

    Local $ID = StringTrimLeft(StringTrimRight(StringReplace(_WinAPI_CreateGUID(), '-', ''), 3), 1)

    If $ID Then
        Return StringMid($ID, 1, 5) & '-' & StringMid($ID, 6, 5) & '-' & StringMid($ID, 11, 5) & '-' & StringMid($ID, 16, 5) & '-' & StringMid($ID, 21, 5) & '-' & StringMid($ID, 26, 5)
    Else
        Return ''
    EndIf
EndFunc   ;==>_CreateSerialNumber


Оффлайн Kalisnik [?]

  • Продвинутый
  • ***
  • Сообщений: 293
  • Репутация: 63
  • Пол: Мужской
  • Эволюция
    • Награды
Yashied
Отлично написано!  :ok:
Но только вот ещё одна проблема Upgrade MB к примеру!  ;D
Без объяснений по телефону, что, как, зачем, не обойтись! Проверил на собственном опыте обладателя лицензионной версии Windows XP SP2 ;)
Берем ID материнской платы, жесткого диска, с чего еще ID считать можно? Видеокарта? Т.е. набираем как можно больше ID со всего железа. Они заносятся в базу. В случае если один из них изменяется, но все другие будут соответствовать ранее занесенным в базу, то это сигнал для серверной программы, что был абгрейд оборудования клиента. Новый ID записывается поверх старого и сохраняется. Для большей безопасности, можно сделать ограниченное количество абгрейдов. Манипуляции с оборудованием, в этом случае, ни какого выигрыша клиенту не дадут, поскольку если он даже и сделает возможным использование программы на компьютере "друга", то потеряет возможность использовать ее на собственном ПК.  :)

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5349

  • Автор темы
  • Репутация: 2691
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
IMHO, для того, чтобы делать такую защиту, нужно эту программу продавать и иметь средства на поддержание "нормального" стабильного сервера. Естественно, это должен быть не Home Server, собранный на сдачу и на динамическом IP СТРИМ'а через DynDNS. А чтобы продавать, нужно для начала что-нибудь толковое написать. Лично я никогда ничего не покупал (ну, кроме Windows..., лучше промолчу :sick:) и надеюсь никогда не буду продавать свои программы, несмотря на то, что большинство из них намного лучше их платных аналогов, которые мне удалось найти в сети. Более того, я почти всегда предоставляю исходники...

А если честно, то иногда смотришь на какую-нибудь утилиту, за которую хотят $40, а она настолько глючная и неудобная :Censored:, что в голове не укладывается, за что здесь вообще платить. Большинство пользователей нашего форума напишут такую же софтину за несколько часов и в 100 раз лучше. Так что, прежде чем просить деньги за свою программу, оцените экономическую эффективность такого решения, иначе (скорее всего) может случиться так, что количество записей на вашем сервере будет в районе 0. Ну не любит у нас народ платить за то, за что можно и не платить.

:)

Онлайн Garrett [?]

  • Глобальный модератор
  • *
  • Сообщений: 3728
  • Репутация: 942
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.12.0
Yashied
Как всегда в десятку! ;D


Добавлено: Август 15, 2010, 01:03:28
Однако если задача поставлена, то рано или поздно она будет решена!!!  ;D

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5349

  • Автор темы
  • Репутация: 2691
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Однако если задача поставлена, то рано или поздно она будет решена!!!  ;D

Да, лучше поздно, чем никогда.

:D


Добавлено: Август 15, 2010, 01:22:20
Берем ID материнской платы, жесткого диска, с чего еще ID считать можно? Видеокарта? Т.е. набираем как можно больше ID со всего железа. Они заносятся в базу. В случае если один из них изменяется, но все другие будут соответствовать ранее занесенным в базу, то это сигнал для серверной программы, что был абгрейд оборудования клиента. Новый ID записывается поверх старого и сохраняется. Для большей безопасности, можно сделать ограниченное количество абгрейдов...

И получается еще одна Windows Vista...

:)
« Последнее редактирование: Август 15, 2010, 01:22:20 от Yashied, Причина: Объединение сообщений »

Оффлайн Kalisnik [?]

  • Продвинутый
  • ***
  • Сообщений: 293
  • Репутация: 63
  • Пол: Мужской
  • Эволюция
    • Награды
Yashied
Уважаемый Yashied, я не знаю к кому Вы обращались в последнем посте - если ко мне, то на данный момент у меня нет таких целей как реализация своей продукции, по причине отсутствия самой продукции. И по этому для меня совершенно не понятно, почему меня пытаются убедить в полной практической неактуальности данного метода защиты. :) Я в эту тему зашел провести время в приятном мне общении (а может даже принести кому-то пользу). Раз уж был сам факт открытия данной темы и поднятие соответствующего вопроса - думаю не грех раскрыть его как можно с больших сторон.  :) А вдруг кто и заинтересуется данным направлением в защите.  :blink:

П/С: Я совершенно не покушаюсь на порядки, правила и иерархический строй данного форума. :-\  По сему, если что не так, передерните за плече и направьте в правильном направлении.  :)
П.П.С: Уже не в последнем посте )


Добавлено: Август 15, 2010, 01:32:28
Yashied
Если не секрет, а в 7-ке как сделано? И что имелось в виду под словами "И получается еще одна Windows Vista..."?  :o

Оффлайн Yashied [?]

  • AutoIt MVP
  • Глобальный модератор
  • *
  • Сообщений: 5349

  • Автор темы
  • Репутация: 2691
  • Пол: Мужской
    • Награды
  • Версия AutoIt: 3.3.x.x
Kalisnik, ни к кому конкретно, это просто мои мысли (я же написал IMHO). А то, что Вы высказываетесь по этому вопросу, так это хорошо, для этого и существуют форумы.

...что имелось в виду под словами "И получается еще одна Windows Vista..."?

Насколько мне известно, в Vist'е реализован похожий принцип, т.е. можно обновить несколько (вроде бы до 3, но могу и ошибаться) компонентов компьютера без потери лицензии.
« Последнее редактирование: Август 15, 2010, 01:47:19 от Yashied »

Русское сообщество AutoIt

Re: Привязка скрипта к одному компьютеру (железу)
« Ответ #29 Отправлен: Август 15, 2010, 01:41:49 »

 

Похожие темы

  Тема / Автор Ответов Последний ответ
52 Ответов
20275 Просмотров
Последний ответ Май 24, 2010, 19:06:31
от Greens
5 Ответов
7969 Просмотров
Последний ответ Сентябрь 16, 2012, 23:24:05
от shift72
21 Ответов
15169 Просмотров
Последний ответ Июнь 28, 2011, 11:33:24
от Centurion
6 Ответов
4243 Просмотров
Последний ответ Август 27, 2011, 14:49:30
от Kaster
0 Ответов
2412 Просмотров
Последний ответ Август 27, 2011, 11:53:08
от Kaster
9 Ответов
5414 Просмотров
Последний ответ Ноябрь 05, 2011, 19:32:17
от ArtInt
5 Ответов
3380 Просмотров
Последний ответ Февраль 03, 2015, 16:13:48
от rivega
12 Ответов
5066 Просмотров
Последний ответ Май 10, 2013, 13:41:12
от CreatoR
5 Ответов
1316 Просмотров
Последний ответ Август 10, 2015, 08:03:56
от Александр_
2 Ответов
840 Просмотров
Последний ответ Февраль 04, 2017, 02:44:54
от reset86