ßàØÃÂâÕàë áÕÓÞÔÃÂï - Xakep Online
ßàØÃÂâÕàë áÕÓÞÔÃÂï - Xakep Online
ßàØÃÂâÕàë áÕÓÞÔÃÂï - Xakep Online
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
ХАКЕР 04 /171/ 2013 Мобильные окна: проверка на прочность 71ИзолированнаякамераИзолированноехранилищеПриложение 1ИзолированнаякамераПриложение 1 Приложение 2ИзолированноехранилищеПриложение 2APP-TO-APP ВЗАИМОДЕЙСТВИЕ В WP8В Windows Phone 8 Microsoft все-таки добавила два способа для взаимодействияприложений между собой: файловые и URI ассоциации. Теперьлюбое приложение может объявить, что оно способно открывать файлыопределенного типа или обрабатывать определенные URI (кроме зарезервированныхсамой ОС). Зарезервированные типы файлов, например,XAP, msi, bat, cmd, py, JAR. Зарезервированные URI: HTTP, tel, wallet, LDAP,rlogin, Telnet. Если затем другое приложение попытается открыть файлытакого типа или такие URI, первое приложение будет запущено.И здесь появляется новый вектор атаки на приложение в WP8, которогоне было в WP7. Теперь при некорректной или недостаточной настройкеобработки параметров, передающихся через URI, можно потенциальновыполнять нелегитимные действия.Концепция «песочницы» в WP 7/8доров. Наиболее интересная из них для Windows Phone 7 — этовозможность напрямую обращаться к системным библиотекам(interop services). Однако обычным разработчикам запрещеноиспользовать такие возможности, приложение просто не попадетв магазин приложений.Следующий принцип модели безопасности WindowsPhone — это принцип песочницы (Sandboxing). Здесь действуетнесколько правил. Приложения не могут взаимодействоватьмежду собой. Ничего похожего на intent-сообщения,как в Android, нет. Структура файловой системы скрыта от приложений,все операции ввода-вывода ограничены изолированнымхранилищем (Isolated storage). У каждого приложенияесть собственное изолированное хранилище, при этом доступк нему ограничен только этим приложением.Изолированное хранилище (Isolated storage) позволяет хранитьданные тремя способами: набор ключ — значение (например,для сохранения настроек приложения), обычные файлыи база данных (SQL Server CE). Это хранилище у каждого приложениясвое, и никто, кроме самого приложения, туда доступне имеет.Теперь перейдем ближе к приложениям. Microsoft такжепредпринимает шаги для того, чтобы распространение приложенийсделать более безопасным. Все приложения имеютцифровую подпись (Applications signing). Все сборки подписываются,в том числе системные, приложения с неподписаннымисборками даже не могут быть установлены на устройство.И с августа 2012 года Microsoft изменила формат файла приложенийтаким образом, что теперь его содержимое не можетбыть распаковано. Если раньше XAP-файл был всего лишь ZIP-WARNINGВнимание! Информацияпредставленаисключительно с цельюознакомления! Ни авторы,ни редакция за твоидействия ответственностине несут!архивом и легко распаковывался после изменения расширения,то сейчас формат XAP-файла неизвестен.ВСЕ О ПРИЛОЖЕНИЯХПерейдем непосредственно к приложениям и начнем с того,как они работают и на чем пишутся. Windows Phone 7 основанана Windows CE, а все WP7-приложения работают на модифицированнойверсии .NET Compact Framework. Это специальная версия.NET-фреймворка, в которую Microsoft добавила Silverlight UIи Silverlight API. В WP7 разработчики могли писать приложениятолько с использованием управляемого кода. Как упоминалосьранее, есть и возможность интеропа, позволяющая выполнятьнативный код, однако Microsoft не разрешает использовать ееобычным разработчикам. В Windows Phone Store всего около 50приложений, написанных с использованием нативного кода, —их разработчики имеют специальное разрешение от Microsoft.В Windows Phone 8 есть значительные отличия в плане разработкиприложений. Во-первых, сама операционная системаимеет общее ядро с Windows 8 — тот же набор базовых компонентов,что и десктопная винда. Во-вторых, приложения работаютна «взрослой» версии .NET-фреймворка под названиемCoreCLR. Это та же самая версия CLR, на которой работаютобычные Silverlight-приложения.В Windows Phone 8 сохранился весь старый API, так чтофункции Windows Phone 7 полностью совместимы с новой платформойи продолжают работать. Более того, Microsoft добавиламножество новых фич для разработчиков приложений. Ониподдерживаются новым API самого .NET-фреймворка, а такжев WinPhoneRT и DirectX API. WinPhoneRT является подмножествомWinRT — нового API для приложений, который Microsoftпозиционирует как замену старому Win32 API.Файловая системаИзолированное хранилищеХранилище настроекФайловое хранилищеФайлыПапкиБазаданныхКонцепция «камер» в WP7Концепция «комнат» в WP8Изолированное хранилище в WP 7/8