Home | FAQ | Contact

Private Seminars
Public Seminars
Course Descriptions
Course Map
Instructors
Resources

INT150
INT151
INT201
INT211
INT221
INT250
INT255
DRV101
DRV150
DRV201
DRV205
DRV211
DRV221
DRV222
DRV231
DRV232
DRV241
DRV251
DRV264
DRV274
DRV301
DRV321
OFF101
OFF201
SEC230
SEC250
WSC102
WSC110
WSC201

WSC201: Windows Source Code Workshop for Code Center Premium Licensees

This seminar provides a comprehensive guided tour through and analysis of the internal design, implementation, and operation of the major components of the Windows operating system, with a corresponding tour of the Windows source code.

Level

Intermediate to advanced

Audience

Microsoft Code Center Premium licensees for Microsoft Windows source code for Windows Vista, Windows Server 2003, Windows XP, or Windows 2000. Windows XP or Windows Server 2003 source code will be used for the examples during the seminar.

Description

The Windows Server 2003 or Windows XP source code amounts to almost 6 GB, about a quarter of a million files spread over more than 20,000 directories! In this workshop the attendee will learn the organization, function, and interactions of the most important components of the Windows operating system, and where to find those components in the source code tree. We closely examine several key parts of the system, including user-to-kernel mode transitions, internal synchronization mechanisms, thread scheduling, memory management, the I/O subsystem, and security. In addition to in-depth coverage of Windows's security components, we cover various other security-related mechanisms throughout the operating system. 

While discussing each area or component of the operating system, we visit the corresponding branches of the source tree, identifying the most important source files and the key or "top level" routines and data structures. Many such routines are studied in detail.

Since the Windows source tree is very large, the code examined in the seminar must of necessity represent only a tiny fraction of what is available. Our purpose is to show the overall structure of the code; to illustrate certain concepts and implementation details which we feel are both non-obvious and essential to understand; and to enable you to find and understand the code in which you are interested after the seminar. We also show how we used the search facilities of Code Center Premium to find the source code files under discussion.

We will show you how to analyze a running Windows operating system or a memory dump file and find the Windows source code corresponding to each Windows-supplied executable, DLL, device driver, or other component in the system. 

Finally, we address the use of the source code via Code Center Premium with the Windows Debugging Tools. Several memory dump analysis and "live" system debugging scenarios are presented in the form of lab problems.

Topics

  • Code Center Premium

    • General description

    • Installing and connecting (demonstration)

    • Troubleshooting connection issues

    • First look at directory tree structures

    • Search tools, strategies, and techniques

  • Windows general architecture, components, and source tree structure

    • General principles

    • 32- and 64-bit address spaces

    • Execution context: Processes, threads, and "others"

    • Windows services (background processes)

    • Finding source code for Windows processes

    • Kernel mode components

    • Tools for investigating and monitoring

    • Introduction to the Windows Debugger

  • User mode architecture and components

    • Processes and address space

    • Executable file format

    • User mode memory management

    • Threads

    • Process and thread components and data structures

    • Program execution environment

    • User to kernel mode calls

    • Process and thread creation and deletion

    • Explorer and Internet Explorer

    • .NET

  • Security architecture and components

    • Security concepts

    • Windows security model and certifications

    • Windows security features

    • Windows security components and implementation (WinLogon, LSASS, Security Reference Monitor)

    • Security improvements in Vista

  • Kernel mode architecture and components

    • User to kernel mode calls, part 2 (system service dispatcher)

    • Objects and handles, object manager, and security

    • The registry

    • Kernel mode execution environment

    • Interrupt-driven contexts

    • Deferred Procedure Calls (DPCs)

    • Kernel mode synchronization mechanisms (IRQLs, spinlocks, resources)

    • Kernel memory allocation

    • Thread scheduler

    • Virtual memory manager

    • I/O subsystem, device drivers, and file cache

  • Memory dump analysis and live debugging

    • Debugging with source code access

    • Compiler optimizations

    • Relating assembly language to source

    • Debugging with incomplete or older sources

    • Understanding bugcheck codes and stack traces

Prerequisites

  • Experience with Windows at at least the "power user" or administrator level; and

  • Familiarity with basic operating system concepts; and

  • Reading familiarity with the C programming language; and

  • Access to Windows source code via Code Center Premium.

This workshop is for authorized source code licensees, as determined by Microsoft. If you have any questions about whether you are an authorized licensee, please contact the .

Attendees, if they wish to participate in "live" browsing of the source code during the seminar, are required to bring their smart card readers and smart cards for Code Center Premium access. The smart cards must already be activated and must be enabled for either Windows XP or Windows Server 2003 source access. Each attendee, or the source code licensing contact within their organization, must obtain authorization from their Windows source licensing representative to access Code Center Premium from the seminar location if it is different from the location specified in your source license agreement.

For information on obtaining source access, please visit the Microsoft Shared Source site.

Windows versions

Windows Vista; Windows Server 2003; Windows XP; Windows 2000. This seminar is presented using the Windows Server 2003/Windows XP  architecture and source code as the "baseline." Vista differences will be noted, where they are significant.

Duration and formats

5 days lecture/demonstration/lab format (customizable)

Labs

This seminar is presented in a mixed lecture, guided demonstration, and lab format. The seminar leader will frequently use various utilities (including the Windows Debugger) to demonstrate key points, and students will be encouraged to perform the same exercises on their systems. In some topic areas, particularly debugging, there are distinct lab periods with problems for the attendees to solve.

Customizations

Although there is a certain amount of core material that we feel is essential  for all attendees, other areas can be more or less emphasized according to the attendees' requirements, and certain material can be omitted completely. Please contact us for details.

 

Licensing
This seminar is of course only available to Code Center Premium users. Please contact your Microsoft Source Licensing representative for information or to schedule a delivery. If the seminar is held away from your primary site, approval must be granted by Microsoft for Code Center Premium access from the seminar location.
Government Agencies
If you are a government agency (of any country) with Code Center Premium access, members of your agency may qualify to receive this training at no cost to you. Please contact your Microsoft Government Security  Program representative.
 
Copyright © 2007 - Azius Developer Training