Re[6]: .NET обфускаторы - счастливые истории
От: lozzy  
Дата: 31.01.06 12:41
Оценка: 2 (1)
Здравствуйте, Cypress, Вы писали:

L>>А обфусцированные стэк-трейсы одним движением руки превращаются в нормальные, между прочим

C>Очень интересно, просветите пожалста меня, а то я плохо себе это представляю
Во всех приличных обфускаторах есть функция deobfuscate stack trace.
Re[4]: .NET обфускаторы - счастливые истории
От: Harley_D Россия www.digicreatures.com
Дата: 01.02.06 03:38
Оценка: 1 (1)
> C>>Имхо , xenocode один из лучших!
> C>>Особенно порадовало, что он может давать нечитаемые имена функциям
>
> А>Кхм .... а что тут такового, это вроде как обычная обфускация, это все
> делают.
> Значит я отстал от развития обфускаторов

Все обфускаторы имеют примерно один и тот же набор фичей, но:
1. Некоторые негибки, ориентируясь на определенные шаблоны
2. криптовка строк может быть вынута remotesoft.decompiler и строки могут
будут декриптованы.
3. Многие не проходят тест на декомпиляцию и дизассемблирование —
производитель декларирует одно, а на поверку выясняется что этого нет.
Например remotesoft-вский задвиг на скрытие спотов — referenced членов
используемых в коде это когда (для примера)System.Windows.Form.Show() в коде
будет спрятан. Все, читая, думают что эта фича есть. А ее нет, она на сам
деле уже 2 с лишним года не сделана, но задекларирована.
--
Best regards, Harley
Posted via RSDN NNTP Server 2.0
Best Regards,
Harley
.NET обфускаторы - счастливые истории
От: Аноним  
Дата: 31.01.06 10:55
Оценка:
Кто реально каким обфускатором пользуется, по памяти из обсуждения этой темы, я так понял что таких реальных людей нет.
Сейчас стою перед покупкой этой хрени, поэтому очень интересует реальный опыт людей.
Потрогал я xenocode, и мне очень многое не понравилось, выглядит очень сыровато, глюковато, хотя это как бы считается лидером этого сектора. Что уж говорить об остальных.

Что мне нужно от обфускатора:
— обычная обфускация имен, и т.д.
— криптование строк
— control flow обфускация

это основное, ну и возможно:
— противодействие декомпиляции
— watermarks
— ...
Re: .NET обфускаторы - счастливые истории
От: Аноним  
Дата: 31.01.06 11:42
Оценка:
Здравствуйте, Аноним, Вы писали:

И тот же самый вопрос про Java? Что-то кроме ZKM есть на рынке? В нем при нормальной обфускации скорость падает на 20-25% (string encryption + flow obfuscation + renaming).
Re[2]: .NET обфускаторы - счастливые истории
От: GPFault http://www.link-assistant.com/
Дата: 31.01.06 11:58
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Здравствуйте, Аноним, Вы писали:


А>И тот же самый вопрос про Java? Что-то кроме ZKM есть на рынке? В нем при нормальной обфускации скорость падает на 20-25% (string encryption + flow obfuscation + renaming).


оценка качества шифровки различных программ-шифраторов

2Lkit Obfuscator v1.1
Cloakware
DashO-Pro v2.0
Hashjava
JCloak v3.5.3 From Force5
Jproof 1stBarrier MINI v1.1
JOBE — The obfuscator
Jshrinkv1.18
Jzipper v1.08
ObfuscateTM v1.1
RetroGuard v1.1
SourceGuard 4.0
Zelix KlassMaster2.3

Последний, вроде, показывает наилучшие результаты. Есть лицензия подходящяя для shareware (Small Developer License).
Регистратор чувака — ShareIt, так что думаю, можно организовать vendor-2-vendor.
Re: .NET обфускаторы - счастливые истории
От: Cypress  
Дата: 31.01.06 12:16
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Кто реально каким обфускатором пользуется, по памяти из обсуждения этой темы, я так понял что таких реальных людей нет.

А>Сейчас стою перед покупкой этой хрени, поэтому очень интересует реальный опыт людей.
А>Потрогал я xenocode, и мне очень многое не понравилось, выглядит очень сыровато, глюковато, хотя это как бы считается лидером этого сектора. Что уж говорить об остальных.

А>Что мне нужно от обфускатора:

А>- обычная обфускация имен, и т.д.
А>- криптование строк
А>- control flow обфускация

А>это основное, ну и возможно:

А>- противодействие декомпиляции
А>- watermarks
А>- ...

Имхо , xenocode один из лучших!
Особенно порадовало, что он может давать нечитаемые имена функциям
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[2]: .NET обфускаторы - счастливые истории
От: lozzy  
Дата: 31.01.06 12:20
Оценка:
Здравствуйте, Cypress, Вы писали:

C>Имхо , xenocode один из лучших!

C>Особенно порадовало, что он может давать нечитаемые имена функциям
Только главная их фишка — embedding .Net framework dependencies теперь отсутствует в Pro версии. А платить за нее на 1600 больше мне не позволяет разум. Ну и саппорт платный (!!!!) — это вообще уму не растяжимо. С про версией идет два обращения в саппорт. Как сегодня мне прикол рассказали: "где находится африка — там! — где там? — а это второй вопрос"...
Re[3]: .NET обфускаторы - счастливые истории
От: Аноним  
Дата: 31.01.06 12:21
Оценка:
Здравствуйте, GPFault, Вы писали:

ZKM это и есть Zelix KlassMaster

Я его прикрутил к одной расчетке и скорость заметно упала. Ладно, запишем это как фичу (т.е. потом будет возможность "ускорить" программу на глазах удивленного заказчика на 20-25% )

А>>И тот же самый вопрос про Java? Что-то кроме ZKM есть на рынке? В нем при нормальной обфускации скорость падает на 20-25% (string encryption + flow obfuscation + renaming).


GPF>оценка качества шифровки различных программ-шифраторов


GPF>2Lkit Obfuscator v1.1

GPF>Cloakware
GPF>DashO-Pro v2.0
GPF>Hashjava
GPF>JCloak v3.5.3 From Force5
GPF>Jproof 1stBarrier MINI v1.1
GPF>JOBE — The obfuscator
GPF>Jshrinkv1.18
GPF>Jzipper v1.08
GPF>ObfuscateTM v1.1
GPF>RetroGuard v1.1
GPF>SourceGuard 4.0
GPF>Zelix KlassMaster2.3

GPF>Последний, вроде, показывает наилучшие результаты. Есть лицензия подходящяя для shareware (Small Developer License).

GPF>Регистратор чувака — ShareIt, так что думаю, можно организовать vendor-2-vendor.
Re[2]: .NET обфускаторы - счастливые истории
От: Аноним  
Дата: 31.01.06 12:22
Оценка:
Здравствуйте, Cypress, Вы писали:

C>Имхо , xenocode один из лучших!

C>Особенно порадовало, что он может давать нечитаемые имена функциям

Кхм .... а что тут такового, это вроде как обычная обфускация, это все делают.
Re[3]: .NET обфускаторы - счастливые истории
От: Cypress  
Дата: 31.01.06 12:23
Оценка:
Здравствуйте, lozzy, Вы писали:

L>Только главная их фишка — embedding .Net framework dependencies теперь отсутствует в Pro версии. А платить за нее на 1600 больше мне не позволяет разум. Ну и саппорт платный (!!!!) — это вообще уму не растяжимо. С про версией идет два обращения в саппорт. Как сегодня мне прикол рассказали: "где находится африка — там! — где там? — а это второй вопрос"...


Ну если гоорить про себя, то я вообще обфускаторами не пользуюсь!
Если захотят — сломают, во многом я согласен с политикой JetBrains, они тоже не обфуцируют, им так легче стэ-трейсы анализировать!
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[3]: .NET обфускаторы - счастливые истории
От: Cypress  
Дата: 31.01.06 12:24
Оценка:
Здравствуйте, <Аноним>, Вы писали:

А>Здравствуйте, Cypress, Вы писали:


C>>Имхо , xenocode один из лучших!

C>>Особенно порадовало, что он может давать нечитаемые имена функциям

А>Кхм .... а что тут такового, это вроде как обычная обфускация, это все делают.

Значит я отстал от развития обфускаторов
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[4]: .NET обфускаторы - счастливые истории
От: lozzy  
Дата: 31.01.06 12:29
Оценка:
Здравствуйте, Cypress, Вы писали:

C>Ну если гоорить про себя, то я вообще обфускаторами не пользуюсь!

