Защита .NET приложений: нужен совет
3240 повідомлень
#17 років тому
akkort, неделя, месяц или год - все зависит от качества обфускатора, и процентного соотношения избыточного кода к исходному.Например, выставив соотношение 2 избыточных операции к 1 исходной, как Вы думаете, насколько усложнится работа по исследованию кода (IL)? А если 100 избыточных к 1? А 1000 к 1?
300 повідомлень
#17 років тому
tvv, есть правило - обсуждать вкус ананасов с теми, кто их ел. Если вы не разбираетесь в технологиях снятия защит и не понимаете, что такое битхак и крос-референс, то на вас цифры 2 к 1, 100 к 1 и 1000 к 1 несомненно воздействуют убедительно. У специалиста подобные глупости вызывают лишь снисходительную улыбку. Специалист потратит на обход мусора лишний день, сколько бы его ни было. Все эти навороты - удобная маркетинговая штука для привлечения покупателей. Кракеры рыдают от смеха, когда все это ломают.
3240 повідомлень
#17 років тому
Цитата ("akkort"):tvv, есть правило - обсуждать вкус ананасов с теми, кто их ел. Если вы не разбираетесь в технологиях снятия защит и не понимаете, что такое битхак и крос-референс, то на вас цифры 2 к 1, 100 к 1 и 1000 к 1 несомненно воздействуют убедительно. У специалиста подобные глупости вызывают лишь снисходительную улыбку. Специалист потратит на обход мусора лишний день, сколько бы его ни было. Все эти навороты - удобная маркетинговая штука для привлечения покупателей. Кракеры рыдают от смеха, когда все это ломают.
akkort, есть правило - обсуждать вкус ананасов с теми, кто их ел. Если вы не разбираетесь в технологиях защиты программного обеспечения и не понимаете, что такое обфускация, детектор режима отладки, детектор изменения кода, стелс и полиморф (многоступенчатое шифрование и перемещение сегментов кода в памяти в процессе выполнения) и т.д., то можете верить в то, что рыдающие от смеха хакеры взламывают в дебагере современную защищенную базу данных полиции Лос-Анжелеса за несколько минут, как в голливудских фильмах. У специалиста подобные глупости вызывают лишь снисходительную улыбку.
Ладно, пожалуйста прошу без обид. Я лишь повторил Ваши же слова, только наоборот, и с теми же аргументами, точнее, с тем же отсутствием аргументов.
Я не сомневаюсь что Вы хороший специалист, и имеете опыт в области исследования и обхода защит.
Но с тех времен, когда для взлома защиты достаточно было заменить 72 на EB (JB на JMP, тот самый битхак), много что изменилось.
3240 повідомлень
#17 років тому
В догонку.Сейчас защищенный код выполняется в нескольких потоках, которые управляют выполнением друг друга, контролируют целостность друга, подсовывают не те данные при детекте режима отладки, и т.д.
Код расшифровывается и выполняется в специальной программе-контейнере, и не может работать вне его.
То есть, исследовать логику в дебаггере крайне затруднительно.
А декодировать и исследовать код - также трудоемко, так как а) этого кода много, десятки мегабайт, а б) код обфускаченный, с добавлением большого процента избыточности с) декодировать придется многократно, перед каждым разом полностью разобрав вручную логику предыдущей части кода, где происходит расшифровка следующей части.
Если рассматривать .NET, еще не забываем, что там не бинарный код команд процессора, где понятно что где делается, а IL, внутренний язык, в котором разобраться, что в данный момент делается, значительно сложнее IMHO. Да и возможность налету генерировать и выполнять временный код, которую предоставляет .NET платформа, наряду с интроспекцией, также дает очень интересные возможности для создания систем защиты.
120 повідомлень
#17 років тому
Если приложение интересно для рынка (а судя по созданной теме, скорее всего так оно и есть) то защита не сработает.То есть использовать конечно можно, но заказчика надо предупредить, что скорее всего его это не спасет.
И в вашем споре я скорее всего на стороне akkort
300 повідомлень
#17 років тому
Цитата ("tvv"):В догонку.
Сейчас защищенный код выполняется в нескольких потоках, которые управляют выполнением друг друга, контролируют целостность друга, подсовывают не те данные при детекте режима отладки, и т.д.
Код расшифровывается и выполняется в специальной программе-контейнере, и не может работать вне его.
То есть, исследовать логику в дебаггере крайне затруднительно.
А декодировать и исследовать код - также трудоемко, так как а) этого кода много, десятки мегабайт, а б) код обфускаченный, с добавлением большого процента избыточности с) декодировать придется многократно, перед каждым разом полностью разобрав вручную логику предыдущей части кода, где происходит расшифровка следующей части.
Дайте мне ссылку на .NET-обфускатор, который это умеет.
3240 повідомлень
#17 років тому
Цитата ("akkort"):Дайте мне ссылку на .NET-обфускатор, который это умеет.
Обфускатора, который "это умеет", нет и быть не может. Цель обфускатора - только лишь делать код нечитаемым, и затруднять его исследование.
То что написано выше - это полноценная комплексная защита, часть которой может быть в том числе и обфускатор.
300 повідомлень
#17 років тому
Цитата ("tvv"):Цитата ("akkort"):Дайте мне ссылку на .NET-обфускатор, который это умеет.
Обфускатора, который "это умеет", нет и быть не может. Цель обфускатора - только лишь делать код нечитаемым, и затруднять его исследование.
То что написано выше - это полноценная комплексная защита, часть которой может быть в том числе и обфускатор.
Хорошо, дайте мне ссылку на комплексную защиту для .NET-проектов, которую вы описали.
3240 повідомлень
#17 років тому
akkort, правда, лень тратить время и искать, так как не отслеживаю .NET решений с 2005 года (не использую эту технологию в текущих проектах), и не имею их под рукой.Кстати, искать нужно не "защиты" в виде программного продукта, а компании, которые предлагают такие решения, и имеют хорошее портфолио из защищенных ими продуктов.
Скажу лишь, что хорошая защита всегда адаптируется под конкретный продукт, универсальных защит для любого продукта не бывает.
Могу дать примеры распространенных и хорошо защищенных продуктов, хотя и не на .NET. Навскидку, сразу два скажу: Webmoney Keeper Classic и Skype. Если попробуете подебажить, увидите как они защищены, во всей своей красе.
300 повідомлень
#17 років тому
tvv, дело не в лени, а в том, что таких продуктов нет. Вы просто ляпнули не подумав, а теперь оправдываетесь. Речь идет о .net, поэтому wmc и skype совершенно не в кассу. То есть вы просто выдумали некую гипотетическую защиту, насовали в нее приемов, которые использованы в других продуктах и технологиях, не имея представления о том, как они работают и чем отличаются, а теперь вынуждены переводить стрелки на некие компании с портфолио, которые якобы готовы их разработать.Повторяю - серьезной защиты под .net не существует. Все имеющиеся в настоящий момент ломаются элементарно.
3240 повідомлень
#17 років тому
Сорри, пример с реактором (посилання) - неудачный. Оказалось все примитивно... впрочем что можно было ожидать от дешевой массово распространяемой.Хотя описание красивое.
Что-то другое нужно будет погуглить для примера.
----------------
только что нечаянно снес свое сообщение... я там про посилання писал.
300 повідомлень
#17 років тому
Цитата ("tvv"):Вот описание как оно работает: посилання
Не все конечно из того, что я описал выше, но довольно многое есть.
И что из перечисленного вами делает этот .net reactor ? Систему лицензирования, невозможность декомпиляции и прочую маркетинговую муть опускаем и в итого получаем только один абзац того, что оно реально делает:
.NET Reactor builds a native code wall between potential hackers and your .NET assemblies by producing an executable file which cannot be understood directly as CIL. - Replace CIL code with native code - Perform additional layers of protection, including obfuscation
По русски - модифицирует файл, чтобы он не опознавался напрямую как CIL, заменяет часть CIL на native, делает обфускацию.
Ну потратит кракер на день больше времени на то, чтобы обойти их native wall (по сути, обыкновенный ехе-криптор), сделает дамп и так же подсунет его дизассемблеру. То, что часть CIL переведена в native - так еще проще изучать
Цитата ("tvv"):
Думаю, если поискать, еще с десяток подобных солюшенов найдется за полчаса.
Угу, защищалка стоит $200 и столько же будет стоить ее снятие. Дешевле каждый месяц покупать свежий билд ASPack'а или Armadillo и паковать им очередную версию.
Цитата ("tvv"):
И повторюсь, если нужно защитить серьезный продукт, то более правильно было бы искать не продукты, а конторы, которые предоставляют такие услиги по защите софта.
На первой странице топика вы писали совершенно обратное, агитировали купить готовый обфускатор и приводили свою оценку разработки слабенького обфускатора в $4k. Услуги специализированных контор обойдутся не дешевле. Дайте свое окончательное решение - чем же защищать фрилансерам свои .net-проекты?
3240 повідомлень
#17 років тому
В своих словах не вижу противоречия.Дешевые малобюджетные проекты вполне можно защищать купленными недорогими системами защиты.
Или можно сделать что-то свое, но будет дороже (так как займет много человеко-часов), и не факт что получится надежнее.
Если же нужно защищать продукт достаточно серьезный и ценный, то имеет смысл нанять профессионалов, которые создадут защиту, специально адаптированную под данный проект.
13 повідомлень
#16 років тому
При любом Вашем желаниии получить хотя бы немножко защищенный код не получится 
вообще! Защищать должен Framework. Он же пока, наоборот, делает все для того, чтобы облегчить жизнь андеркодерам

