|
Защита ПО
|
|||
---|---|---|---|
#18+
Всем здравствуйте! Озаботился давеча защитой своей программы (С#). ПО - коммерческое. Первое, что сделал - это ключ, который лежит в текстовом файле в корне с прогой и проверяется при запуске на совпадение с вычисляемым самой прогой. Сам расчет ключа - в dll-библиотеке. Если не совпал - досвидания. Однако естественно, что при дизассемблировании можно легко закомментировать строчку с проверкой. Пошел дальше - добавил такие же проверки в основные модули программы (работа с БД и внешними устройствами), а эти модули уже находятся в dll-библиотеках. Если ключ не подошел, то библиотека не выполняет свою работу (можно, скажем, коверкать sql-запросы, но я пока сомневаюсь на этот счет) Вопрос: как максимально усложнить доступ к коду в библиотеках? Потому как при отладке основного модуля, у которого есть референс на библиотеку, открывается исходный код самой библиотеки. Возможно, предстоит подключать к разработке третьих лиц, и хотелось бы защитить именно от них. Если кто решал такие задачи, подскажите пожалуйста. Спасибо ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 21:26 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
Pallaris А вот такой вопрос, ключь он что дает право пользоваться, то есть если у меня есть текстовый с ключем, то прога запустится, если так что мешает легальному обладателю выложить в сеть этот файл. И вот такой риторический вопрос, а есть такой софт, достаточно актуальный и востребованный но еще не хакнутый? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 21:34 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
Pallaris , авторВопрос: как максимально усложнить доступ к коду в библиотеках? №0. не писать на шарпе )) №0.1. самим компилировать ( например воткнуть строку, на которой дизасм будет тупо перегружать комп) самое главное это стоимость вашего ПО и аудитория ( её охват). и что за ПО. его назначение. т.е. сломать можно всё. вопрос затрат. как всё же локализовать. можно сделать постоянные апдейты, которые будут сносить то что было до того, тем самым , взломщикам заного нужно будет взламывать прогу. Онлайн регистрация. главное , сделать так, что бы цена хака была выше стомости легальной покупки. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:05 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
вот тут товарищь исследует защиты разных прог. мож будет интересно http://%D1%82%D1%83%D1%82%D0%B0] http://www.manhunter.ru/underground/ ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:12 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
Где-то в степиPallaris А вот такой вопрос, ключь он что дает право пользоваться, то есть если у меня есть текстовый с ключем, то прога запустится, Не, не запустится И вот такой риторический вопрос, а есть такой софт, достаточно актуальный и востребованный но еще не хакнутый? Да, но он стоит сильно дороже и более универсальный, а мой - дешевле, и настроен под узкую специфику (востребованную). У официального софта привязка по flash-девайсу. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:23 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
beg-in-erвот тут товарищь исследует защиты разных прог. мож будет интересно http://%D1%82%D1%83%D1%82%D0%B0] http://www.manhunter.ru/underground/ Афигенный блог, +1 P.S. Топикстартера, думаю, ждет та же участь :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:24 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
PallarisУ официального софта привязка по flash-девайсу. и это ломается какого направления то софт? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:26 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
ИзопропилPallarisУ официального софта привязка по flash-девайсу. и это ломается какого направления то софт? SCADA-система узкого профиля ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:26 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
Pallaris, Да не заморачивайтесь защитой, если софт интересный всё равно сломаю дело времени, вернее свободного времени. По крайней мере в рашке вы ничего не получите как за лицензию, там - там другой разговор. Посмотрите может можно какие то пожертвования организовать, продать кому то из зарубежных конструкторов свою идею. ну и забыть (( ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:36 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
PallarisИзопропилпропущено... и это ломается какого направления то софт? SCADA-система узкого профиля Мне нравится система защиты у СУБД Oracle. Она не традиционная. Хочешь поставить - линки открыты, ключей нету. Данных много и произошла задница? Покупай доступ на металинк и/или спецов и т. п.. Почему не посмотреть в сторону продажи услуги тем более что софт востребован. Сделай хардкорный конфиг и ходи настраивай за деньги. :) ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:49 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
Lord British Почему не посмотреть в сторону продажи услуги тем более что софт востребован. Сделай хардкорный конфиг и ходи настраивай за деньги. :) Хардкорный конфиг действительно имеется :) правда, если у человека есть настройки реального проекта на уже имеющейся машине, то разобраться можно. А у Оракла разве нет ограничения на размер базы без ключа? Вроде ж есть ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:51 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
Pallaris, а с оборудованием как работаете через OPC серверы или напрямую по спец-протоколам, оборудование ваше или любое стороннее для которого есть OPC сервер и т. п..? ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:51 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
Lord BritishPallaris, а с оборудованием как работаете через OPC серверы или напрямую по спец-протоколам, оборудование ваше или любое стороннее для которого есть OPC сервер и т. п..? Не, оборудование чужое. Общение идет напрямую, т.е. протокол зашивал в прогу. Впрочем, протокол всем известен и можно использовать OPC ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:53 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
Pallaris, Нету у оракли ключей и ограничений качай EE и вперед. Только без купленного саппорта этого никто не делает, потому как воркэраунды/апдейты/итп. только с металинка. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 22:54 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
Pallaris, Увы, у меня опыт только разработки сервис ориентированных приложений и то серверное ПО у нас, а клиентское у заказчика. Когда не платили - перекрывали "газ". Вот и все просто и надежно. Клиент даже не обфусцировали. -- Раньше во времена DOS ходили полиморфные вирусы, грубо говоря, при каждом запуске оно модифицировало свой com/exe какой нибудь эквивалентной шелухой и nop'ами. Можно посмотреть в сторону всяких Mono.Cecil и попробовать повторить подвиг :). От патча на первый взгляд может и помочь на некоторое время. Также если ваша защита вынесена в dll, вы сами локализовали работу, в лучшем случае напишут заглушку и положат в папку с прогой. Ее можно перепесать на C++/CLI, там будет куски управляемого и не управляемого кода, а в неуправляемый код можно и asm напендюрить. На wasm.ru были раньше выложены всякие антиотладочные/антидизассм фишки, на которых падали/определялись известные отладчики/дизассемблеры и т. п.. и т. п.. Можно также напилить какой-нибудь постобработчик сборок, который нахерачит в каждую публичную функцию или в какие-то рандомно проверку кода причем последовательность комманд проверки от функции к функции должна меняться (мусор, эквивалентные команды т. п..) Хорошая защита - винигрет из гавнистых трюков. У кого-то терпения не хватит, у кого то времени, а кто-то скажет овчина выделки не стоит (времени больше на анализ чем заплатили)... и т. п.. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 23:37 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
PallarisLord BritishPallaris, а с оборудованием как работаете через OPC серверы или напрямую по спец-протоколам, оборудование ваше или любое стороннее для которого есть OPC сервер и т. п..? Не, оборудование чужое. Общение идет напрямую, т.е. протокол зашивал в прогу. Впрочем, протокол всем известен и можно использовать OPC Жаль. А то можно было бы развернуться на всех узлах (прошивка оборудования, opc сервер, клиент). ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 23:39 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
PallarisХардкорный конфиг действительно имеется :) правда, если у человека есть настройки реального проекта на уже имеющейся машине, то разобраться можно. А ты его сделай бинарный или xml с узлами/атрибутами вида Код: xml 1. 2. 3.
А тулза для формирования пусть только у тебя будет. ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 23:53 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
авторА ты его сделай бинарный + чтобы по изменениям не выявили - что по каким оффсетам лежит, шифруй "с солью"! ... |
|||
:
Нравится:
Не нравится:
|
|||
27.01.2013, 23:56 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
Не, проект в системе и так бинарный. А сама прога - она не только исполнительная система, но еще и система проектирования. Но когда пользователь загружает проект в программе, то естественно может там что-то менять, и сохранять проект. Т.е. как бы бинарный файл особой ценности не представляет. Программа с проектом переносится на оборудование, проданное кому-то без нашего ведома, и после небольшой настройки работает. Вы мне скажите, dll-ки можно скомпилить так, чтоб в Visual Studio не открывался их исходный код, когда они в качестве референса подключаются? Жаль. А то можно было бы развернуться на всех узлах (прошивка оборудования, opc сервер, клиент). Ну да, тут уж можно разгуляться :) Правда, экономически нецелесообразно на данный момент ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 00:49 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
PallarisВы мне скажите, dll-ки можно скомпилить так, чтоб в Visual Studio не открывался их исходный код, когда они в качестве референса подключаются? Если это чистая .NET сборка, то метаданные вы увидите как не крутите (если только штатные средства студии). От рефлектора не спасешься. Есть обфускаторы, которые могут портить имена и т. п.. правда е знаю как они поступают с публичными интерфейсами. Но можно запилить твою dll на c++/cli, получится mixed сборка. Метаданные (обертки) увидишь, а unmanaged код нет, а он может быть написан на c++ с асм вставками. :). --- Также есть возможность сделать следующее, но для *.exe (что получается из .net проектов). он состоит в этом случае 1 из unmanaged entrypoint, которая инициализирует .NET COM сервер и передает ему где IL находится (детели не помню) 2 в одной из секций хранится IL код По второму можно пройтись обфускацией, по первому попробовать применить методы защиты unmanaged программ с целью запутать концы. М. б. даже прокатит один из существующих обфускатор, потом какой-нибудь unmanaged упаковщик. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 01:09 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
МСУ Защита ПО: купить или создать с нуля? И кто это говорит? StarForce? Помню как пираты изящно поломали защиту от копирование StarForce для дисков с игрой StarCraft (ещё первой). Короче, против лома нет приёма ;) ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 13:30 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
Помню, 3 месяца ушло у спецов на слом новой защиты спутникового ТВ Premiere в Германии. Ясно дело спецу заплатили ибо теперь пираты могут продавать карточки к ресиверам в несколько раз дешевле. В общем моя ИМХА - сделать защиту "от дурака" если уж так хочется и дальше не париться. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 13:34 |
|
Защита ПО
|
|||
---|---|---|---|
#18+
M234изящно поломали Не скажу за StarCraft (еще первый), но они усирались ломаючи. По опыту помню, starfuck и перетыкания шлейфов работали два раза из трех или еще меньше. Потом ломатели решили, что полностью вычищать его из исполняемого файла хоть и не проще, зато результат 100%, но назвать это "играючи" язык не поворачивается. От StarForce стали отказываться лишь под шквалом жалоб от пользователей, которым он давал отлуп даже на лицензию. ... |
|||
:
Нравится:
Не нравится:
|
|||
28.01.2013, 13:45 |
|
|
start [/forum/topic.php?fid=20&msg=38126527&tid=1399009]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
40ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
60ms |
get tp. blocked users: |
1ms |
others: | 19ms |
total: | 165ms |
0 / 0 |