C>Если захотят — сломают, во многом я согласен с политикой JetBrains, они тоже не обфуцируют, им так легче стэ-трейсы анализировать!
Это где же они не обфусцируют? Может имена методов и незашифрованы, а все остальное покрыто мраком тайны А обфусцированные стэк-трейсы одним движением руки превращаются в нормальные, между прочим
Re[5]: .NET обфускаторы - счастливые истории
От: Cypress  
Дата: 31.01.06 12:34
Оценка:
Здравствуйте, lozzy, Вы писали:

L>Здравствуйте, Cypress, Вы писали:


C>>Ну если гоорить про себя, то я вообще обфускаторами не пользуюсь!

C>>Если захотят — сломают, во многом я согласен с политикой JetBrains, они тоже не обфуцируют, им так легче стэ-трейсы анализировать!
L>Это где же они не обфусцируют? Может имена методов и незашифрованы, а все остальное покрыто мраком тайны А обфусцированные стэк-трейсы одним движением руки превращаются в нормальные, между прочим

Каким мраком?
dottrace хакается за 15 минут, проверял лично
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re[5]: .NET обфускаторы - счастливые истории
От: Cypress  
Дата: 31.01.06 12:36
Оценка:
Здравствуйте, lozzy, Вы писали:

L>А обфусцированные стэк-трейсы одним движением руки превращаются в нормальные, между прочим


Очень интересно, просветите пожалста меня, а то я плохо себе это представляю
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
Re: .NET обфускаторы - счастливые истории
От: Harley_D Россия www.digicreatures.com
Дата: 01.02.06 03:22
Оценка:
" Аноним " <0@users.rsdn.ru> wrote in message news:1649603@news.rsdn.ru...
> Кто реально каким обфускатором пользуется, по памяти из обсуждения этой
> темы, я так понял что таких реальных людей нет.
> Сейчас стою перед покупкой этой хрени, поэтому очень интересует реальный
> опыт людей.
> Потрогал я xenocode, и мне очень многое не понравилось, выглядит очень
> сыровато, глюковато, хотя это как бы считается лидером этого сектора. Что
> уж говорить об остальных.

Советую обратиться к одному из давнейших и хорошо себя зарекомендовавших
производителей — 9Rays.net и их продукту Spices.Net(кстати он выиграли в
прошлом году Peoples Choice Award от MS-вского MSD2D.com отобрав его у
remotesoft.com).

что есть:
> Что мне нужно от обфускатора:
> — обычная обфускация имен, и т.д.

Есть и с кучей гибкостей — исключение, включение, маски имен, атрибуты
обфускации. Несколько схем именования, в том числе и incremental

> — криптование строк


есть и криптование, есть и просто скрытие строк

> — control flow обфускация

Это на самом деле один из самых слабых интсрументов защиты, т.к хороший
декомпилятор шаблоны control flow obfuscation распознает на раз. Не стоит
обманываться на этот счет.
Нет.
> это основное, ну и возможно:
> — противодействие декомпиляции

Есть. Несколько видов. В том числе защита от Spices.Decompiler
> — watermarks


Есть. Например такая фича как кросс-обфускация.
К тому же к обфускатору прилагается немалый набор интсрументов для анализа
сборок.
> — ...

В компании 9rays руский саппорт, можно сразу писать на support[at]9rays.net
если есть вопросы.
Отвечают быстро, консультируют и проблемы решают оперативно.
Для СНГ — скидки до 50%.
К тому же — готовится новая версия с фичами которые здесь не перечислены и
серия статей по защите с рекомендациями и развеиванием мифов.
Один выпуск статей был — ищите на apsnetmania.net, dotsite.ru

--
Best regards, Harley
Posted via RSDN NNTP Server 2.0
Best Regards,
Harley
Re[2]: .NET обфускаторы - счастливые истории
От: Harley_D Россия www.digicreatures.com
Дата: 01.02.06 03:32
Оценка:
> Имхо , xenocode один из лучших!
> Особенно порадовало, что он может давать нечитаемые имена функциям

Ага, сколько уже взломанных от-xenocode-нных прог на варезе валяется
Вся проблема в том что эти ребята не дружат с покупателями (поддержка крайне
слабая) и почему-то свой продукт делают не в managed коде. Не верят в
собственную защиту?
9rays.net-вский Spices.Net обфусцирован Spices.Obfuscator-ом же,
разработчики уверены в защите, наверное это кое о чем говорит.
--
Best regards, Harley
Posted via RSDN NNTP Server 2.0
Best Regards,
Harley
Re[2]: .NET обфускаторы - счастливые истории
От: Аноним  
Дата: 01.02.06 07:16
Оценка:
Здравствуйте, Harley_D, Вы писали:

H_D>Для СНГ — скидки до 50%.

Где можно почитать про скидку.

H_D>Один выпуск статей был — ищите на apsnetmania.net, dotsite.ru

Видимо — aspnetmania.com

Спасибо.
Re[3]: .NET обфускаторы - счастливые истории
От: Harley_D Россия www.digicreatures.com
Дата: 01.02.06 07:48
Оценка:
> H_D>Для СНГ — скидки до 50%.
> Где можно почитать про скидку.

Лучше письмо на support[at]9rays.net бросить.

> H_D>Один выпуск статей был — ищите на apsnetmania.net, dotsite.ru

> Видимо — aspnetmania.com

Возможно
На самом деле эти статьи уже разместило куча ресурсов.

> Спасибо.


Не за что

--
Best regards, Harley
Posted via RSDN NNTP Server 2.0
Best Regards,
Harley
Re[6]: .NET обфускаторы - счастливые истории
От: Harley_D Россия www.digicreatures.com
Дата: 01.02.06 07:55
Оценка:
> L>Здравствуйте, Cypress, Вы писали:
>
> C>>Ну если гоорить про себя, то я вообще обфускаторами не пользуюсь!
> C>>Если захотят — сломают, во многом я согласен с политикой JetBrains, они
> тоже не обфуцируют, им так легче стэ-трейсы анализировать!
> L>Это где же они не обфусцируют? Может имена методов и незашифрованы, а
> все остальное покрыто мраком тайны А обфусцированные стэк-трейсы одним
> движением руки превращаются в нормальные, между прочим
>
> Каким мраком?
> dottrace хакается за 15 минут, проверял лично

Чтобы усложнить деобфускацию стек-трейсинга, достаточно иметь хороший
алгоритм name-overloading (когда одно имя в классе используется максимальное
количество раз) на обфускаторе, этот же алгоритм и обспечивает максимальное
сжатие метаданных (если другие фичи типа криптования строк не используется),
у некторых обфускторов name-overloading — это только декларация. Но вот
скажем в Spices.net при деобфускации stack-trace показаны все возможные
варианты — дерево возможных вызовов. Конечно не панацея, но все-таки.

--
Best regards, Harley
Posted via RSDN NNTP Server 2.0
Best Regards,
Harley
Re[2]: .NET обфускаторы - счастливые истории
От: lozzy  
Дата: 01.02.06 08:57
Оценка:
Здравствуйте, Harley_D, Вы писали:

Взгляд пользователя со стороны:

H_D>Советую обратиться к одному из давнейших и хорошо себя зарекомендовавших

H_D>производителей — 9Rays.net и их продукту Spices.Net(кстати он выиграли в
H_D>прошлом году Peoples Choice Award от MS-вского MSD2D.com отобрав его у
H_D>remotesoft.com).
Ну на самом деле глюки там есть, но фиксы на эти глюки выпускаются весьма оперативно Я как-то написал кривой код, который отказался обфускатиться спайсями — сделали фикс на следующий день и вроде как добавили мой "способ" в репозиторий примеров "как обмануть декомпайлеры"

>> — control flow обфускация

H_D>Это на самом деле один из самых слабых интсрументов защиты, т.к хороший
H_D>декомпилятор шаблоны control flow obfuscation распознает на раз. Не стоит
H_D>обманываться на этот счет.
H_D>Нет.
Ну не настолько слабо, но реализовать их сложно, согласен.

H_D>Есть. Несколько видов. В том числе защита от Spices.Decompiler

Защита от спайсовского декомпилера мало кому интересна

H_D>Есть. Например такая фича как кросс-обфускация.

Да, это есть.

H_D>К тому же к обфускатору прилагается немалый набор интсрументов для анализа сборок.

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

H_D>В компании 9rays руский саппорт, можно сразу писать на support[at]9rays.net если есть вопросы.

