Модераторы: Daevaorn
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как привязать скрипт к компьютеру? запускался только на конкретном комп. 
:(
    Опции темы
kulibinka
Дата 17.3.2009, 10:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: 2
Всего: 4



Добрый день.

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

Как делаются такие привязки к железу?

Это сообщение отредактировал(а) kulibinka - 17.3.2009, 10:42
PM MAIL   Вверх
leneCaress
Дата 17.3.2009, 17:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 12.12.2008
Где: Москва

Репутация: 1
Всего: 1



а какой уровень надежности защиты тебе требуется?

откровенно говоря, мне не удается представить более мение нормальной защиты того что создает py2exe
PM MAIL   Вверх
kulibinka
Дата 17.3.2009, 18:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: 2
Всего: 4



Цитата(leneCaress @ 17.3.2009,  17:52)
а какой уровень надежности защиты тебе требуется?

откровенно говоря, мне не удается представить более мение нормальной защиты того что создает py2exe

А какая разница py2exe или что-то еще?

Ну например привязка к серийному номеру винчестера+ID  процессора + еще что-то там для конкретной машини и все это захешировать. 
PM MAIL   Вверх
leneCaress
Дата 17.3.2009, 19:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 12.12.2008
Где: Москва

Репутация: 1
Всего: 1



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

другое дело, если тебе нужна защита от взлома.... это совсем другой уровень задачи...

если нужно просто хоть чтото...
то:
1. серийники ФС разделов получаются с помощью GetVolumeInformation() из вин апи.
2. можно использовать само разбиение дисокв, их модели
3. дата установки видны: в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\InstallDate
4. на счет остального железа, см: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum
5. ид процессора получается, насколько я помню ассемблерными коммандами ТЕ из питоновского кода не получишь.
6. собственно дата генерации запроса на регистрацию

и пр...
PM MAIL   Вверх
badgopher
Дата 19.3.2009, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 1
Регистрация: 19.3.2009

Репутация: нет
Всего: нет



Цитата(leneCaress @ 17.3.2009,  19:18)
5. ид процессора получается, насколько я помню ассемблерными коммандами ТЕ из питоновского кода не получишь.

Получишь. Для этого достаточно написать Cython простейшую сишную функцию с асемблерной вставкой.
PM MAIL   Вверх
kulibinka
Дата 19.3.2009, 11:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 191
Регистрация: 20.11.2006

Репутация: 2
Всего: 4



Цитата(badgopher @ 19.3.2009,  11:03)
Цитата(leneCaress @ 17.3.2009,  19:18)
5. ид процессора получается, насколько я помню ассемблерными коммандами ТЕ из питоновского кода не получишь.

Получишь. Для этого достаточно написать Cython простейшую сишную функцию с асемблерной вставкой.

А код на Cython простейшей сишной функции с асемблерной вставкой не покажете?
PM MAIL   Вверх
pythonwin
Дата 19.3.2009, 11:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(badgopher @  19.3.2009,  14:03 Найти цитируемый пост)
Получишь. Для этого достаточно написать Cython простейшую сишную функцию с асемблерной вставкой. 


badgopher, дай пожалуйста, ссылку на пример с такой или похожей вставкой
PM WWW GTalk Jabber   Вверх
alex_smirnov
Дата 19.3.2009, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 194
Регистрация: 22.6.2007
Где: Санкт-Петербург

Репутация: 2
Всего: 4



Если кто найдет заветную ассемблерную вставку, то можно без Cython'a, с помощью pyCode.
PM GTalk Jabber   Вверх
bel_nikita
Дата 20.3.2009, 21:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: нет
Всего: 47



Привязка к железу не есть хорошо. Пользователь поменял ПК и как дальше быть?

З.Ы.: А если привязываться к железу, то бери MAC-адрес сетевой карты - 100% уникальный идентификатор.


--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
pythonwin
Дата 21.3.2009, 08:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(bel_nikita @  21.3.2009,  00:40 Найти цитируемый пост)
то бери MAC-адрес сетевой карты - 100% уникальный идентификатор. 

а если две сетевые карты или карта сгорела?
PM WWW GTalk Jabber   Вверх
bel_nikita
Дата 21.3.2009, 18:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Эксперт
Сообщений: 2304
Регистрация: 12.10.2003
Где: Поезд №21/22 ( ст . Прага )

Репутация: нет
Всего: 47



pythonwin,
Каждая сетевая карта содержит MAC-адрес. MAC-адрес - это 6-ти байтовый уникальный идентификатор, двух карт с одинаковым адресом в природе не существует. Если нет сетевой карты, то можно привязаться к идентификатору процессора (инструкция CPUID).
Но опять же повторюсь - привязка к железу - это не есть хорошо. Лучше продумать какую-нибудь онлайн  систему  регистрации пользователя или на хэш каком-нибудь.


--------------------
user posted image — регистрация доменов от 150 руб.
PM MAIL WWW ICQ   Вверх
leneCaress
Дата 21.3.2009, 21:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 54
Регистрация: 12.12.2008
Где: Москва

Репутация: 1
Всего: 1



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

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

не используйте хотябы тех параметров которые могут поменятся сравнительно легко - тот же мак-адрес..
и тем более ip адрес ихи хостнейм (были случаи что проги привязывались к этом)...
я даже видела привязку к разрешению экрана.
вообщем - не доходите до маразма smile
PM MAIL   Вверх
pythonwin
Дата 23.3.2009, 07:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник
Сообщений: 2529
Регистрация: 18.4.2006
Где: за компом

Репутация: 14
Всего: 36



Цитата(bel_nikita @  21.3.2009,  21:47 Найти цитируемый пост)
Каждая сетевая карта содержит MAC-адрес. MAC-адрес - это 6-ти байтовый уникальный идентификатор, двух карт с одинаковым адресом в природе не существует. Если нет сетевой карты, то можно привязаться к идентификатору процессора (инструкция CPUID).


Цитата(bel_nikita @  21.3.2009,  21:47 Найти цитируемый пост)
Но опять же повторюсь - привязка к железу - это не есть хорошо. Лучше продумать какую-нибудь онлайн  систему  регистрации пользователя или на хэш каком-нибудь. 

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


leneCaress, могу посоветовать привязку ко времени использования - чтобы программа либо перестала работать или работала с ограничениями по прошествии какого-то времени
PM WWW GTalk Jabber   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Python: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0858 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.