![]() |
Модераторы: Daevaorn |
![]() ![]() ![]() |
|
kulibinka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 191 Регистрация: 20.11.2006 Репутация: 2 Всего: 4 |
Добрый день.
Ситуация следующая - сейчас пишу некий скрипт на питоне, потом через py2exe из него екзешник делаю. Но программа будет комерческая, поэтому нужно сделать привязку к железу - т.е. нужно сделать так чтобы пользователь получил некий ключ только под его компьютер, а при запуске прога должна проверить этот ключ, и если все ок продолжить работу, а иначе вырубаться. Как делаются такие привязки к железу? Это сообщение отредактировал(а) kulibinka - 17.3.2009, 10:42 |
|||
|
||||
leneCaress |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 12.12.2008 Где: Москва Репутация: 1 Всего: 1 |
а какой уровень надежности защиты тебе требуется?
откровенно говоря, мне не удается представить более мение нормальной защиты того что создает py2exe |
|||
|
||||
kulibinka |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 191 Регистрация: 20.11.2006 Репутация: 2 Всего: 4 |
А какая разница py2exe или что-то еще? Ну например привязка к серийному номеру винчестера+ID процессора + еще что-то там для конкретной машини и все это захешировать. |
|||
|
||||
leneCaress |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 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. собственно дата генерации запроса на регистрацию и пр... |
|||
|
||||
badgopher |
|
|||
Новичок Профиль Группа: Участник Сообщений: 1 Регистрация: 19.3.2009 Репутация: нет Всего: нет |
Получишь. Для этого достаточно написать Cython простейшую сишную функцию с асемблерной вставкой. |
|||
|
||||
kulibinka |
|
||||
Бывалый ![]() Профиль Группа: Участник Сообщений: 191 Регистрация: 20.11.2006 Репутация: 2 Всего: 4 |
А код на Cython простейшей сишной функции с асемблерной вставкой не покажете? |
||||
|
|||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
||||
|
||||
alex_smirnov |
|
|||
Бывалый ![]() Профиль Группа: Участник Сообщений: 194 Регистрация: 22.6.2007 Где: Санкт-Петербург Репутация: 2 Всего: 4 |
Если кто найдет заветную ассемблерную вставку, то можно без Cython'a, с помощью pyCode.
|
|||
|
||||
bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: нет Всего: 47 |
Привязка к железу не есть хорошо. Пользователь поменял ПК и как дальше быть?
З.Ы.: А если привязываться к железу, то бери MAC-адрес сетевой карты - 100% уникальный идентификатор. |
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
||||
|
||||
bel_nikita |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Эксперт Сообщений: 2304 Регистрация: 12.10.2003 Где: Поезд №21/22 ( ст . Прага ) Репутация: нет Всего: 47 |
pythonwin,
Каждая сетевая карта содержит MAC-адрес. MAC-адрес - это 6-ти байтовый уникальный идентификатор, двух карт с одинаковым адресом в природе не существует. Если нет сетевой карты, то можно привязаться к идентификатору процессора (инструкция CPUID). Но опять же повторюсь - привязка к железу - это не есть хорошо. Лучше продумать какую-нибудь онлайн систему регистрации пользователя или на хэш каком-нибудь. |
|||
|
||||
leneCaress |
|
|||
Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 12.12.2008 Где: Москва Репутация: 1 Всего: 1 |
да я бы больше сказала - любая система регистрации-ограничения страшно мешает и бесит хоть сколькото квалифицированных пользователей.
НО... если уж делать регистрацию, то так чтобы она давала минимум помех пользователю и при этом сносно работала. (гарантирую - ни один пользователь не будет рад, если ваша программа вдруг откажется работать изза того что у него сгорела сетевуха или поставили новую... или апгрейднули комп... а ему вот прям сейчас нужна ваша прога, а на дворе ночь и вы спите ![]() не используйте хотябы тех параметров которые могут поменятся сравнительно легко - тот же мак-адрес.. и тем более ip адрес ихи хостнейм (были случаи что проги привязывались к этом)... я даже видела привязку к разрешению экрана. вообщем - не доходите до маразма ![]() |
|||
|
||||
pythonwin |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 2529 Регистрация: 18.4.2006 Где: за компом Репутация: 14 Всего: 36 |
согласен, что привязка к ПК не правильно, о чем я и хотел сказать. но online регистрацию позволить себе может не каждый или тот кто может эта регистрация бесит leneCaress, могу посоветовать привязку ко времени использования - чтобы программа либо перестала работать или работала с ограничениями по прошествии какого-то времени |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Python: Общие вопросы | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |