Вадим Т.
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 лет назад
При любом Вашем желаниии получить хотя бы немножко защищенный код не получится . Иначе, нужно пересмотреть архитектуру .NET
вообще! Защищать должен Framework. Он же пока, наоборот, делает все для того, чтобы облегчить жизнь андеркодерам
Максим Б.
2206 сообщений
#16 лет назад
Нафига отвечать на сообщения трехмесячной давности?
Руслан Aia
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