51 повідомлення
#16 років тому
+1 за обфускатор. А место где идет сама проверка ключа, можно и самому в ручную специально усложнить, напихав туда кучу мусора. Хотя конечно полезно ознакомится с методами отладки программ, чтобы иметь представление как это делают. А то можно с дуру вынести весь мусор в отдельную процедуру, которую взломщик просто пропустит при отладке 
7 повідомлень
#16 років тому
посиланняMicrosoft® Software Licensing and Protection (SLP) Services is a software activation service that enables independent software vendors (ISVs) to adopt flexible licensing terms for their customers. Microsoft SLP Services employs a unique protection method that helps safeguard your application and licensing information allowing you to get to market faster while increasing customer compliance.
3 повідомлення
#16 років тому
Автор - твой програма работает только по винды безо всяких линуХов?Подумай про то чтоб прекомпилить прогу через ngen.exe? Получишь полноценную виндовозную прожку=)
+можна маршалом подключать нейтив дллки какието которые за зашиту отвечают и мы получим клёвый защищённый продуктЪ=)
Про эту полезную вещь читаем тут:
посилання
62 повідомлення
#16 років тому
kvazis большое спасибо за совет.Также был бы очень благодарен за ссылку на рускоязычную докуменацию по ngen.exe, так как все попытки с ее помощью получить нативный екзешник не увенчались успехом.
405 повідомлень
#16 років тому
Защищаться от пиратов бесполезно. Не тратьте время (своё и заказчика). Если заказчик не понимает - надо популярно объяснить. Лучше использовать пиратские копии для рекламы продукта. И инвестировать деньги в улучшение функциональности продукта. Будет больше пользы.Или даже сделать часть - open source
