Unity universal windows platform build support что это

Обновлено: 07.07.2024

UWP (Universal Windows Platform) представляет собой унифицированную платформу для создания и запуска приложений в Windows 10 и Windows 10 Mobile.

UWP стала результатом эволюции более ранних технологий. Так, с выходом Windows 8 была внедрена новая архитектурная платформа для приложений - Windows Runtime (WinRT), которая позволяла запускать приложения в так называемом режиме Modern (Metro) на десктопах, планшетах. Затем с выходом Windows 8.1 и Windows Phone 8.1 эта технология получила развитие - появились "универсальные приложения", которые можно было запускать сразу Windows 8.1 и WP8.1. И в июле 2015 года официально вышла новая ОС Windows 10. Она использует платформу UWP, которая представляет собой развитие Windows Runtime.

Как подсказывает название платформы, она является универсальной - универсальной для всех устройств экосистемы Windows 10. А это обычные дестопы, планшеты, мобильные устройства, устройства IoT (интернет вещей), Xbox, устройства Surface Hub. И приложение UWP может одинаково работать на всех этих платформах, если на них установлена Windows 10.

Почему UWP?

Программирование под UWP несет ряд преимуществ:

Широта распространения . На текущий момент (апрель 2017) Windows 10 установлена уже более чем на 400 миллионах устройств. На десктопах Windows 10 уже опередила Windows 8/8.1.

Поддержка широкого круга устройств . Десктопы, планшеты, смартфоны, большие планшеты Surface Hub, различные IoT-устройства, в перспективе устройства виртуальной реальности HoloLens - круг устрйоств, на которых может работать Windows 10 действительно широк.

Магазин приложений и удобство распространения . Windows Store представляет собой прекрасное место для распространения UWP-приложений, как платных, так и бесплатных. Сами возможности платформы и магазина Windows Store позволяют использовать разные способы монетизации. Например, можно интегрировать в приложения блоки для показа рекламы через различные SDK. Можно распространять за определенную плату, причем оплату можно гибко настраивать. При необходимости можно встроить предоставление ознакомительной версии, после использования которой пользователь может решить, покупать приложение или нет. И также можно монетизировать по модели freemium, при которой приложение условно бесплатное, а отдельные услуги внутри приложения предоставляются за определенную плату. Причем все эти возможности монетизации обесечиваются встроенными инструментами SDK.

Богатые возможности платформы . UWP многое наследует от Windows Runtime из Windows 8.1 и в то же время предоставляет много новых функцональностей, как, более богатые возможности по интеграции с облаком, использование Cortana, системы уведомлений в Win10 и многое другое.

Что необходимо для разработки под UWP

Для программирования под UWP необходима ОС Windows 10. Все другие операционные системы, как Windows 8.1/8/7, не говоря уже о Windows XP, не подходят !

Также можно использовать версию VS 2015, а все остальные предыдущие версии Visual Studio - 2013, 2012, 2010 и т.д. с UWP не работают.

При установке Visual Studio 2017 в программе установщика необходимо отметить соответствующий пункт:

Установка Universal Windows Platform

Перед чем как начать создание приложений, убедитесь, что в центре обновления в Windows 10 установлена соответствующая опция для разработчиков:

Центр обновления Windows 10
Опции для разработчиков в центре обновления Windows 10

И имея Windows 10 и установленную Visual Studio 2017, можно приступать к разработке приложений.

Windows 10 предлагает много новых средств для разработчиков игр и для геймеров. С появлением Universal Windows Platform (UWP) разработчики могут ориентироваться на ПК, планшеты и мобильные устройства с Windows 10 (т. е. смартфоны), Xbox One и HoloLens, используя единую кодовую базу. Кроме того, произошло слияние различных Windows Store в один, и Microsoft сделала доступными Xbox Live Services на платформе Windows 10 наряду с приложением Xbox, которое резко увеличивает степень погружения геймера в игры на всех семействах устройств с Windows.

Раз уж все сложилось так удачно, мы обязаны написать об этом! Эта статья даст вам все необходимое для того, чтобы ваши Unity-игры отлично работали в Windows 10. Это не введение ни в Unity, ни в UWP-приложения. Мы предполагаем, что вы уже знакомы с ними, и вместо этого сосредоточимся на разъяснениях того, что изменилось с появлением Windows 10, и советах из серии «Вы должны это знать» по созданию впечатляющих «Универсальных Игр Windows» (Universal Windows Games, UWG). Мы будем делать это, используя практический подход, и проведем вас по нескольким изменениям, внесенным нами в игру-пример Chomp (рис. 1) для ее оптимизации под Windows 10.

Игра Chomp


Рис. 1. Игра Chomp

Chomp начала свою жизнь как игра, написанная с применением Unity для Windows 8.1. Как видно из рис. 1, это довольно простая лабиринтная игра, похожая на знаменитую Pac-Man. Этот пример создан в качестве пособия для разработчиков, демонстрирующего, как писать игры с использованием Unity, поэтому ее простота была ключевым условием. Но теперь, когда появилась Windows 10 и Unity стала поддерживать эту новую ОС, Chomp понадобилось обновить. Исходный код для Chomp см. по ссылке bit.ly/ChompUnity. Скачайте его и следуйте за нами.

Чтобы получить UWP-версию нашей игры, мы могли бы просто экспортировать игру, используя профиль Windows 10 в Unity, но это не дало бы нам приложение, оптимизированное под Windows 10. Она не обрабатывает выполнение в окне, полноэкранный режим, сенсорный ввод и т. д. Итак, давайте посмотрим, что мы сделали для эффективного переноса этой игры с Windows 8.1 на Windows 10.

Приступаем к работе (обязательные требования)

UWP-приложения (и UWG) требуют разработки и тестирования в Windows 10 с помощью Visual Studio 2015. В любой редакции Visual Studio 2015 есть все, что нужно для создания игр, — даже в бесплатном Visual Studio Community 2015!

Также вам понадобится Unity версии 5.2.1p2 или выше. Unity 5.2 теперь устанавливает Visual Studio Community 2015 и Visual Studio 2015 Tools for Unity (VSTU), так что на практике, чтобы приступить к работе, достаточно установить Unity и указать правильные параметры в процессе установки (рис. 2).

Установка Unity с правильными параметрами дает все, что нужно для начала работы


Рис. 2. Установка Unity с правильными параметрами дает все, что нужно для начала работы

Примечание Для разработчиков, использующих Mac, новой альтернативой является применение редактора Visual Studio Code совместно с проектами Unity. Более подробно об этом варианте см. по ссылке bit.ly/UnityVSCode.

Разработка под Windows 10

Разработка под Windows 10 следует точно тому же процессу, с которым вы уже знакомы. Но появился новый SDK для UWP-приложений под платформу Windows Store (рис. 3), который будет экспортировать игру как UWP-приложение.

Ориентация на Windows 10 в Unity


Рис. 3. Ориентация на Windows 10 в Unity

Ниже перечислены некоторые важные элементы, работающие «за кулисами» при экспорте для разработки под Windows 10 и UWP.

Новые шаблоны проектов

Процесс компиляции в Unity теперь генерирует проект Visual Studio 2015, совместимый с UWP. Как вы, вероятно, знаете, в этой новой системе проектов появились некоторые важные изменения.

  • Debug — полностью отладочный проект безо всяких оптимизаций;
  • Release — проект, компилируемый с оптимизациями, но включающий поддержку средства профилирования;
  • Master — конфигурация, в которой игра должна передавать в магазин, поскольку в ней нет отладочного кода, все оптимизации включены, а поддержка профилирования отсутствует.

Упомянутые выше отличия значимы в период выполнения, но новые шаблоны Unity делают эти изменения прозрачными для разработчика, поэтому давайте сосредоточимся на том, как подстроить и отшлифовать вашу игру под Windows 10.

Подстройка и шлифовка игры под Windows 10

Одна кодовая база для множества форм-факторов — ключевая особенность UWP, но, когда дело доходит до игр, все равно могут потребоваться некоторые оптимизации и адаптация для конкретных форм-факторов. Чаще всего это включает механизмы ввода (например, сенсорный, с клавиатуры, от мыши и геймпада), изменение размеров окна, оптимизация ресурсов и реализация интеграции платформенной функциональности (native integration) (например, использование активных плиток [live tiles], уведомлений или Cortana) для каждого конкретного форм-фактора. Мы исследуем, как обстоит с этим дело в UWG.

Окна Универсальные Windows-приложения теперь размещаются в окнах с изменяемым размером вместо выполнения в полноэкранном режиме, как это было в Windows 8 и 8.1, поэтому масштабирование окна теперь является одним из факторов, который вы должны учитывать в своих играх и приложениях. Большинство из этих отличий прозрачно для Unity-разработчика, потому что свойства Screen.height и Screen.width по-прежнему сообщают о доступном пространстве экрана в пикселях.

Windows 10 также включает новые API для входа в полноэкранный режим и выхода из него, и эти возможности предоставляются через Unity-класс Screen заданием свойства Screen.fullScreen. Рекомендуется реализовать стандартные клавиши-ускорители для входа в полноэкранный режим и выхода из него. Они широко варьируются у разных издателей, но наиболее распространенный ускоритель, который переключает между режимами, — клавиша F11 или комбинация Alt+Enter. В случае Chomp мы хотели дать игрокам возможность играть в полноэкранном режиме, поэтому реализовали клавишу-переключатель:

Наличие многооконного режима требует другого обязательного изменения в играх для Windows 10: вы должны обрабатывать смену фокуса ввода. На многооконном рабочем столе, если окно вашей игры вне фокуса ввода, вы должны ставить игру и ее музыкальное сопровождение на паузу, так как пользователь может взаимодействовать с другим окном. Unity абстрагирует это взаимодействие с помощью одинакового на всех платформах API: метода OnApplicationPause. Этот метод вызывается для всех активных MonoBehaviours, когда фокус ввода меняется. Мы обрабатываем это в Chomp, как показано на рис. 4.

Рис. 4. Игра ставится на паузу, когда фокус ввода меняется

Обратите внимание на асимметрию: когда игра теряет фокус ввода, игра и звук ставятся на паузу, а когда она получает фокус ввода, мы снимаем с паузы только звуковое сопровождение. Дело здесь вот в чем. Когда игра ставится на паузу, мы также показываем диалоговое окно паузы в самой игре, а когда фокус возвращается, игра ждет подтверждения от пользователя, что он действительно хочет возобновить игру. Этот диалог обрабатывает восстановление состояния игры из Pause обратно в Running.

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

Ввод В более ранних выпусках Unity была отличная поддержка ввода в Windows-игры, и с выходом Windows 10 она не изменилось. Ввод от мыши, с геймпада и сенсорный ввод остаются элегантно абстрагированными с помощью класса Input и диспетчера ввода (Input Manager) в Unity.

Самое важное, что нужно помнить в отношении ввода, — убедиться в том, что вы реализуете столько механизмов ввода, сколько имеет смысл в вашей игре. В случае Chomp мы хотим поддерживать клавиатуру, геймпад и сенсорный ввод. Не забывайте, что UWG могут выполняться на любом устройстве, поэтому обеспечьте игрокам максимальные удобства во вводе. Наиболее часто спрашивают, как распознавать, требуется ли показывать сенсорные элементы управления (вроде виртуального джойстика или панели для переключения направлений [D-pad]), когда игра запускается на сенсорном устройстве вроде смартфона.

Один из способов определить, надо ли показывать сенсорный джойстик, — выяснить, выполняется ли игра на смартфоне. Если да, тогда имело бы смысл отображать этот джойстик и включать его по умолчанию. Чтобы определить конкретную платформу, на которой выполняется игра (например, смартфон или Xbox), можно проверить, реализован ли соответствующий контракт. Именно так Chomp распознает, что она выполняется в Windows 10 Mobile:

Заметьте, что в этом коде мы используем препроцессор UNITY_WSA_10_0, чтобы определить, выполняется ли компиляция для Windows 10. Без этой проверки код не удалось бы скомпилировать в сборках, не предназначенных для Windows 10.

Рис. 5. Код, определяющий, используется ли сенсорный ввод

Теперь, реализовав эти два метода, можно обновить Chomp, чтобы эта игра делала обоснованный выбор, когда показывать джойстик. Если она выполняется на мобильном устройстве или если используется сенсорный режим взаимодействия, UseJoystick вернет true и мы покажем джойстик:

Закончив с поддержкой масштабируемого окна и обработкой ввода, мы переходим к использованию преимуществ новых «родных» Windows API для расширения функциональности нашей игры.

Если код, который вы хотите добавить, слишком велик для подстановки или если поведение требуется абстрагировать (между платформами), вы можете по-прежнему использовать плагины. Для Windows 10 группа Microsoft Developer Experience Games Evangelism (мы являемся ее членами) предлагает несколько новых плагинов с открытым исходным кодом, которые упростят вам интеграцию с Windows 10. Вы найдете эти плагины по ссылке bit.ly/Win10UnityPlugins. На сегодняшний день в открытом доступе находятся следующие плагины.

  • Store Плагин для покупок из приложения — все, что нужно для проведения транзакций в магазине Windows Store.
  • AzureMobile Плагин с поддержкой базовых CRUD-операций (Create, Read, Update, Delete) для Azure Storage.
  • Core Плагин, обеспечивающий интеграцию платформенной функциональности с базовыми средствами ОС, такими как активные плитки, локальные уведомления, оповещения (push notifications) и Cortana.
  • Ads Плагин, обертывающий новый Microsoft Ads SDK в Windows 10, который теперь поддерживает рекламные вставки в видео (video interstitials).

Ранее в Chomp не было механизма покупок из приложения, поэтому мы решили добавить его в игру, используя плагин Store. Так что Chomp поддерживает теперь покупку бустеров (boosters) и дополнительных лабиринтов (mazes).

Импортировав пакет, мы можем ссылаться на Store API из Chomp. Сначала мы вызываем Store.LoadListingInformation, предоставляя метод обратного вызова, который выполняется при завершении операции; тем самым мы получаем список всех элементов, доступных для покупки. Если вызов был успешным, мы перебираем возвращенные элементы ProductListing в цикле и используем их для заполнения цен в нашем UI (рис. 6).

Рис. 6. Перечисление элементов, доступных для покупки из приложения

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

Рис. 7. Покупка из приложения

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

Передача в магазин

Передача в Windows Store стала еще проще. Теперь вы можете передать либо один пакет, включающий все двоичные файлы, либо по одному пакету для каждой платформы/архитектуры.

Если вы хотите разделить свои пакеты или поддерживать игру только на определенных платформах, то можете вручную отредактировать файл package.appxmanifest и настроить элемент TargetDeviceFamily:

Три возможных семейства устройства перечислены ниже.

  • Windows.Universal Позволяет развертывать двоичные файлы на любом устройстве, аппаратное обеспечение которого отвечает вашим требованиям.
  • Windows.Mobile Применяется для двоичных файлов, отправляемых в Windows 10 Mobile SKU, а именно Windows Phone, хотя в будущем скорее всего появятся другие малые устройства (шесть дюймов и меньше), которые не являются телефонами и работают под управлением этой SKU, поэтому не полагайтесь на то, что это только смартфоны.
  • Windows.Desktop Следует использовать для игр, которые работают только на настольных компьютерах или планшетах.

Если вы ориентируетесь на мобильную или настольную платформу, но не на консоли и другие семейства Windows, то можете указать в манифесте два семейства устройств (подставьте вместо «x» и «y» нужные цифры):

Заметьте, что для каждого семейства устройств могут быть разные MinVersion и MaxVersion. Это станет удобно в будущем, когда Windows 10 Mobile начнет поставляться с более высоким номером версии, чем настольная Windows 10. Однако пока мы советуем оставить версии по умолчанию (10.0.10240.0).

Включение файлов базы данных символов программы


Рис. 8. Включение файлов базы данных символов программы

Наконец, когда вы передаете продукт в Windows Store через портал разработчика, убедитесь, что вы выбрали правильную аппаратную конфигурацию. Store теперь позволяет указывать аппаратные требования, такие как сенсорный ввод или клавиатура, чтобы ваша игра устанавливалась только на подходящие устройства (рис. 9).

Это лишь начало!

Visual Studio 2015 Tools for Unity

VSTU also includes a few shortcuts for more easily writing code for Unity. For example, if you right-click within a MonoBehaviour class, the context menu will have a new Implement MonoBehaviours entry, which lets you quickly inject a MonoBehaviour method signature into your class.

In that same context menu, there’s also a Quick MonoBehaviours entry, which performs a similar function but with a less-intrusive dialog where you can type the method name you’re searching for, and the signature is again injected. Both of these methods are accessible from shortcut key accelerators for even more rapid use (Ctrl+Shift+M and Ctrl+Shift+Q).

Beyond the editor enhancements, one of the best features when using VSTU is the streamlined debugger integration with the Unity Editor. When a Unity project is open in Visual Studio, you’ll automatically see an “Attach to Unity” button for debugging in the standard Debug toolbar. Figure A shows where this button is located. This button will automatically find the Unity Editor’s process and attach to it. From there you can seamlessly set breakpoints, analyze variable values and do most everything else you’d expect to do with Visual Studio. VSTU even has experimental support for breaking on exceptions. For even more details on VSTU 2.0 features, check out the blog post, “Visual Studio Tools for Unity 2.0,” at bit.ly/VSTUInfo.

Note: If you aren’t targeting Windows 10 and using Visual Studio 2013, there’s a downloadable package that brings all the goodness we described here to Visual Studio 2013 Community Edition users. You can download this extension at bit.ly/VSTU2013.

Выражаем благодарность за рецензирование статьи экспертам Microsoft Сандживу Двиведи (Sanjeev Dwivedi) и Адаму Тьюлиперу (Adam Tuliper).

Note: Universal Windows Platform only shows in the Platform list if you’re using Unity on a Windows computer.

Unity doesn’t support Windows Phone development.

Building UWP applications with Unity

The main workflow when building a game or application for UWP using Unity is as follows:

When you click Build in the Build Settings window:

Unity generates and exports a Visual Studio Project.

Open the generated Project’s .sln file in Visual Studio.

Use Visual Studio to build your final application.

When you click Build And Run, Unity builds an app executable that can run independently.

UWP Build Settings

Use these settings to configure how Unity builds your application.

To deploy over the Device Portal, you must enter the connection and authentication information in these additional fields:

Once enabled, Unity only rebuilds the scripts in your application, and leaves data files from a previously executed build intact. It significantly improves iteration times if you only change the code in your application.

Universal Windows Platform (UWP) build settings

Note: Universal Windows Platform only shows in the Platform list if you’re using Unity on a Windows computer.

Unity doesn’t support Windows Phone development.

Building UWP applications with Unity

The main workflow when building a game or application for UWP using Unity is as follows:

When you click Build in the Build Settings window:

Unity generates and exports a Visual Studio Project.

Open the generated Project’s .sln file in Visual Studio.

Use Visual Studio to build your final application.

When you click Build And Run, Unity builds an app executable that can run independently.

UWP Build Settings

Use these settings to configure how Unity builds your application.

To deploy over the Device Portal, you must enter the connection and authentication information in these additional fields:

Once enabled, Unity only rebuilds the scripts in your application, and leaves data files from a previously executed build intact. It significantly improves iteration times if you only change the code in your application.

Записки IT специалиста

Мечта об универсальных приложениях UWP мертва


У Microsoft была мечта о Windows 8, которая включала бы универсальные приложения Windows, распространяющиеся на телефоны, планшеты, ПК и даже консоли Xbox. План состоял в том, чтобы разработчики могли написать одно приложение для всех этих устройств, и оно волшебным образом работало бы везде. Эта мечта начала разваливаться после провала Windows Phone, с тех пор прошлом много времени, и похоже, что теперь все закончено.

Microsoft потратила годы на то, чтобы подтолкнуть разработчиков к созданию специальных приложений для универсальной платформы Windows (Universal Windows Platform, UWP), но сегодня она забила последний гвоздь в гроб UWP.


Компания наконец-то разрешила разработчикам добавлять полностью нативные игры Win32 в Microsoft Store, а это значит, что многие игры, публикуемые разработчиками в других популярных магазинах, таких как Steam, теперь не нужно перестраивать для UWP.


Фил Спенсер, глава игрового подразделения Microsoft

Это большой шаг вперед для магазина приложений Windows, учитывая, что игры являются одними из самых загружаемых программ из магазинов. Ранее разработчики были вынуждены публиковать игры для Windows 10 через универсальную платформу Windows, которая просто не имеет того уровня возможностей, которые привыкли видеть в Windows на протяжении многих лет.

Я слышал много историй, когда инженеры и разработчики Microsoft жаловались на то, что UWP накладывает ограничения на свои приложения, и сторонним разработчикам часто приходилось выбирать между созданием приложения UWP для Windows 10 или традиционным настольным приложением, которое будет работать в Windows 7, Windows 8 и Windows 10.


Джо Бельфиоре, вице-президент Microsoft и руководитель разработки Windows

Microsoft постоянно расширяла свое определение UWP, чтобы позволить разработчикам переупаковывать настольные приложения в Microsoft Store, но первоначальное видение приложений нового стиля, которые будут работать на ПК, телефонах, планшетах, Xbox и HoloLens становилось все более маловероятным.

