|
|
|
Нитонисе |
|
|||
Опытный Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: нет Всего: 2 |
Нужно установить защиту на программу, таким образом, чтобы она могла запускаться только на одном компьютере. То есть - у пользователя есть экземпляр программы, он проводит ее активацию с моей помощью, после чего он может пользоваться этой программой, но только на том компьютере, где эта программа была установлена. Как это можно реализовать?
|
|||
|
||||
djamshud |
|
|||
Пердупержденный Профиль Группа: Завсегдатай Сообщений: 1655 Регистрация: 23.11.2009 Репутация: нет Всего: 39 |
Можно привязаться к железу. И знать, что вас сломают.
К с++ вопрос отношения не имеет. -------------------- 'Cuz I never walk away from what I know is right Alice Cooper - Freedom |
|||
|
||||
Нитонисе |
|
|||
Опытный Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: нет Всего: 2 |
Я пишу на С++, потому тут и разместил эту тему. На счет привязки к железу это понятно, не понятна только конкретная реализация.
|
|||
|
||||
GoldFinch |
|
|||
Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
Нитонисе, юзай поиск по форуму и гугл, тема - боян
|
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: нет Всего: 223 |
|
|||
|
||||
17dufa |
|
|||
Опытный Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: нет Всего: 5 |
когда в универе делали подобную лабу привязывались к ID процессора, ID жесткого диска (не тома, а именно диска) или MAC адресу сетевухи. Если будет малейшее желание сломать такую защиту - действительно сломают, ломают даже HASP ключи
*MAC сетевухи в винде, наскока мне известно, вообще мона поменять (при перезагрузке он приравнивается реальному, но во время сеанса можно поменять и все следующие запросы MAC в этом сеансе будут возвращать измененное значение). Какие конкретно API использовали - уже не помню, гугл в помощь. |
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: нет Всего: 223 |
Вдогонку - можно привязать к конкретной Винде через CryptoAPI (см. сертификаты и хранилища ключей). Если на компе есть TPM, то наверное возможно привязаться к нему.
Но в любом случае это програмная защита, и она может быть отломана |
|||
|
||||
Нитонисе |
|
|||
Опытный Профиль Группа: Участник Сообщений: 917 Регистрация: 5.11.2009 Репутация: нет Всего: 2 |
Программа не сильно важная, потому супер-мега защита не требуется. Нужна простенькая защита от мелких вредителей. То есть чтобы если вдруг кому-то захочется осуществить взлом - программа должна продержаться хотя бы день))
Добавлено через 56 секунд Я так понимаю прописывать в реестре какие-то спец-ключи - неэффективная защита? |
|||
|
||||
17dufa |
|
|||
Опытный Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: нет Всего: 5 |
Нитонисе, смотря от кого. от тетечки гоняющей солитер - более чем
|
|||
|
||||
GoldFinch |
|
|||
Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
внешний аппаратный ключ взаимодействует с программой через кучу левого софта, поэтому ключи можно эмулировать "софтово" - можно реализовать с большей надежностью, чем аппаратно, если код защиты нельзя будет протрассировать\перехватить т.е. если допустим где-то в памяти есть значение, уникальное для системы, и если код защиты может прочитать это значение только своими средствами, не вызывая системных АПИ, то такой код можно виртуализировать, и такую защиту практически невозможно будет реверсировать используя дизасм и отладку. Добавлено через 2 минуты и 21 секунду и да, можно защитить не "уникально для системы" а "уникально для экземпляра программы", если программа будет стучаться на серв в интернетах, который будет проверять не запущены ли где-то еще ее копии. |
|||
|
||||
17dufa |
|
|||
Опытный Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: нет Всего: 5 |
GoldFinch, а про вариант "и если код защиты может прочитать это значение только своими средствами, не вызывая системных АПИ, то такой код можно виртуализировать, и такую защиту практически невозможно будет реверсировать используя дизасм и отладку." где можно подробней почитать? что-то не совсем понимаю.
|
|||
|
||||
GoldFinch |
|
|||
Профиль Группа: Завсегдатай Сообщений: 2141 Регистрация: 30.11.2008 Репутация: нет Всего: 26 |
17dufa, ты когданить код накрытый themidа/winlicense видел?
это когда 30 инструкций процессора превращаются в 3миллиона инструкций конечно если из кода накрытого ВМ вызывается АПИ, это эту АПИ можно перехватить, и примерно понять что этот код делает. а если код не вызывает апи - его практически невозможно реверсировать. декомпилировать ВМ у themida допустим можно, но ничто не мешает сделать ее метаморфной. |
|||
|
||||
xvr |
|
|||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: нет Всего: 223 |
Ключевое слово вынеся жизненно важную часть функционала программы во внешний аппаратный (защищенный) ключ. Т.е. ВНУТРИ ключа крутится часть программы. Для его эмуляции эту часть программы придется написать с нуля. Если эта 'часть' будет правильно выбранна, то такое 'написание с нуля' по трудозатратам будет эквивалентно вообще написанию всей программы с нуля. Так что это не ломается.
|
|||
|
||||
17dufa |
|
|||
Опытный Профиль Группа: Участник Сообщений: 324 Регистрация: 2.3.2006 Репутация: нет Всего: 5 |
xvr, взаимодействие с аппаратным ключом идет через сторонний софт (в частности ОС), что мешает просто в тупую записать весь лог взаимодействия и в последствии его сэмулировать?
Хотя понял, взаимодействие недетерминировано. Но попробовать можно. Это сообщение отредактировал(а) 17dufa - 10.12.2009, 18:48 |
|||
|
||||
xvr |
|
||||
Эксперт Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: нет Всего: 223 |
Пример - делаем САПР для разводки печатных плат. Сам разводчик помещаем в ключ. Т.е. при старте в него заливается netlist, в конце из него читается готовая топология. Перехватив и записав ВЕСЬ обмен данными с ключем, мы сможем сделать его эмулятор, который будет корректно разводить одну единственную плату, ту, на которой его ломали
|
||||
|
|||||
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Технологии защиты программного обеспечения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |