WinRT Internals
Duration: 2 days

Back to course list Home
Synopsis Meant as an add-on to our Windows Kernel course, or as a standalone course, this focuses on the infrastructure of WinRT (a.k.a "Windows Store") apps in Windows and Windows Phone 8. The mechanisms behind WinRT are explored, including the implementation of the various WinRT frameworks, Manifest parsers, Code signing and more. Live demonstrations shown on both ARM (Surface) and Intel (Win 8 Enterprise) platforms. Note that this course focuses on User Mode components. For Kernel mode, we recommended our standard Windows Kernel course.
Target Audience Developers interested in learning more on the frameworks and infrastructure behind WinRT and Windows Phone
Prerequisites
Objectives
  • Understand the mechanisms driving WinRT Apps
  • Understand WoA vs. Wow64
  • Understand the structure of a WinRT app, and how it gets loaded/initialized
  • Understand the runtime framework implementations
Exercises Optional
Modules
1. Introduction
1-2 hours
The need for WinRT, and how Microsoft chose to implement its mobile runtime environmen. Topics include
  • Windows System architecture
    • Quick user mode refresher and the Win32 APIs
      • .Net APIs and frameworks
        • Mapping to Legacy APIs
          • Using HTML5 apps in Windows with Chakra and Trident
            • WinRT
              • Windows on ARM vs. Windows on Windows64 (Intel)
                2. Dissecting a WinRT App
                3 hours
                This module presents a tear down of popular WinRT applications, demonstrating the structure and components of WinRT apps by taking a reverse engineering approach. Topics include:
                • Application structure
                  • MetaData (winMD)
                    • Application Components
                      • Manifest
                        • Executables
                          3. Installation, Deployment and Startup
                          2 hours
                          Aspects of downloading, installing and starting up WinRT apps.
                          • Behind the scenes of installing a WinRT App
                            • Registry bindings
                              • Deploying apps
                                • Home screen icons and Tiles
                                  • Application Startup
                                    • Containment and Sandboxing
                                      Day 2
                                      4. Back to Basics: COM and DCOM
                                      2 hours
                                      Though hidden from view, The Component Object Model (COM) still drives Windows in general, and WinRT in particular. In this focus, we provide a detailed examination of it, including:
                                      • Why COM? why DCOM?
                                        • COM Architecture
                                          • Registry Bindings
                                            • Interacting with .Net
                                              • Interacting with WinRT
                                                6. Boot
                                                2 hours
                                                Describing the Windows 8 and Windows Phone 8 Boot process
                                                • UEFI and its implementation in Windows 8
                                                  • Secure Boot
                                                    7. Sandboxing in Depth
                                                    3 hours
                                                    Windows 8 Security and Sandboxing models, explained
                                                    • Goals of sandboxing
                                                      • PE header changes
                                                        • Sandbox implementation in WinRT
                                                          • Process token modifications
                                                            • WinRT Security model