Как упаковываются и защищаются приложения HTML5/JavaScript в стиле WinRT Metro

Мне просто интересно, как приложения HTML5/JavaScript Metro будут упакованы и защищены от реверсирования.

Для упаковки я ожидаю какой-то подписанный zip/jar (без упоминания о .appx в MSDN), но для защиты, кроме тяжелой обфускации для JavaScript, я не могу представить другого способа (может быть, новый предварительно скомпилированный/двоичный формат?)

Если защита плохая, написание приложений HTML5/JavaScript не будет слишком процветать, ИМХО.


person devstonez    schedule 16.09.2011    source источник


Ответы (2)


Вместо простой криптообфускации другой вариант — реализовать проприетарные алгоритмы/логику внутри стороннего компонента WinRT. Таким образом, вы можете быть уверены, что ваш проприетарный алгоритм защищен благодаря компиляции. Конечно, если вы решите реализовать в .NET, у кого-то есть возможность перепроектировать его.

Идея состоит в том, чтобы написать свой клиент на JS/HTML5, по-видимому, это было бы несколько просто, в котором у вас нет огромного количества проприетарной информации. Затем вы пишете свой компонент WinRT на C#/C++, который содержит ваш проприетарный «Процесс производства колбасы». Вы вызываете этот компонент WinRT, чтобы создать некую «колбасу» с некоторыми входными данными. Такой подход означает, что ваш секретный рецепт колбасы безопасен, но при этом предоставляет вам простоту платформы.

Это приемлемое решение?

person Zac Brown MSFT    schedule 16.09.2011
comment
Так будет ли это COM-библиотека с динамически подключаемой (!) сосисками? Или мне не хватает какой-то новой привязки между JS и библиотекой C++? - person Bob77; 20.09.2011
comment
Я не уверен, что понимаю то, что вы просите. Подобно тому, как среда выполнения Windows предоставляет библиотеки вместе с самой ОС, вы также можете писать свои собственные библиотеки и развертывать их в своем приложении. Компонент WinRT может быть написан на C++ или C#. Это будет развернуто вместе с приложением и может вызываться естественным образом, как и сторонние API-интерфейсы среды выполнения Windows. - person Zac Brown MSFT; 21.09.2011
comment
Извините, запутался в метафоре. Я просто пытался выяснить, будет ли JS создавать COM-объекты и использовать их методы и свойства или использовать что-то новое, что позволяет коду JS вызывать обычные библиотеки, отличные от COM. - person Bob77; 22.09.2011
comment
Что ж, среда выполнения Windows похожа на COM, и поэтому то, что я предлагаю, позволит JS вызывать собственный или управляемый двоичный код (C++ или C#), но объект будет выглядеть так же, как объект JS с методами, свойствами и т. д. Вы не сможете взять любую старую DLL, вставить ее туда и упаковать для использования с JS. Он должен соответствовать требованиям, изложенным для создания компонентов среды выполнения Windows, которые включают определения интерфейса, реализацию классов среды выполнения, а также наличие метаданных, которые JS может использовать для понимания объекта. - person Zac Brown MSFT; 22.09.2011
comment
Спасибо, это имеет большое значение для освещения темы. - person Bob77; 22.09.2011
comment
Это приятно слышать, пожалуйста, откройте еще один вопрос, если вам нужно больше информации по этому вопросу, и я подробно прокомментирую вместе с другими сотрудниками MSFT. - person Zac Brown MSFT; 22.09.2011
comment
@ZacBrownMSFT У меня нет проблем с C++/C#, вопрос касается HTML5/JavaScript о том, как они будут защищены от реверсирования (фактически просмотр кода) - person devstonez; 26.09.2011

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

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

здесь есть довольно подробное руководство по безопасности, в котором упоминаются «ограждения» и т. д., что звучит довольно интересно.

http://www.microsoft.com/download/en/details.aspx?id=27408

грабить ганли

person Rob Ganly    schedule 16.09.2011
comment
Но подумайте о приложениях Metro, распространяемых вне Windows Store (или локально/автономно)... Как код будет проверяться и защищаться? - person devstonez; 16.09.2011
comment
@devstonez Пока нет истории для приложений Metro вне Магазина Windows. - person Pavel Minaev; 16.09.2011
comment
@pavel Если вы просматриваете сеансы BUILD, вы можете увидеть, что приложения могут быть упакованы для локального использования, что приводит к .appx, .cer и bat для регистрации сертификата. - person devstonez; 19.09.2011