Защита программы

stm7583298

Необходимо реализовать хорошую защиту программного продукта от нелегального использования и отладки.
Посоветуйте, плз, в какую сторону копать, к кому можно обратиться и т.д.
Платформы Win и Linux

Dasar

сроки и ресурсы какие выделены?

stm7583298

Сроки - месяц-полтора. Ресурсы обсуждаемы

Dasar

сегмент - корпоративный софт?
какой порядок количества установок?

stm7583298

Да, корпоративный софт для исследований, предполагает использование кластеров.
Количество установок порядка тысяч

Dasar

порядок стоимости одной установки?

stm7583298

несколько куе

Dasar

общие соображения:
1. привязывать на электронный ключ, в ключ зашивать часть функционала (а не просто номер).
2. ключи брать малораспространенные, т.е. в обязательном порядке проверять, что на этих же ключах не строится защита какого-нибудь 1С и т.д.
3. по всей проге расскидать кучу точек проверки:
а) ключа
б) целостности проги
4. антиотладочный код, код проверки целостности - лучше купить, причем скорее всего под win и linux по отдельности. причем в идеале код проверки должен генерится уникальный под каждую точку проверки, т.е. очень важно, чтобы не было одной функции типа void ДелаемЧтобыDebuggerНеВключался;
конкретные либы/ключи не подскажу, потому что последнее время не следил за этим

stm7583298

Электронный ключ это гуд, когда у клиента прогдамма стоит на десятке машин. В случае большого кластера мне этот метод кажется немного странным, поправь если ошибаюсь.
А не подскажешь, к кому можно обратиться за антиотладочным кодом и проверкой целостности?

Dasar

> Электронный ключ это гуд, когда у клиента прогдамма стоит на десятке машин. В случае большого кластера мне этот метод кажется немного странным, поправь если ошибаюсь.
тогда, грубо говоря, ставится ethernet-ный электронный ключ.
соответственно реализации может быть две:
1. либо это честный ethernet-ный ключ
2. либо есть сервер авторизации, который завязан на usb-ишный электронный ключ, а уж через этот сервер авторизуются все остальные

stm7583298

Честный ethernet-ный, как я понимаю, втыкается непосредственно в свич?
Тогда это хорошее решение.

sbs-66

Софт за н штук баксов делится на 2 категории:
1. Который никому не нужен (и ломать его если и будут, то ламеры)
2. Который кому-то оказался нужен (и тогда он будет сломан).
Потому делать защиту сколь угодно сложной - глупая трата сил.
Привязка к электронному ключу - хороший ход, т.к. сильно усложняет процес взлома и делает его более дорогостоящим.
А всякие програмные навороты будут вскрыты не за неделю так за две.
Моё мнение - единственное разумное решение - делать кроме проверок валидности лицензий ещё кучу проверок, которые будут пройдены у хакера, но не пойдут у простого смертного.
Например:
if( невалидный_ключ && не_стоит_вижл_студия ) {
вы пользуетесь пиратской версией, бла-бла-бла
}
if( левая_активация && будний_день && время_с_10_до_14 ) {
активационый_код_неверный, бла бла бла
}
и т.д.
В итоге хакер, ежели он не педант, прозевает десяток другой проверок, которые у него не сработают, а пользователь будет стадать и купит таки программу.

Dasar

все это справедливо для широкораспространенного софта.
малораспространенный софт ломается реже и хуже.

sbs-66

т.е. он относится к 1й категории, т.е. нужна защита уровня "защита от дурака"

stm7583298

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

sbs-66

Кстати, можно ещё как в лингве сделать, чтобы копии программы с одинаковыми серийниками друг-друга в сети видели и отказывались работать. На именованных пайпах - тогда файрволом сложно закрыть.

maxiim9

Как только этот вид защиты станет достаточно распространён, с ним научатся эффективно бороться. В интересах Lingvы чтобы им больше никто не пользовался

vpzhukov13

по качеству- решение этой фирмы,наверное,тебя устроит.
Если по цене не устроит- мб что-то подобное себе сами сделаете.
http://www.star-force.com/protection/protection.phtml?c=300

stm7583298

Спасибо, но старфорс не подходит по ряду причин.

tata2410

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

stm7583298

Теоретически от дизасма ничего не спасет, но вот жизнь взломщику можно сильно осложнить чем-нибудь вроде Themida. Но минус ее в том, что только под венду. Под linux пока не нашел ничего похожего

NataNata

как человек очень много ковырявшийся в других программах под SoftIce и прочая, замечания такие
1) программа НЕ ДОЛЖНА сообщать юзеру, как только она поймет, что что-то с защитой не то. лучше всего, чтобы она просто вываливалась с искуственно созданной runtime error причем через некоторое время после "осознания". особенно, если вываливаться будет невесть где (с точки зрения кода. к примеру, в заведомо глючном кусе кода математических вычислений с плавающей запятой). при наличии множества средств отслеживания обращений программы к системе все обращения к ключу, по идее, можно выловить.
2) надо иметь в виду, что можно взять 2 копии программы: параллельно запускаем на двух компах под отладчиком, на одном компе ключ есть, на другом - нет, причем система на компах по возможности будет идентична. и смотрится на различия исполнения кода.

stm7583298

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

SPARTAK3959

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

Marusetta

>> через некоторое время после "осознания"
А если он успеет?
Вот он наткнулся на нужное место, программа зафиксировала взлом, но взломщик уже успел предупредить переход на подпрограмму защиты.
А вот с "от дизасма ничего не спасет" не согласен. Можно ТАК искалечить код, что расшифровка займет времени больше, чем написание того же "с нуля". Брутфорс тоже должен бы всегда спасать, ан нет, им почему-то пользуются лишь в безвыходных случаях.

Vladislav177Rus

Среди протекторов под Windows лучшими считаются ExeCryptor (ring3) и Themida (ring0). AsProtect - прошлый век.

SPARTAK3959

Ты с 99% вероятностью путаешь AsPack и AsProtect. Это совершенно разные крипторы. AsProtect как и Themida постоянно обновляется.

NataNata

не откажется
для того же SoftIce есть примочки, которые защищают его от "антиотладчиков", которые с помощью SoftIce-интерфейса пытаются комп перегрузить, к примеру, или просто определить, присутствует оная программа в системе или нет
вопрос в том, насколько нужно будет ковырять твою программу. для популярных защит типа starforce умельцы писали программы, позволяющие обходить защиту, потому как выгода очевидна. А будет ли твоя программа настолько ценной, чтобы вообще браться ломать ее (с учетом всего геморроя и времени при копании в ней)?

Vladislav177Rus

Нет, AsPack и AsProtect я не путаю, поскольку AsPack снимается автоматически, а в случае AsProtect нужно приложить определенные усилия. Тем не менее, ExeCryptor не снимается никаким публичным методом и о существовании приватных мне тоже ничего не известно.

evgen5555

Execryptor - это XOR, в каждой версии на разные байты, видно это невооруженным глазом
Оставить комментарий
Имя или ник:
Комментарий: