![]() |
|
![]() ![]() ![]() |
|
mmvds |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 22.12.2007 Репутация: нет Всего: 6 |
Да, но насколько я знаю (пользуюсь старой доброй 5 версией ![]()
Если не ошибаюсь, защита Steam игрушек организована по аналогичному принципу - без стим аккаунта на стим сервер не законнектиться, а между тем легальных пользователей стима - сотни тысяч. Про отказ лицензионного сервера уже писал - дублирование на другом хостинге. Честно говоря защиту писал больше из энтузиазма - написать не очередную курсовую прогу, а что-то более-менее серьезное. |
||||
|
|||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
Суть в том, что для такого ПО этот вариант является наилучшим решением, ибо АВ без баз - вещь бесполезная. Сколько ещё типов ПО так же сильно нуждаются в данных из интернета? Думается, что не так много. Полезеность информации на винтах геймров стремиться к нулю. Я, допустим, всегда запрещаю доступ в сеть программам, которые в этом не нуждаются(Winamp, NERO, etc), для остальных созданы жёсткие правила, а если, скажем, какой-нибудь анализатор логов Oracle(не знаю, что у тебя за ПО было) при каждом запуске лезет куда-то, а запретив ему это делать, вообще перестаёт работать, думаешь это многим понравится?
Отлично, раскрутил ты таки свою программу, у тебя множество пользователей купивших её за свои кровные. Тут появляются конкуренты и заказывают DDOS твоего домена. Любой хостинг оказывается в дауне ессно и все твои пользователи лишаются возможности пользоваться купленной ими программой на неопределённый промежуток времени. Я думаю многие побегут к твоему конкуренту и купят у него аналог, в любом случае большинство откажется пользоваться твоим продуктом. А если эта программа, скажем, составляет отчёты по обороту средств в фирме? Фирма несёт ущерб и подаёт на тебя в суд(в целом, любой пользователь может это сделать) и преспокойно выигрывает дело, ибо потери она понесла из-за нессответствующего заявленному качества программы и им абсолютно плевать, что у тебя просто схема защиты кривая, они покупали программу, чтобы та работала, как было заявлено. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
Earnest |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 5962 Регистрация: 17.6.2005 Где: Рязань Репутация: нет Всего: 183 |
Ну это ты загнул... практически в любом коммерческом софте в лицензионном соглашении есть слова типа "продается as is" и "никакой ответственности не несет" ![]() ![]() ![]() Есть еще один аспект разработки защиты, о котором почему-то никогда не говорят: приставленная сбоку защита - это ерунда, а встроенная в значимый функционал - очень осложняет дальнейшее сопровождение и развитие этого функционала, поскольку структурно его портит. Ну не нужна она там с точки зрения основного дизайна. А все, что не нужно, портит и осложняет. Лично меня это всегда больше всего напрягало: стараешься делать дизайн и код прозрачным, а в случае защиты нужно делать все наоборот, чтобы враг не догадался... Исполнение куска кода в ключе - здорово, конечно, когда оно заработало и на веки веков, аминь. А отладка? А изменения-сопровождение? А демо-версии, наконец? Да, все это можно сделать, но какой, блин, лишний геморрой! ИМХО, не стоит пытаться придумать бронебойную защиту: достаточно, чтобы любой подросток гвоздем не мог расковырять. Профессионал - вскроет, вопрос денег и времени, если оно ему надо будет. Лучше тратить ресурсы на развитие программы. Если стоимость и полезность программы будут сбалансированы, то пиратские копии послужат рекламой, и бог с ними. Это, конечно, относится только к професиональному софту (который покупают большие компании). Им - проще купить, чем тырить по мелочи. Потому, кстати, всякие Автокады и защищены так себе. А частные пользователи погоды не делают. С софтом чисто домашнего применения история совсем другая, конечно. Тут - либо придется быть альтруистом, либо уходить в корпоративный сектор ![]() -------------------- ... |
|||
|
||||
KLeonid |
|
|||
![]() Entropy ![]() Профиль Группа: Участник Сообщений: 51 Регистрация: 5.7.2007 Где: Shpongleland Репутация: нет Всего: 1 |
ИМХО, защита с сервером будет лучше в варианте RPC, а не серийников. Т.к. серийник можно элементарно заснифить, а если траф шифруется - все так же выдернуть дебагером на стадии исполнения.
Вызов удаленных функций с одной стороны усложнит взлом, а с другой сделает кучу проблем для продавца в виде необходимости иметь множество серверов и постоянно их мониторить. Плюс сложные удаленные функции будут грузить сервер, а простые - легко понять принцип работы, дописать локально и "подшить" к проге. Вот если бы придумать алгоритм постоянного изменения кода самой программы на лету с переписыванием частей екзешника или дллок. Чтоб часть программы постоянно меняла точку и алгоритм проверки валидности, и являлась неотъемлемой частью работы основной части программы. Мне бы вот придумать как защитить PHP код без всяких зендов, чтоб хоть зашифровать или сделать работоспособным только на 1 сервере... |
|||
|
||||
W4FhLF |
|
|||
![]() found myself ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 2831 Регистрация: 2.12.2006 Репутация: 1 Всего: 121 |
А в случае с RPC на локальный комп ничего передаваться не будет чтоли? RPC - это всего-лишь механизм передачи, суть защиты от этого не меняется. -------------------- "Бог умер" © Ницше "Ницше умер" © Бог |
|||
|
||||
mmvds |
|
||||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 230 Регистрация: 22.12.2007 Репутация: нет Всего: 6 |
Право на выполнение RPC тоже определяется клиент-сервером.
+1 Можно присылать и шифрованные экзешники ![]() Вот только на самом деле, стоит ли так заморачиваться, это же не военная разработка в конце концов ![]()
Не скажу, что я специалист по PHP, скорее его изучение было необходимостью. В своих кодах делаю проверку абсолютно всех используемых параметров: 1) Считываю из сессии все переменные, полученные до данного скрипта. 2) Перед проверкой изменений или добавления новых параметров пропускаю их на очистку от спец символов. 3) Затем проверяю на возможные значения с помошью регулярок. 4) После выполнения скрипта опять же все переменные записываю в сессию. Если интересуют примеры, стучись в асю ![]() |
||||
|
|||||
_El_ |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 25.9.2007 Репутация: нет Всего: нет |
Прочитала тему и не вижу к чему же таки пришли)). Передо мной стоит так же задача защитить программу (программа написана на паскале под MS-DOS). Програма серьезная и защиту хотелось бы соответствующую. Хотела попробовать динамическое шифрование, но не знаю как оно реализовывается.
|
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: нет Всего: 158 |
что за несерьезные люди поручили тебе делать серьезную защиту "серьезной" программы?
компетенция твоя в вопросе защиты, прости, никакая. первый пост был пол-года назад, за это время никакого прогресса в решении проблемы не видно: какие-то cpuid, "обфускаторы для паскаля", зато гордо отвергнут вариант навесного протектора за "несерьезность"(примечание: для компилируемых языков обфускация имеет смысл только на уровне машинного кода, чем, собственно, и занимаются навесные протекторы, вкупе со всякой анти-отладочной "мишурой"). да и серьезность самой программы "на паскале под MS-DOS" тоже представляется весьма сомнительной... хоть какие-то обоснования против "переезда" на более свежие ОС имеются? есть вариант - использовать какой-либо железный ключ(hasp,hardlock,guardant,sentinel,...) + envelope от производителей, но сдается, что люди, желающие навариваться от продаж, не хотят вкладывать ни пенни в защиту, так что это тоже не вариант. |
|||
|
||||
_El_ |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 25.9.2007 Репутация: нет Всего: нет |
Программа под DOS потому что написана и используется в гос. структуре, где убедить перейти на другую ОС очень трудно.
|
|||
|
||||
dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: нет Всего: 158 |
опа. тоже вариант.
![]() возьми отсюда какой-нибудь HackStop и не мучайся. тот народ, который еще помнит, как "запускать отладчик" в досе, давно уже не интересуется этим самым "запуском"... ![]() |
|||
|
||||
_El_ |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 28 Регистрация: 25.9.2007 Репутация: нет Всего: нет |
просто взять HackStop не пойдет, т.к. защита проги это мой диплом)
|
|||
|
||||
Competitor |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 440 Регистрация: 23.3.2005 Где: Tula Репутация: нет Всего: -1 |
я не понимаю, как это вообще будет работать. Юзер должен отослать серийник изготовителю ПО, и получить от него ключ, которым он расшифрует этот массив констант. Откуда изготовитель ПО возьмет ключ для расшифроки этого массива?? Поясните пожалуйста, буду очень благодарен. |
|||
|
||||
PavelSafonov |
|
|||
Новичок Профиль Группа: Участник Сообщений: 3 Регистрация: 29.1.2015 Репутация: нет Всего: нет |
Для надежной защиты программы используйте StubIt, как работает эта система защиты:
часть жизненно важного кода приложения вырезается прямо из бинарного кода и отправляется на сервер, после чего исполняется только на сервере, клиенту возращаются только результаты, вырезанный код всегда остаётся на сервере. Взлом такой защиты сводится к восстанавлению вырезанных кусков по данным - фактически атака на чёрный ящик, на практике не берётся. |
|||
|
||||
![]() ![]() ![]() |
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Технологии защиты программного обеспечения | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |