2008-10-28 3 views
5

Я не совсем понимаю, как работает код Silverlight в браузере. Собираются ли сборки на клиентскую машину? Есть ли вероятность декомпиляции кода с помощью Reflector или какого-то подобного инструмента? Если да, то какие варианты нужно защищать код? Ученые. Net obfuscators работают с Silverlight?Требуется ли защита кода Silverlight?

ответ

5

Для просмотра приложения Silverlight клиент загружает файл .xap, содержащий DLL и одну конфигурацию xml и необязательные ресурсы. Dll содержит скомпилированный код C#, который выполняется в среде выполнения Silverlight на клиентской машине. Время выполнения Silverlight в основном является подмножеством полного времени выполнения .net. Таким образом, пользователь получает код в dll, а затем может использовать инструменты для получения исходного исходного кода. Поэтому самое большее, что вы можете сделать, это обфускация. Все еще для очень критического кода, который не должен быть вариантом. Вы можете использовать какой-либо другой способ (WCF или другие веб-сервисы, чтобы скрыть часть вашего кода), если он кричит о вашей необходимости.

6

Всякий раз, когда вы находитесь в веб-браузере, все клиентские коды загружаются на компьютер и могут быть проверены пользователем. Это касается Javascript, Flash и Silverlight.

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

1

Ввод прагмы -Нет кеша - предотвратит хранение .xap на машине, вместо этого он будет передаваться плагином Silverlight. Без прагмы файл .xap хранится в файлах temp internet.

Ввод приложения на странице по протоколу HTTPS будет дополнительно защитить получения конкурсного .xap

Если возможно требуется проверка подлинности для просмотра веб-страниц/XAP-файл (благодаря Joel)

+1

Хакер все еще может загрузить .xap вручную, поскольку веб-страница имеет чтобы указать, где находится ресурс. – 2008-10-28 18:59:14

2

если вы хотите Посмотрите, насколько просто посмотреть код в приложении silverlight, просто запустите SilverlightSpy link text от FirstFloor. Пока у вас установлено .NET Reflector, вы сможете видеть (при взаимодействии с приложением) весь исходный код, включая файлы xaml.

Поскольку код действительно загружается клиенту (и даже trying to prevent it with pragma no-cache не будет работать, так как он может ударить по URL-адресу), вам необходимо защитить свой код, сохранив на сервере важную логику.

2

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

1

Эмра,

Да запутывания можно для применения SL.

0

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

Смежные вопросы