Exploiting Windows 2000

Download Report

Transcript Exploiting Windows 2000

Exploiting Windows
2000
Kyle Marsh
Software Design Engineer
Windows Evangelism
Microsoft Corporation
7-314
Three levels of exploiting
Windows 2000



Running your current application on
Windows 2000
Certified for Windows 2000
Target Windows 2000 features
Getting the site ready


Run your
applications on
Windows 2000
7-324 Moving
Applications to
Windows 2000
Most Common Issues






Installation
Version Checking
Uninstall
Path issues
Large Drives
Heap Management
The Foundation
Certified for Windows

Your Application:




Is more manageable
Is more reliable
Reduces cost of
ownership for your
customers
7-312 Developing
Windows 2000
Certified Applications
Desktop Requirements







Window Fundamentals
Windows Installer Service
Component Sharing
Data and Settings Management
User Interface Fundamentals
OnNow/ACPI Support
Application Migration
Server Requirements






Window Fundamentals
Install / Uninstall
User Interface Fundamentals
Active Directory
Security Services
Cluster Service
Windows Installer

OS resident Application Installation
Service





Introduced with Office 2000 and Windows 2000
Available for Windows 95 and Windows NT 4.0 and
up.
Provides a standard, consistent way to
install applications
API for applications and management
tools
7-302 Building and Customizing
Windows Installer Packages
Component Sharing




Ending DLL Hell
DLL Redirection
Side by Side component sharing
7-313 Ending DLL Hell
Data and Settings
Management



Enable a managed desktop
Enable Roaming Users
Enable Multiple Users per Machine


Increased importance for Whistler
7-304 Building Manageable
Applications
Active Directory





The directory service used in
Microsoft® Windows® 2000 and is
The foundation of Windows 2000
distributed networks.
7-402 Active Directory Programming indepth using ADSI
7-403 Building Active Directory-enabled
Applications (Part 1)
7-404 Building Active Directory-enabled
Applications (Part 2)
Security Services



Windows 2000 provides a secure
operating environment.
Access controls can be placed on
various system resources.
7-310 Developing Applications for
Secure Windows
Cluster Service


Cluster service shipping in
Advanced and DataCenter server
provides an easy way to make any
application highly available.
7-311 Developing Cluster Service
Aware Applications
Beyond the Spec

Take
advantage of
Windows
2000 features
Windows Management
Instrumentation (WMI)




Microsoft implementation of WebBased Enterprise Management
(WBEM)
Industry initiative to develop a
standard technology for accessing
management information in an
enterprise environment.
7-332 Windows Management
Instrumentation
7-303 Building Manageability
Solutions Using WMI
Scripting


WSH 2.0 ships in Windows 2000,
downloadable for other platforms
7-334 Windows Script for
Developers
Debugging and Error
Handling



Debug Help Library replaces
ImageHLP
Event Tracing
Tool Help Library
Memory


Breaking the 2 Gig Limitation
Address Windowing Extensions




Manipulate physical memory greater
than 4GB
Non-paged
Limited to RAM on system
Windows 2000, 64-bit Edition

8,188 Gigs
International Features




Unicode
Complex Scripts
Uniscribe
Opentype
Some New Managers



Power Management
Synchronization Manager
Removable Storage Manager
NTFS File System Changes







Hard Links
Change Journal
Disk Quotas
Distributed Link Tracking
Encrypted File System
Reparse Points
Sparse files
Job Object

New kernel object





Can be named
Can be secured
Group of related processes
Manage and track process group
System enforces job quotas and
security context
Thread Pooling

System-managed thread-pool for apps






Saves resources: fewer threads waiting
for single objects
Less code: no thread
creation/destruction/communication
Register a wait with callback function
Queue asynchronous function call
Timer Queue
Asynchronous I/O Requeusts
Message Windows




Pass HWND_MESSAGE as parent
HWND to CreateWindow(Ex)
Allows send/receive of messages
Not visible, no Z-order, not normally
enumerated, doesn’t receive broadcast
messages
FindWindowEx


Finds if hwndParent is HWND_MESSAGE
Finds is hwndParent & hwndChild are
NULL
Layered Windows
Alpha Blending

Layered Windows


WS_EX_LAYERED
Alpha Blending

AlphaBlend function like StretchBlt
w/BLENDFUNCTION struct
Miscellaneous


CreateProcessWithLogonW
GetVersionInfo, VerifyVersionInfo


InitializeCriticalSectionAndSpinCount,
SetCriticalSectionSpinCount


Build/service pack info
For SMP machines only
Registry Functions



RegOpenCurrentUser
RegOpenUserClassesRoot
RegOverridePredefKey
Miscellaneous



SendInput
HTML Resource type
New common controls


IP address, date/time, IE-style toolbars,
page scroller
Print Property Sheet Common Dialogs
More





Keyboard Keys for Browsing and Other
Functions
Window Animation
Window Layout and Mirroring
XBUTTONs
Smooth Shading
Questions ?