Slides 03 Windows Bevezeto

download Slides 03 Windows Bevezeto

of 48

Transcript of Slides 03 Windows Bevezeto

  • 8/3/2019 Slides 03 Windows Bevezeto

    1/48

    Utols mdosts: 2011. 02. 15.

    Az elads magnclra szabadon felhasznlhat. Kz- s felsoktatsbanfelhasznlhat, csak eltte krlek rj egy emailt nekem.

    Ajegyzetek rszben a ---- vonal alatti rszek csak rdekessgek, nem rsze atananyagnak.

    1

  • 8/3/2019 Slides 03 Windows Bevezeto

    2/48

    A flik rszben a Windows Operating System Internals Curriculum Development

    Kit alapjn kszltek.

    2

  • 8/3/2019 Slides 03 Windows Bevezeto

    3/48

    ---------------------------------------------------------------------------------

    Az bra elgg elnagyolt.Pontosabb csaldfa: http://www.levenez.com/windows/history.html

    Windows NT, Windows 2000-bl volt Workstation s Server verzi, de ezeknl aforrs nagyjbl ugyanaz, csak ms az alap paramterezs (maximlis memria,alkalmazsokra vagy szolgltatsokra van-e optimalizlva)

    Tovbbi legazsok:Windows Embedded, Windows XP Tablet PC, Xbox, Windows High Performance

    Computing Server

    Windows Server 2008 is called SP1. Adventures in doing things right?

    (http://blogs.msdn.com/iainmcdonald/archive/2008/02/15/windows-server-2008-

    is-called-sp1-adventures-in-doing-things-right.aspx)

    Windows 7 azrt lett lltlag bell 6.1, hogy ne legyen gond a major verzivltozssal, s a rgi alkalmazsoknlne legyen kompatibilitsi gond.

    3

  • 8/3/2019 Slides 03 Windows Bevezeto

    4/48

    4

    ---------------------------------------------------------------------------------

    VMS+1=WNT lltlag csak vletlen, az eredeti nv az Intel i860processzorbl jtt, melynek kdneve N10 ('N-Ten').

  • 8/3/2019 Slides 03 Windows Bevezeto

    5/48

    Nyissuk meg egy cmd.exe-t:

    XP SP2:

    Microsoft Windows XP [Version 5.1.2600]

    Vista RTM:

    Microsoft Windows *verziszm: 6.0.6000+Windows 7 RTM:

    Microsoft Windows [Version 6.1.7600]

    ---------------------------------------------------------------------------------

    Windows Server 2008 ta megvltozott a szmozs, lsd:

    How to determine your Windows Server 2008 version,

    http://blogs.dirteam.com/blogs/sanderberkouwer/archive/2007/11/01/how-to-

    determine-your-windows-server-2008-version.aspx

    Building Win7 - interview with a Build Engineer,

    http://edge.technet.com/Media/Building-Win7-interview-with-a-Build-Engineer/

    5

  • 8/3/2019 Slides 03 Windows Bevezeto

    6/48

    6

  • 8/3/2019 Slides 03 Windows Bevezeto

    7/48

    7

  • 8/3/2019 Slides 03 Windows Bevezeto

    8/48

    8

  • 8/3/2019 Slides 03 Windows Bevezeto

    9/48

    Emiatt van i386 (Intel 386) knyvtr a Windows telept CD-n

    HW specifikus rsz csak a HAL-ban s a kernel als rszben (s persze azeszkzkezelkben), assembly nyelven csak a teljestmnykritikus rszeket vagy anagyon alacsony szint funkcikat rtk (megszakts kezels, krnyezetvlts)

    9

  • 8/3/2019 Slides 03 Windows Bevezeto

    10/48

    A bels fggvnyek is Unicode stringeket hasznlnak,minden fggvnynek kt

    vltozata van, pl.:CreateFileA: ANSI karakter paramtert hasznl (ansi)CreateFileW: Unicode karakter paramtert hasznl (wide)

    - CreateFile-bl pedig define segtsgvel vagy az egyik vagy a msik lesz- CreateFileA bell talaktja a karaktereket s a W-s vltozatot hvja, mert a kernelmr Unicode stringekkel dolgozik.

    10

  • 8/3/2019 Slides 03 Windows Bevezeto

    11/48

    11

  • 8/3/2019 Slides 03 Windows Bevezeto

    12/48

    jrahvhat (reentrant): a rendszerhvsokat tbb alkalmazs is meghvhatja

    egyszerre, nem blokkdnak, ha mr valakit ppen kiszolgl az adott rendszerhvs

    Preemptv: egy szlat fel lehet fggeszteni futs kzben. A Windows kernel teljesenpreemptv, a kernel szlak is felfggeszthetek.

    Az OS eleve tbbszlra lett tervezve, a szl alapvet koncepci a Windowsban

    12

  • 8/3/2019 Slides 03 Windows Bevezeto

    13/48

    POSIX: azrt, hogy megfeleljen a Department of Defense Federal Information

    Processing Standard (FIPS) 151-2 szabvnynak

    OS/2: IBM-mel egytt kezdtk az NT-t kidolgozni, st az OS/2 volt az elsdleges APIa Windows NT tervezsnek kezdetn. (Csak aztn a Windows 3.0 nagy siker lett, aMicrosoft s az IBM sszeveszett, s a Microsoft az NT-t fejlesztette tovbb, az IBMaz OS/2-t, s a Windows lett az elsdleges fellet.)

    13

  • 8/3/2019 Slides 03 Windows Bevezeto

    14/48

    Fontos: egy API az csak egy interfsz, nem helyes azt mondani, hogy az API

    kiszolgl krseket. Kell lennie mgtte egy komponensnek, aki megvalstja azAPI-ban definilt fggvnyeket, s az a komponens az, aki nyjtja az API-bandefinilt szolgltatst.

    14

  • 8/3/2019 Slides 03 Windows Bevezeto

    15/48

    15

    A hrom klnbz alrendszer nem csak klnbz nev fggvnyeket jelent

    (fopen vs. CreateFile), hanem teljesen eltr szemantikjuk is van. Pl., POSIXesetn a fjlnvben szmt a kis s nagybet, Windows esetn nem; POSIX szl vs.Windowsos szl, ms tulajdonsgaik vannak.

    Windows API s POSIX: teljesen dokumentltNT API: nem dokumentlt, csak egyes rszei az eszkzmeghajt fejlesztshez(Driver Development Kit). Ami nem dokumentlt, az vltozhat az egyes verzikkztt.

    Windows API: rgi neve Win32 API volt, de a 64 bites Windows miatt tkereszteltk

    Windows API-re, s ez az j kzs nv

    Az alkalmazsok viszont nem keverhetik az alrendszereket, mindegyik csak egyethasznlhat; ezt linkelskor kell eldnteni.---------------------------------------------------------------------------------- Eredetileg: Windows, POSIX, and OS/2- Windows 2000: kikerlt az OS/2- Windows XP: csak a Windows maradt

    - POSIX alrendszer helyett Services for Unix kiegszts- Windows Server 2003 R2-ben visszakerlt a POSIX: Windows Subsystem for UNIX-

    based Applications (SUA) nven

  • 8/3/2019 Slides 03 Windows Bevezeto

    16/48

    Exetype letltse:

    http://www.petri.co.il/download_free_reskit_tools.htm

    Eredmny:C:\tools\exetype>EXETYPE.EXE c:\Windows\System32\cmd.exeFile "c:\Windows\System32\cmd.exe" is of the following type:

    Windows NT32 bit machineBuilt for the Intel 80386 processorRuns under the Windows character-based subsystem

    C:\tools\exetype>EXETYPE.EXE c:\Windows\notepad.exeFile "c:\Windows\notepad.exe" is of the following type:

    Windows NT32 bit machineBuilt for the Intel 80386 processorRuns under the Windows GUI subsystem

    C:\tools\exetype>EXETYPE.EXE c:\Windows\System32\smss.exeFile "c:\Windows\System32\smss.exe" is of the following type:

    Windows NT32 bit machineBuilt for the Intel 80386 processorRequires no subsystem to run (Native to Windows NT)

    64 bites Windowson (az exetype 32 bites, gy annl a c:\windows\system32 automatikusan

    a c:\windows\sysWOW64 knyvtrra irnytdik t):C:\temp\exetype>EXETYPE.EXE c:\Windows\sysnative\smss.exeFile "c:\Windows\sysnative\smss.exe" is of the following type:

    Windows NTRequires no subsystem to run (Native to Windows NT)

    16

  • 8/3/2019 Slides 03 Windows Bevezeto

    17/48

    Az NT architektrja 100 km-rl.

    17

  • 8/3/2019 Slides 03 Windows Bevezeto

    18/48

    HAL: A felsbb rtegek a HAL-on keresztl rik el az alap HW szolgltatsokat (pl.

    HalGetInterruptVector), a HAL szerepe, hogy elfedje a HW megvalsts rszleteit,s egy egysges, platform fggetlen felletet biztostson.

    Vista eltt teleptskorvlasztdott ki, hogy milyen tpus HAL kerl fel. Ezrt sevolt biztos, hogy egy msik gpbe trakva a merevlemezt a Windows elindul. Vistata ezt megoldottk.

    18

  • 8/3/2019 Slides 03 Windows Bevezeto

    19/48

    Eszkzkelezk (Device driver): kernel md modulok, melyek az ltalnos

    krseket lefordtjk a konkrt eszkznek szl parancsokra. A Windowsbanrtegzett struktrj eszkzkezel modell van, az egyes eszkzkezelk lncotalkotnak (pldul, az NTFS fjlrendszer s a merevlemez eszkzkezelje kzbeilleszthet egy modul, ami hibatrst, klnbz RAID struktrkat, valsthatmeg transzparensen). Az eszkzkezelk sys kiterjeszts fjlok.---------------------------------------------------------------------------------

    Windows Driver Model: tmogatsa driver fejlesztshez (pl. Plug&Play,energiakezels)Eszkzkezelk fajtjai:

    Bus Driver: pl. PCI, USB, SCSI, beptett meghajtk hasznlata Function Driver: konkrt eszkz rszleteit kezel meghajtFilter Driver: kiegszti a funkcionalitst, pl. szoftveres hibatrs alemezkezelshez

    19

  • 8/3/2019 Slides 03 Windows Bevezeto

    20/48

    Kernel: az opercis rendszer alapfunkciit nyjt komponense (pl. temezs,

    megszaktskezels). Mg ebben a rszben is lehetnek hardver specifikuskdrszletek, hisz pldul a krnyezetvlts megvalstshoz ismerni kell, hogymilyen regiszterei vannak a processzornak. Az ntoskrnl.exe fjl tartalmazza. (Szoksa kernel nvvel az sszes vdett md komponensre is egytt hivatkozni.)---------------------------------------------------------------------------------Main services

    Thread waiting, scheduling & context switchingException and interrupt dispatchingOperating system synchronization primitives (different for MP vs. UP)

    A few of these are exposed to user mode

    20

  • 8/3/2019 Slides 03 Windows Bevezeto

    21/48

    Executive: Az opercis rendszer magasabb szint funkciit szolgltat rtege

    (memriakezels, biztonsg, stb.). Az adatokat objektumokban trolja, melyeketlerkkal (handle) lehet csak elrni, jl definilt interfszeken keresztl. Br a kernelfunkciit csak a kernel interfszn keresztl ri el, szintn az ntoskrnl.exetartalmazza. A legtbb rendszerhvs itt van megvalstva.

    Komponenseit lsd ksbb Magyar nv??

    21

  • 8/3/2019 Slides 03 Windows Bevezeto

    22/48

    Fontos: ez ms, mint a krnyezetvlts(context switch), ahol elmentjk az ppen

    fut szl adatait (regiszterek, program szmll, stb.), s betltnk, majd futtatunkegy jat; itt nem vltozik, hogy melyik szlat hajtjuk vgre.

    Mirt csak kt hozzfrsi szint van:a kezdeti architektrkkzl a Compaq Alpha s a Silicon Graphics MIPScsak 2 szintet tmogatott.az Intel 386 4 szintet, gynevezett ring-et, tmogat

    A kernelnek egy kzs cmtere van.Bizonyos CPU utastsok csak a processzor privilegizlt mdjban adhatak ki.

    22

  • 8/3/2019 Slides 03 Windows Bevezeto

    23/48

    Indtsunk el programokat, pl. WinDbg, Visual Studio

    Eszkzk:Feladatkezel: Teljestmny fl, Nzet / Kernelidk mutatsa opcit kapcsoljuk beTeljestmnyszmllk(Felgyeleti eszkzk / Teljestmnyfigyel):

    Processzor / A processzor felhasznli md hasznlatnak arnya (%)Processzor / A processzor vdett md hasznlatnak arnya (%)

    23

  • 8/3/2019 Slides 03 Windows Bevezeto

    24/48

    Rendszerfolyamatok (System processes): felhasznlimdban fut olyan beptett

    folyamatok, amik a rendszer futshoz szksges funkcikat valstanak meg.

    Szerepket lsd ksbb Session Manager

    Winlogon

    LSASS Local Security Authority Subsystem Service Control Manager

    24

  • 8/3/2019 Slides 03 Windows Bevezeto

    25/48

    Szolgltatsok (Services): olyan folyamatok, amik a felhasznli fellettl s

    belpstl fggetlenl a httrben futnak, s kibvtik az opercis rendszer alapszolgltatsait.

    Szolgltatsoklistja: Vezrlpult / Felgyeleti eszkzk / Szolgltatsok

    25

  • 8/3/2019 Slides 03 Windows Bevezeto

    26/48

    Krnyezeti alrendszerek (environment subsystems): a felhasznlnak vagy

    programoznak nyjtott krnyezet, szemlyisg egy rszt a krnyezeti alrendszerfolyamatok valstjk meg, minden egyes krnyezet kln API-t mutat (Windows,POSIX), az opercis rendszer rendszerhvsainak egy rszt knlja a felhasznlialkalmazsok szmra.

    ---------------------------------------------------------------------------------

    HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\SubSystems

    kulcsban troldik, hogy milyenek vannak s azok belltsai Windows: csrss.exeClient/Server Run-Time Subsystems

    A Windows alrendszer ktelez a rendszer futshoz.Mirt ez a nv: mert eredetileg ez egy ltalnos folyamat volt, amiszlakknt futtatta az egyes alrendszereket. Ksbb kikerlt a Posix s azOS/2 innen, a Windows maradt, s megtartotta ezt a nevet.Funkcii: konzolos ablak kezelse, folyamat s szl ltrehozs/trls,aprbb fggvnyek (pl. GetTempFile, DefineDosDevice, ExitWindowsEx,hlzati meghajt csatlakoztatsa)

    POSIX (SUA): psxss.exe

    26

  • 8/3/2019 Slides 03 Windows Bevezeto

    27/48

    Alrendszerk DLL-ek: az alkalmazsok nem hvjk kzvetlenl az Executive

    rendszerhvsait, hanem az alrendszer DLL-ek ltal mutatott fggvnyekenkeresztl rik el azokat.---------------------------------------------------------------------------------

    Windows: Kernel32.dll, Advapi32.dll, User32.dll, and Gdi32.dll

    Posix: Psxdll.dll

    Nem minden Executive funkci rhet el az alrendszerekbl, s az egyesalrendszerek klnbz rszhalmazt valstanak meg (pl. a windowsosban nincsenfork).

    Hrom lehetsges zemmd. A hvott alrendszer API fggvny teljesen az alrendszer DLL-ben van megvalstva, gy nem kell tovbbihvs. Executive hvst ignyel, gy tovbb kell hvni (az NTDLL.DLL-en keresztl) arendszerhvsok felaz alrendszer folyamat munkjt ignyli, ilyenkor zenetet kld azalrendszer folyamatnak, s megvrja a vlaszt

    27

  • 8/3/2019 Slides 03 Windows Bevezeto

    28/48

  • 8/3/2019 Slides 03 Windows Bevezeto

    29/48

    30

  • 8/3/2019 Slides 03 Windows Bevezeto

    30/48

    ---------------------------------------------------------------------------------

    Ntoskrnl.exe: Vista eltt mg volt kln egy- s tbbprocesszoros verzi, aztamr csak egy van, mert a legtbb gp ma mr tbbmagos, s kicsi volt ateljestmnyklnbsg a kt verzi kztt.

    ntkrnlmp.exe: multiprocesszoros gpekre ntkrpamp.exe: multiprocesszor s PAE (Physical Address Extension)tmogats, ezzel lehet 32 bites cmbusz CPU-val is 64 GB memrit kezelnia maximlis 4 GB helyett)ntoskrnl.exe: az alap kernel nv. 64 bites rendszereknl mr csak ez az egyverzi van

    WDK: Windows Driver Kit Ke-vel kezdd fggvnyek a kernelben vannak, pl. KeGetCurrentThread http://msdn.microsoft.com/en-us/library/ms801969.aspx

    Windows SDK:

    pldul a folyamatok kezelsre val fggvnyek s lersok: Win32 and COM Development / System Services / DLLs, Processes, and

    Threads / Processes and Threads

    About Processes and Threads -> ltalnos lersok, fogalmakismertetse

    Using Processes and Threads -> pldakdok, hogyan kell hasznlniaz API-nak ezt a rszt Process and Thread Reference -> fggvnyek referencija, rszleteslers

    31

  • 8/3/2019 Slides 03 Windows Bevezeto

    31/48

    Ez a krds is rk vita trgya. Hybrid kernel kategrival szoktk a Windowst

    jellemezni, de igazbl azrt ez egy monolitikus kernel (ha a trgyban hasznltelnevezseket nzzk, akkor egy rteges kernel).

    32

  • 8/3/2019 Slides 03 Windows Bevezeto

    32/48

    Az NT architektrja 10 km-rl.

    33

  • 8/3/2019 Slides 03 Windows Bevezeto

    33/48

    Ezek a folyamatok felelsek azrt, hogy miutn elindult az opercis rendszer a

    felhasznlk tudjk is hasznlni, be tudjanak lpni, stb.

    34

  • 8/3/2019 Slides 03 Windows Bevezeto

    34/48

    Nem felttlenlszksgesek az alap opercis rendszer mkdshez, a

    felhasznl ezek nlkl is be tud lpni, tud programokat indtani (nem gy, mint arendszerfolyamatok esetn)Ezek csak olyan programok, amiknek akkor is kell futnia, ha ppen nincsfelhasznl bejelentkezve, aki elindtan ket. Pl. ha elindult a gp, de nemjelentkezett be rajta senki, akkor is kapcsoldni tudjunk a fjlmegosztsaihoz(Server nev szolgltats) vagy be tudjunk tvolrl lpni r (Terminal Servicesszolgltats)

    35

  • 8/3/2019 Slides 03 Windows Bevezeto

    35/48

    Csak nagyon kevs program van,ami kzvetlenl az NT rendszer bels API-jt

    hvja (az Executive fggvnyeit az NTDLL.DLL-en keresztl). Ilyen a SessionManager, hisz indtja el az alrendszereket, s ilyen maga a windowsos alrendszer.A tbbiek mind valamilyen alrendszeren keresztl ltjk csak a rendszerhvsokat.

    POSIX: mirt szerepel alatta a Windows DLL? Mert az ablakkezel s GUIfggvnyeket nem akartk kt helyen megvalstani, gy a Windowsosba kerlt amegvalsts, s a tbbi csak azt hvja.

    36

  • 8/3/2019 Slides 03 Windows Bevezeto

    36/48

    NTDLL.DLL tartalma:

    Az executive ltal kiajnlott fggvnyeknek megfelel fggvny csonkok:Ugyanolyan a paramterezsk, mint az executive-ban lv prjuknak,Elvgzik az tvltst vdett mdba,tadjk a hvst a system service dispatchernek,Az ellenrzi a hvsi paramtereket, majd meghvja az executivefggvnyt.

    Ezen kvl van szmos fggvny az alrendszerek tmogatsra, pl. heap kezels, image loader.

    NTDLL j nhny nem dokumentlt fggvnye:http://undocumented.ntinternals.net/

    37

  • 8/3/2019 Slides 03 Windows Bevezeto

    37/48

    38

  • 8/3/2019 Slides 03 Windows Bevezeto

    38/48

    System process (NT4: PID 2, W2K: PID 8, XP: PID 4)

    Pldkrendszer szlakra: Memory Manager: Modified Page Writer for mapped files, Modified Page

    Writer for paging files, Balance Set Manager, Swapper (kernel stack, workingsets), Zero page thread (thread 0, priority 0)

    Security Reference Monitor: Command Server Thread Network: Redirector and Server Worker Threads Threads created by drivers for their exclusive use: Examples: Floppy driver,

    parallel port driver Pool of Executive Worker Threads: Used by drivers, file systems, , Work

    queued using ExQueueWorkItem System thread(ExpWorkerThreadBalanceManager) manages pool

    39

  • 8/3/2019 Slides 03 Windows Bevezeto

    39/48

    The configuration manager is responsible for implementing and managing the system registry.

    The process and thread manager creates and terminates processes and threads. The underlying support for processes and threads is

    implemented in the Windows kernel; the executive adds additional semantics and functions to these lower-level objects. The security reference monitor (or SRM) enforces security policies on the local computer. It guards operating system resources, performingrun-time object protection and auditing.

    The I/O manager implements device-independent I/O and is responsible for dispatching to the appropriate device drivers for furtherprocessing.

    The Plug and Play (PnP) manager determines which drivers are required to support a particular device and loads those drivers. It retrievesthe hardware resource requirements for each device during enumeration. Based on the resource requirements of each device, the PnPmanager assigns the appropriate hardware resources such as I/O ports, IRQs, DMA channels, and memory locations. It is also responsible forsending proper event notification for device changes (addition or removal of a device) on the system.

    The power manager coordinates power events and generates power management I/O notifications to device drivers. When the system isidle, the power manager can be configured to reduce power consumption by putting the CPU to sleep. Changes in power consumption byindividual devices are handled by device drivers but are coordinated by the power manager.

    The WDM Windows Management Instrumentation routines enable device drivers to publish performance and configuration information andreceive commands from the user-mode WMI service. Consumers of WMI information can be on the local machine or remote across thenetwork.

    The cache manager (explained in Chapter 11) improves the performance of file-based I/O by causing recently referenced disk data to residein main memory for quick access (and by deferring disk writes by holding the updates in memory for a short time before sending them to the

    disk). As you'll see, it does this by using the memory manager's support for mapped files. The memory manager implements virtual memory, a memory management scheme that provides a large, private address space for eac hprocess that can exceed available physical memory. The memory manager also provides the underlying support for the cache manager.

    The logical prefetcher accelerates system and process startup by optimizing the loading of data referenced during the startup of the systemor a process.

    In addition, the executive contains four main groups of support functions that are used by the executive components just listed. About a thirdof these support functions are documented in the DDK because device drivers also use them. These are the four categories of supportfunctions:

    The object manager, which creates, manages, and deletes Windows executive objects and abstract data types that are used to representoperating system resources such as processes, threads, and the various synchronization objects.

    The LPC facility passes messages between a client process and a server process on the same computer. LPC is a flexible, optimized version ofremote procedure call (RPC), an industry-standard communication facility for client and server processes across a network.

    A broad set of common run-time library functions, such as string processing, arithmetic operations, data type conversion, and securitystructure processing.

    Executive support routines, such as system memory allocation (paged and nonpaged pool), interlocked memory access, as well as twospecial types of synchronization objects: resources and fast mutexes.

    40

  • 8/3/2019 Slides 03 Windows Bevezeto

    40/48

    ---------------------------------------------------------------------------------

    Az objektumokat a WinObj Sysinternalseszkzzel lehet megnzni:- global??: szimbolikus linkek, pl. a C: csak egy link a \Device\HarddiskVolume1

    - ObjectTypes: a rendszerben lv objektum tpusok

    41

  • 8/3/2019 Slides 03 Windows Bevezeto

    41/48

    42

    Kernel-mode functions (services) are invoked from user mode via a protectedmechanism

    x86: INT 2E (as of XP, faster instructions are used where available:SYSENTER on x86, SYSCALL on AMD) i.e., on a call to an OS service from user mode, the last thing that happensin user mode is this change mode to kernel instruction Causes an exception or interrupt, handled by the system servicedispatcher (KiSystemService) in kernel mode Return to user mode is done by dismissing the interrupt or exception

    The desired system function is selected by the system service number Every Windows function exported to user mode has a unique numberThis number is stored in a register just before the change modeinstruction (after pushing the arguments to the service) This number is an index into the system service dispatch table

    Table gives kernel-mode entry point address and argument list length foreach exported function

    All validity checks are done after the user to kernel transition KiSystemService probes argument list, copies it to kernel-mode stack, andcalls the executive or kernel routine pointed to by the table Service-specific routine checks argument values, probes pointed-tobuffers, etc.Once past that point, everything is trusted

    This is safe, because: The system service table is in kernel-protected memory; and The kernel mode routines pointed to by the system service table are inkernel-protected memory; therefore:

    User mode code cant supply the code to be run in kernel mode;it can only select from among a predefined list

    Arguments are copied to the kernel mode stack before validation;therefore:

    Other threads in the process cant corrupt the arguments outfrom under the service

  • 8/3/2019 Slides 03 Windows Bevezeto

    42/48

    Pldk:

    Windows API: CreateProcess, CreateFile, GetMessage

    Windows system services: NtCreateProcess

    Windows internal routines: ExAllocatePool

    NTOSKRNL.EXE fggsgei Windows XP-ben: hal.dll. Ntoskrnl is also linked againstBootvid.dll, the boot video driver that is used to implement the GUI startup

    screen. On Windows XP and later, you will see an additional DLL, Kdcom.dll, in the

    list. This contains kernel debugger infrastructure code that used to be part of

    Ntoskrnl.exe.

    43

  • 8/3/2019 Slides 03 Windows Bevezeto

    43/48

    ---------------------------------------------------------------------------------

    HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\ProductOptions:

    ProductType: WinNT=Workstation, ServerNT=Server not a domain

    controller, LanManNT=Server that is a Domain Controller

    ProductSuite: indicates type of Server (Advanced, Datacenter, or for NT4:

    Enterprise Edition, Terminal Server, )

    44

  • 8/3/2019 Slides 03 Windows Bevezeto

    44/48

    45

  • 8/3/2019 Slides 03 Windows Bevezeto

    45/48

    46

  • 8/3/2019 Slides 03 Windows Bevezeto

    46/48

    47

  • 8/3/2019 Slides 03 Windows Bevezeto

    47/48

    48

  • 8/3/2019 Slides 03 Windows Bevezeto

    48/48