H_D>Отвечают быстро, консультируют и проблемы решают оперативно.
Все верно. Только в субботу-воскресенье бывают протормозы и писать лучше ближе к вечеру Ночью дак вообще красота

H_D>Для СНГ — скидки до 50%.

Абсолютно верно. Иногда даже немного больше

В целом все весьма неплохо, если бы выбирал еще раз — выбрал бы то же самое. Интерфейс немного кривоват — сделан еще на старом dotNetMagic, но вроде как ведутся работы по переделке под красивый и юзабельный divelements. Не хватает только одной фичи — слить несколько сборок в одну. По какой-то причине не хочут, а жаль.
Re[2]: .NET обфускаторы - счастливые истории
От: Аноним  
Дата: 01.02.06 10:03
Оценка:
Здравствуйте, Harley_D, Вы писали:

HD>Советую обратиться к одному из давнейших и хорошо себя зарекомендовавших

HD>производителей — 9Rays.net и их продукту Spices.Net(кстати он выиграли в
Знаем, знаем, но смотрел пару месяцев назад, но до продукта так дело и не дошло, меня просто убил их сайт.

HD>есть и криптование, есть и просто скрытие строк

что значит сокрытие

HD>Это на самом деле один из самых слабых интсрументов защиты, т.к хороший декомпилятор шаблоны control flow obfuscation распознает на раз. Не стоит обманываться на этот счет.

Как это ему удается?

HD>Есть. Например такая фича как кросс-обфускация.

Что это такое?

HD>Отвечают быстро, консультируют и проблемы решают оперативно.

А саппорт, обновления платные или нет?
Re[3]: .NET обфускаторы - счастливые истории
От: Аноним  
Дата: 01.02.06 10:10
Оценка:
Здравствуйте, lozzy, Вы писали:

Ну, а что же ты не колешся, что 9Лучей пользуеш?
Как впечатления от работы.
Re[4]: .NET обфускаторы - счастливые истории
От: Аноним  
Дата: 01.02.06 10:12
Оценка:
Здравствуйте, Harley_D, Вы писали:

А ты в реальной работе используеш 9Лучей обфускатор, или просто хвалиш ?
Re[4]: .NET обфускаторы - счастливые истории
От: lozzy  
Дата: 01.02.06 10:54
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Ну, а что же ты не колешся, что 9Лучей пользуеш?

А>Как впечатления от работы.

Да я не скрываю вообщем-то Много раз об этом писал. Честно говоря, пока что прожект, под который я тогда набирал кучу софта — застоллился. Т.е. я все эти тулзы юзал некоторое время назад, но до реального продукта дело _пока_ не дошло, хотя надеюсь, что дойдет в ближайшие пару месяцев. Другой продукт обфускатить не надо — там все в сорцах. Ну и кастом ворк — он тоже не обфускатится.
Re[4]: .NET обфускаторы - счастливые истории
От: lozzy  
Дата: 01.02.06 11:00
Оценка:
Здравствуйте, Аноним, Вы писали:

А>Ну, а что же ты не колешся, что 9Лучей пользуеш?

А>Как впечатления от работы.

Да, собственно, впечатления от работы ммм... скажем так, могло бы быть лучше. И делается к лучшему. Пожелания пользователей не улетают в /dev/null.

Сходу не получилось разобраться, как же собственно сделать настройки проекта, к примеру. Пришлось обращаться в саппорт и читать хелпы — там все было вроде как, но я это узнал уже после Я текущую версию не смотрел, но версия полутора-двухмесячной давности все еще была на dotNetMagic-е. Выглядит весьма некузяво, но вполне себе работает. Саппорт, как я уже говорил, весьма вменяем.

Если интересно еще чего-то — спрашивай.
Re[2]: .NET обфускаторы - счастливые истории
От: Аноним  
Дата: 01.02.06 11:08
Оценка:
Здравствуйте, Harley_D, Вы писали:

H_D>Советую обратиться к одному из давнейших и хорошо себя зарекомендовавших

H_D>производителей — 9Rays.net и их продукту Spices.Net(кстати он выиграли в
H_D>прошлом году Peoples Choice Award от MS-вского MSD2D.com отобрав его у
H_D>remotesoft.com).

Кстати, объясните чайнику — Рихтер пишет что framework позволяет-таки компилять программу не в managed-код а получать на выходе код компилированный под процессор (только как прикрутить это к VS2003 я не нашел).

Если его использовать, то получается что обфускатором в принципе можно не пользоваться?

Просто у меня тоже стоит задача защитить trial-версию программы под Net, пока наилучшим решением видится вынесение критично-функционального кода в обычную DLL и далее её паковка чем-то вроде ExeCryptor-а. Хотя с точки зрения красоты кода и структуры, это конечно не лучший метод...
Re[3]: .NET обфускаторы - счастливые истории
От: Harley_D Россия www.digicreatures.com
Дата: 01.02.06 11:08
Оценка:
>>> — control flow обфускация
> H_D>Это на самом деле один из самых слабых интсрументов защиты, т.к
> хороший
> H_D>декомпилятор шаблоны control flow obfuscation распознает на раз. Не
> стоит
> H_D>обманываться на этот счет.
> H_D>Нет.
> Ну не настолько слабо, но реализовать их сложно, согласен.

Реализовать control flow obfuscation нетрудно — это все базируется на
шаблонах — обнаружен for — значит вот это, обнаружен while — значит вот это.
А до if-ов уже никому дела нет, и control-flow который реализован на
remotesoft — даже не обнаруживается, а убирается декмопилятором в процессе
оптимизации. Об этом уже не раз говорилось, что эта фича взята из
java-obfuscator-ов, но она там работает, т.к. некому мощных декомпиляторов
на них натравить. А в дотнете — как минимум 3 мощных декомпилера есть.

> H_D>Есть. Несколько видов. В том числе защита от Spices.Decompiler

> Защита от спайсовского декомпилера мало кому интересна

Если следовать правилу — лучше перебдеть, чем недобдеть — то может быть
интересна.
Жалко нет статистики количества юзеров декомпиляторов.

> H_D>К тому же к обфускатору прилагается немалый набор интсрументов для

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

Эта беда у всех. Но с ними можно работать, я свои 5- копеек тоже вносил. Ты
еще не знаешь что такое саппорт xenocode — там не только тебе навстречку не
пойдут а еще ответят через неделю. Типа "спасибо за письмо, оно отправлено
куда нужно и вам ответят. Нам было это важно".
Что важно, где ответ, непонятно. Мне кажется у них бизнес построен по
заказу — как у немцев(lesser чего-то там) — наняли программиста, он написал
обфускатор. Начали продавать, а программист ищет следующую работу (в инете
натолкнулся с года два назад на его резюме, некий Абрамов уже не помню).
Остался голый маркетинг. Ну а кто баги будет править, новые версии
выпускать?

> H_D>В компании 9rays руский саппорт, можно сразу писать на

> support[at]9rays.net если есть вопросы.
> H_D>Отвечают быстро, консультируют и проблемы решают оперативно.
> Все верно. Только в субботу-воскресенье бывают протормозы и писать лучше
> ближе к вечеру Ночью дак вообще красота



> В целом все весьма неплохо, если бы выбирал еще раз — выбрал бы то же

> самое. Интерфейс немного кривоват — сделан еще на старом dotNetMagic, но
> вроде как ведутся работы по переделке под красивый и юзабельный
> divelements.
Ну вот я попинал с месяц по поводу паттернов исключения/включения по маске
членов сборки — сделали. В общем правильно — если красивого решения нет,
лучше малость подождать. Вот сейчас красивое решение предложили — не
нарадуюсь.
Мне по новой версии уже уши прожужжали — ждемс. Говорят что февраль —
последний срок, отступать дальше некуда.
Мне вот это нравится что есть в саппорте интерактивность — к тебе
прислушиваются, какой-то wishes list присутсвует и пополняется.

>Не хватает только одной фичи — слить несколько сборок в одну. По какой-то

>причине не хочут, а жаль.
В чем проблема — assembly linker фришный от MS валяется давно в инете.
--
Best regards, Harley
Posted via RSDN NNTP Server 2.0
Best Regards,
Harley
Re[3]: .NET обфускаторы - счастливые истории
От: Harley_D Россия www.digicreatures.com
Дата: 01.02.06 11:19
Оценка:
> HD>Советую обратиться к одному из давнейших и хорошо себя
зарекомендовавших
> HD>производителей — 9Rays.net и их продукту Spices.Net(кстати он выиграли
> в
> Знаем, знаем, но смотрел пару месяцев назад, но до продукта так дело и не
> дошло, меня просто убил их сайт.

Сайт как сайт, чему там убивать. Типа под officeXP.

> HD>есть и криптование, есть и просто скрытие строк

> что значит сокрытие

это когда строка в коде заменяется на функцию. а при криптовке еще эта
строка шифруется.

> HD>Это на самом деле один из самых слабых интсрументов защиты, т.к хороший

> декомпилятор шаблоны control flow obfuscation распознает на раз. Не стоит
> обманываться на этот счет.
> Как это ему удается?

Ну как распознать кусок il-code? декомпилатор только этим и занимается что
опознает куски ilcode превращая его в конструкции. а controlflow — это
контсрукция над конструкцией. Да об это уже писали где-то. получается что в
control flow выставляется два jumpa — сначал функция прыгает на него, потом
обратно к исполнению, вот и весь controlflow. я конечно утрирую, но если
control flow obfuscation будет сложнее — это будет влиять на application
performance. В общем в том анализе-статье были примерчики и это все выглядит
смешно.

> HD>Есть. Например такая фича как кросс-обфускация.

> Что это такое?

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

> HD>Отвечают быстро, консультируют и проблемы решают оперативно.

> А саппорт, обновления платные или нет?

Официально год, но я обновляю уже почти два. Я думаю на россиян "закрывают
глаза", а может — потому что полезный юзер .

--
Best regards, Harley
Posted via RSDN NNTP Server 2.0
Best Regards,
Harley
Re[4]: .NET обфускаторы - счастливые истории
От: lozzy  
Дата: 01.02.06 11:41
Оценка:
Здравствуйте, Harley_D, Вы писали:

>> Ну не настолько слабо, но реализовать их сложно, согласен.

H_D>Реализовать control flow obfuscation нетрудно — это все базируется на
H_D>шаблонах — обнаружен for — значит вот это, обнаружен while — значит вот это.
А слабо было бы интересно написать мутирующий control-flow? Ну типа как вирусняфки

H_D>еще не знаешь что такое саппорт xenocode — там не только тебе навстречку не

H_D>пойдут а еще ответят через неделю. Типа "спасибо за письмо, оно отправлено
H_D>куда нужно и вам ответят. Нам было это важно".
А что ты хотел — это же выходцы из МС контору основали И фича с платным саппортом — оттуда же...

H_D>Ну вот я попинал с месяц по поводу паттернов исключения/включения по маске

H_D>членов сборки — сделали. В общем правильно — если красивого решения нет,
H_D>лучше малость подождать. Вот сейчас красивое решение предложили — не
H_D>нарадуюсь.
Угу, есть такое.

H_D>Мне вот это нравится что есть в саппорте интерактивность — к тебе

H_D>прислушиваются, какой-то wishes list присутсвует и пополняется.
+1.

>>Не хватает только одной фичи — слить несколько сборок в одну. По какой-то

>>причине не хочут, а жаль.
H_D>В чем проблема — assembly linker фришный от MS валяется давно в инете.
А он весьма глюкав, этот ILMerge, как оказалось. К тому же сейчас он работает под ФВ 2.0, а мне лень его качать
Re[5]: .NET обфускаторы - счастливые истории
От: Harley_D Россия www.digicreatures.com
Дата: 02.02.06 04:49
Оценка:
>
> А ты в реальной работе используеш 9Лучей обфускатор, или просто хвалиш
> ?

Ниже я уже написал — года эдак два. Дело в том что меня достаточно
просветили эти ребята по поводу некоторых заблуждений и дали несколько
полезных советов. Без ложной скромности скажу что советы были даже не
ценными а бесценными. Когда есть понимание как это все делается, понятно как
эффективно защищать продукт.

--
Best regards, Harley
Posted via RSDN NNTP Server 2.0
Best Regards,
Harley
Re[3]: .NET обфускаторы - счастливые истории
От: Harley_D Россия www.digicreatures.com
Дата: 02.02.06 05:00
Оценка:
>
> Кстати, объясните чайнику — Рихтер пишет что framework позволяет-таки
> компилять программу не в managed-код а получать на выходе код
> компилированный под процессор (только как прикрутить это к VS2003 я не
> нашел).
>
> Если его использовать, то получается что обфускатором в принципе можно не
> пользоваться?

Все пишут об этом но никто не продемонстрировал. Этот баян с первой версии
дотнета — можно дескать ngen-ом получить нэтивную сборку.
Если по умному дебажить сборку (например обращение к методу во внешней
сборке а сборку эту убрать) то можно заметить что методы компилятся джитером
динамически. Память(и обьекты) выделяется и освобождается тоже своеобразно —
примчиками COM тут воспользоваться не получится. Я надеялся что 2-я версия
будет чего-то такое содержать для нэтива но похоже MS не торопится никуда
или проблемы какие-то не решены.

> Просто у меня тоже стоит задача защитить trial-версию программы под Net,

> пока наилучшим решением видится вынесение критично-функционального кода в
> обычную DLL и далее её паковка чем-то вроде ExeCryptor-а. Хотя с точки
> зрения красоты кода и структуры, это конечно не лучший метод...

есть способ генерирования динамической сборки in-memory при помощи
reflection и ее использование. я пробовал — уж больно трудозатратный, но там
дествительно трудно вынуть что-то.
--
Best regards, Harley
Posted via RSDN NNTP Server 2.0
Best Regards,
Harley
Re[4]: .NET обфускаторы - счастливые истории
От: retalik www.airbandits.com/
Дата: 02.02.06 06:48
Оценка:
Здравствуйте, Harley_D, Вы писали:

H_D>есть способ генерирования динамической сборки in-memory при помощи

H_D>reflection и ее использование. я пробовал — уж больно трудозатратный, но там
H_D>дествительно трудно вынуть что-то.

А она точно получается in-memory, а не в %Temp%/jdlskgd.dll ? Например, "ин-мемори" компиляция в дотнете делается именно сливанием исходников на диск и вызовом csc.exe.
Успехов,
Виталий.
Re[5]: .NET обфускаторы - счастливые истории
От: lozzy  
Дата: 02.02.06 07:47
Оценка:
Здравствуйте, retalik, Вы писали:

R>Здравствуйте, Harley_D, Вы писали:


H_D>>есть способ генерирования динамической сборки in-memory при помощи

H_D>>reflection и ее использование. я пробовал — уж больно трудозатратный, но там
H_D>>дествительно трудно вынуть что-то.

R>А она точно получается in-memory, а не в %Temp%/jdlskgd.dll ? Например, "ин-мемори" компиляция в дотнете делается именно сливанием исходников на диск и вызовом csc.exe.


True "in memory" — это миф. Даже если ты захочешь грузануть сборку из стрима, например после дешифрации закриптованного кода рег. ключом, то все равно сборка ляжет на диск и после этого грузанется. Видимо это связано со сложностями распознавания пермишшенов. Но бесит безумно.
Re[5]: .NET обфускаторы - счастливые истории
От: Harley_D Россия www.digicreatures.com
Дата: 02.02.06 15:24
Оценка:
>
> H_D>есть способ генерирования динамической сборки in-memory при помощи
> H_D>reflection и ее использование. я пробовал — уж больно трудозатратный,
> но там
> H_D>дествительно трудно вынуть что-то.
>
> А она точно получается in-memory, а не в %Temp%/jdlskgd.dll ? Например,
> "ин-мемори" компиляция в дотнете делается именно сливанием исходников на
> диск и вызовом csc.exe.

AssemblyBuilder assemblyBuilder = domain.DefineDynamicAssembly(assemblyName,
AssemblyBuilderAccess.Run);
[AssemblyBuilderAccess.Run — Represents that the dynamic assembly can be
executed, but not saved]

Пробовал таким способом и проверял Assembly.Location — нормально — null. Но
там есть такая оговорка, что Location может быть null если сборка загружена
как Assembly.Load(byte[]) что может означать и то что она реально in-memory
загружена, а может — что был использован Assembly.Load(byte[]) для
загрузки из файла. В temp ничего не появлялось, но у дотнета еще и своих
приватных стораджей хватает.
Поэтому на 100% точно сказать что не из временного файла невозможно, это
надо вешать filewatcher на весь диск чтобы отследить.
вот такие jdlskgd.dll появляются рпри компиле xml-сериалайзеров и regex-ов,
а там точно опция AssemblyBuilderAccess.RunAndSave т.к они реюзабельны за
период жизни одной сессии приложения/домена приложения
--
Best regards, Harley
Posted via RSDN NNTP Server 2.0
Best Regards,
Harley
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.