Microsoft также приостановила работы над своей версией Office с поддержкой сенсорного ввода, предпочитая вместо этого сосредоточиться на облачных решениях, iOS, Android и настольных приложениях. Office всегда был центральным элементом UWP и хорошим примером того, как можно создать большое и требовательное приложение на новой платформе. Microsoft наконец прислушалась к разработчикам и больше не пытается навязывать им UWP.

В отдельном интервью ZDNet Галло рассказал, что «к тому времени, когда мы закончим, останутся только «приложения для Windows». Еще не все готово, но компания стремится сделать каждую функцию UWP доступной для разработчиков.


В конечном итоге, это хорошая новость как для разработчиков, так и для пользователей Windows. Теперь мы должны увидеть больше игр в Магазине Microsoft, которые работают так, как того ожидают геймеры, и, надеемся, больше приложений. Магазин Windows был полон барахла на протяжении многих лет, и Microsoft с трудом привлекала туда разработчиков.

Старый подход Microsoft к магазину вызывал резкую критику закрытой платформы в Windows 10 и попыток компании заставить разработчиков распространять приложения через Microsoft Store. Microsoft даже создала версии Windows S и Windows RT в которых установка обычных приложений была заблокирована.

Автор: Том Уоррен (Tom Warren)

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:


Или подпишись на наш Телеграм-канал:

Что такое Universal Windows Platform (UWP)?


Универсальная платформа Windows (UWP) – это специальная платформа для создания приложений на Windows 10. Вы можете разрабатывать приложения для UWP с помощью всего одного набора API, одного пакета приложений и одного магазина для доступа ко всем устройствам Windows 10 – ПК, планшета, телефона, Xbox, HoloLens, Surface Hub и других. Легче поддерживать несколько размеров экрана, а также различные модели взаимодействия, будь то сенсор, мышь и клавиатура, игровой контроллер или ручка. В основе приложений UWP лежит идея, что пользователи хотят, чтобы их работа, их задачи были мобильными через ВСЕ устройства, чтобы можно было использовать любое устройство, наиболее удобное или производительное для конкретной задачи.

В итоге вы можете потратить свое время на работу со знакомыми языками программирования, фреймворками и API-интерфейсами, все в одном проекте, и иметь тот же самый код, который работает на огромном диапазоне оборудования Windows из существующих сегодня. После того, как вы написали свое приложение UWP, вы можете опубликовать его в магазине на обозрение всего мира.

Итак, что такое UWP-приложение?

Элементы пользовательского интерфейса используют эффективные пиксели, поэтому они могут отображать макет в зависимости от количества пикселей экрана, доступных на устройстве. И они хорошо работают с несколькими типами ввода, такими как клавиатура, мышь, сенсорный экран, ручка и контроллеры Xbox One. Если вам нужно дополнительно адаптировать свой пользовательский интерфейс к определенному размеру экрана или устройству, новые панели макетов и инструменты помогут вам в этом.

Используйте язык, который вы уже знаете

Приложения UWP оживают в Windows

Наконец, вы можете использовать данные о роуминге и Windows Credential Locker, чтобы обеспечить постоянный роуминг на всех экранах Windows, где пользователи запускают ваше приложение. Данные о роуминге дают вам простой способ сохранить пользовательские настройки и настройки в облаке, не создавая собственную инфраструктуру синхронизации. И вы можете хранить учетные данные пользователя в хранилище учетных данных, где безопасность и надежность являются главным приоритетом.

Монетизируйте ваше приложение

Как начать?

Более подробный обзор UWP читайте в официальном Руководстве по приложениям для универсальной платформы Windows. Затем ознакомьтесь с настройкой Get set up, чтобы загрузить инструменты, необходимые для начала создания приложений, и напишите свое первое приложение!

Социальная инженерия с помощью программ Universal Windows Platform (APPX)


TL;DR: В APPX-файл Universal Windows Platform можно упаковать обычный exe-файл, который будет запускаться в Windows 10 (сборка 1607 и новее) примерно так же, как обычные exe-файлы. Это можно использовать для атак социальной инженерии, с помощью рассылки через email — почтовые провайдеры не блокируют файлы APPX. Файл должен быть подписан действующей цифровой подписью.

Universal Windows Platform

Universal Windows Platform — (сравнительно) новый стандарт для создания универсальных приложений под Windows 10, Windows 10 Mobile, Xbox One и Hololens. Стандарт появился с выходом Windows 10, и предоставляет API с ограничением привилегий и изоляцией, формат контейнера и метаданных внутри него.
UWP-приложения широко представлены в Microsoft Store. Они самодостаточны, безопасны, не требуют прав администратора для установки, хранят настройки в строго отведённых местах, и могут быть удалены начисто, прямо из «пуска».

