Silverlight и обфускация - PullRequest
       11

Silverlight и обфускация

10 голосов
/ 16 января 2009

Я довольно новичок в Silverlight, и мне это действительно нравится. У меня есть вопрос о том, как он выполняет код на стороне клиента, хотя ..

Скажем, например, у меня есть сайт, который рассчитывает определенную сумму на основе введенных пользователем сумм. Это, конечно, я хотел бы сделать на стороне клиента. Суть в том, что формула, используемая для расчета, является частной и коммерческой тайной. Если я приведу эту формулу на стороне клиента, используя SL, это будет безопасно? Или это может быть отражено?

Ответы [ 9 ]

14 голосов
/ 16 января 2009

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

Кроме того, когда у вас есть вычисления на стороне клиента, вы должны всегда проверять результаты на сервере, а не просто предполагать, что они правильные. Предположим, что клиент скомпрометирован.

3 голосов
/ 16 февраля 2009

Silverlight отправляет файл XAP клиенту. XAP-файл - это просто zip-файл, содержащий ваши сборки .NET, которые затем можно распаковать и отразить. Компания, в которой я работаю (PreEmptive Solutions), продает Dotfuscator, который может запутывать сборки Silverlight. Прямо сейчас вы должны разархивировать xap, обфусцировать и снова сжать их, но мы работаем над улучшением рабочего процесса.

2 голосов
/ 28 февраля 2009

Просто примечание для пользователей Dotfuscator: если вы создаете проект Dotfuscator, вы должны использовать свойство «Путь загрузки сборок, определенный пользователем» на вкладке «Настройки», чтобы найти библиотеки Silverlight. Вам нужны следующие пути:

  1. \ Program Files \ Microsoft SDKs \ Silverlight \ v2.0 \ Справочные сборки
  2. \ Program Files \ Microsoft SDK \ Silverlight \ v2.0 \ Libraries \ Client

    или в 64-разрядных операционных системах:

  3. \ Program Files (x86) \ Microsoft SDK \ Silverlight \ v2.0 \ Справочные сборки

  4. \ Program Files (x86) \ Microsoft SDK \ Silverlight \ v2.0 \ Libraries \ Client
1 голос
/ 25 июня 2010

Еще один крутой инструмент - CodeFort. Имеется бесплатная версия. Смотрите это в действии на http://www.codefort.org

CodeFort .NET и Silverlight Obfuscator

CodeFort - это передовой инструмент для маскировки и защиты приложений Microsoft .NET и Silverlight.

Обфускатор BAML и XAML - запутывает 100% вашего кода

CodeFort - это первый инструмент, способный скрывать идентификаторы внутри кода XAML и BAML, который используется в приложениях Silverlight и WPF. Это позволяет впервые замаскировать 100% кода.

Мощная защита от злоумышленников

Сочетание обфускации XAML / BAML с мощными функциями защиты, такими как референсное скремблирование и защита от взлома CodeFort, - это современный инструмент для запутывания.

1 голос
/ 05 ноября 2009

Хотя запутывание не является надежным методом, для кого-то намного труднее увидеть ваш код. Нужно действительно перепрыгнуть через извилистые обручи, чтобы добраться до вашего окончательного кода, если слои обфускации хороши. Crypto Obfuscator - это один обфускатор, который поддерживает запутывание сборок Silverlight.

1 голос
/ 03 ноября 2009

IntelliLock и .NET Reactor (мой любимый инструмент) хорошо запутывают мои сборки.

1 голос
/ 28 февраля 2009

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

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

1 голос
/ 28 февраля 2009

Я должен ПОЛНОСТЬЮ согласиться с Маркусом. Даже сложная сборка .NET по-прежнему легко читается хорошим программистом.

Моим решением будет сервис WCF для расчета. Просто вставьте туда все данные и дайте ответ. Если ваша формула совершенно секретна и неочевидна (например, x + b y + c * z), то даже если кто-то получит доступ к сервису, ему будет трудно получить его. *

0 голосов
/ 03 апреля 2009

Есть много компаний, которые поддерживают запутывание приложений Silverlight 2.0. DeepSea Obfuscator обладает прекрасным интегрированным интерфейсом, Dotfuscator также работает, и вскоре бесплатный Eazfuscator также будет его поддерживать.

...