До недавнего времени, UWP-программы могли быть только изолированными, но в сборке Windows 10 1607 Microsoft реализовала Desktop Bridge — возможность упаковки любых Win32-программ в виде UWP, без использования UWP API, ограничений привилегий и изоляции.
Эта функция открывает простор для атак социальной инженерии.

Формат APPX

UWP стандартизирует файловый формат APPX — обычный ZIP-архив, с определённой структурой. В APPX-файле должен быть AppxManifest.xml — файл с описанием содержимого пакета, который можно сгенерировать или создать самостоятельно.
В AppxManifest.xml указано название программы, описание, иконка, требуемые привилегии, имя файла для запуска и точка входа внутри него.
Чтобы APPX-файл можно было установить, он должен быть подписан действующей цифровой подписью с возможностью подписи кода, доверенного удостовещяющего центра.

Самый простой вариант упаковки существующего Win32 exe-файла в appx с помощью Desktop Bridge — написать файл манифеста вручную, и создать appx-контейнер с помощью утилиты makeappx.exe, входящей в состав Windows SDK.

Затем подписать с помощью signtool.exe:

Преимущества APPX для социальной инженерии

APPX-файлы можно использовать в почтовых рассылках, в качестве замены exe-файлам, в случах, когда почтовый сервер фильтрует письма с exe-вложениями.
Установка APPX происходит в один клик, не требует прав администратора. В установщике галочка запуска программы после установки отмечена по умолчанию, и программа сразу запустится, если пользователь её не уберет.

Все популярные почтовые сервисы не блокируют APPX-файлы в приложениях к письму.
У Gmail есть странная особенность: файл должен быть размером больше 4 мегабайт.

Установка и запуск Unity5

Уроки Unity 5

Скачиваем Unity 5

Одной из популярной программ для создания игр является игровой движок Unity 5. О распространенности и популярности этого движка в данной статье мы рассказывать не будем, перейдем сразу к установке и запуску Unity 5 на Windows 7 х64.

Для начала, перейдем на сайт разработчика и скачаем дистрибутив Unity, вернее так называемый web установщик. На главной странице сайта вам необходимо нажать на кнопку ПОЛУЧИТЕ Unity 5.

установка unity5

Далее вы увидите возможности бесплатной версии Unity и возможности версии Pro. Мы будем использовать бесплатную версию, поэтому нажимаем БЕСПЛАТНАЯ ЗАГРУЗКА. На следующей странице как раз и находится заветная кнопочка ЗАГРУЗИТЬ УСТАНОВЩИК. Так же здесь можно увидеть версию последнего релиза, дату выпуска, размер установщика и выбрать платформу Windows или MacOS.

Итак, загружаем и запускаем установщик.

Установка unity5

установка unity5

Установка unity5

В этом окне веб установщик предлагает выбрать какие пакеты необходимо скачать для удобной работы в Unity. Изначально стоят галочки некоторых пунктах:

Если определились с выбором компонентов, выбираем место куда установится Unity и ждем пока все это загрузится.

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

Запустим движок и посмотрим что он из себя представляет. Как написано на официальном сайте , системные требования для запуска Unity не достаточно велики, из поддерживаемых операционных систем это « Windows 7 SP1+, 8, 10; Mac OS X 10.8+. Windows XP и Windows Vista не поддерживаются; серверные версии Windows и OS X не тестировались. Графический процессор: графическая карта с поддержкой DX9 (шейдерная модель 2.0). Должны работать любые карты, выпущенные с 2004 года. Остальное зависит, главным образом, от сложности ваших проектов».

Запуск unity 5

Итак пробуем, первым делом запускается окно с вводом логина и пароля, если у вас есть учетная запись созданная на сайте Unity можете смело вводить свои данные, если нет, можете зарегистрироваться или работать offline, нажав на кнопку work offline.

Установка Unity5

Установка Unity5

Далее окно выбора проекта, как токовых проектов у вас еще не создано, его необходимо создать, нажав на кнопку NEW. Вводим название проекта и место его расположения, так же выбрать 3D или 2D (по умолчанию стоит 3D) и нажать Create project. Созданный вами новый проект появится в окне Project, для его запуска достаточно нажать на него и у вас запустится Unity.

Читайте также: