Správa služieb a ovládačov systému Windows. Služby systému Windows zvnútra

Špecifikácie technológie PnP definujú, ako počítač zisťuje a konfiguruje pripojený hardvér a automaticky inštaluje ovládače. Technológia PnP je podporovaná vo Windows 7, takže po pripojení zariadenia automaticky vyhľadá vhodný balík ovládačov a nakonfiguruje zariadenie. To výrazne zjednodušuje inštaláciu.

Nemali by ste však dovoliť používateľom pripájať akékoľvek zariadenia k pracovným počítačom. Program ovládača beží ako súčasť operačného systému s neobmedzeným prístupom k celému počítaču, takže by ste mali povoliť iba inštaláciu dôveryhodného hardvéru. Kedy Používateľ systému Windows 7 pripojí zariadenie, je detekované. servis Pripoj a hraj identifikuje zariadenie a v úložisku vyhľadá požadovaný ovládač. Ak sa nájde, zariadenie sa považuje za autorizované a súbory ovládača áno Pripoj a hraj skopírované z úložiska ovládačov do systémového umiestnenia, zvyčajne do priečinka C:\Windows\System32\Drivers. Používanie služby Pripoj a hraj Register sa nakonfiguruje a spustí sa nainštalovaný ovládač.

Inštalácia ovládačov zariadení zo služby Windows Update

V predvolenom nastavení sú aktualizované ovládače zariadení nahrané do centra Aktualizácie systému Windows (aktualizácia systému Windows), sa stiahnu a nainštalujú na klientske počítače automaticky. Toto správanie môžete zmeniť v dialógovom okne Možnosti inštalácie zariadenia ( Nastavenia inštalácie zariadenia). Najjednoduchší spôsob, ako ho otvoriť, je zadať do vyhľadávacieho poľa ponuky Štart ( Štart) inštalácia frázového zariadenia ( inštalácia zariadenia) a kliknite na možnosť Zmeniť nastavenia inštalácie zariadenia ( Zmeňte nastavenia inštalácie zariadenia).

Predvolená hodnota je Áno, urobiť to automaticky (odporúča sa) ( Áno, urobiť to automaticky (odporúča sa)). Ak chcete zabrániť inštalácii neoverených ovládačov na počítačoch so systémom Windows 7, vyberte prepínač Nikdy neinštalovať ovládače zo služby Windows Update ( Nikdy neinštalujte softvér ovládača Zo systému Windows Aktualizovať).

Ak vyberiete možnosť Vždy inštalovať najlepšie ovládače zo služby Windows Update ( Vždy nainštalujte najlepší softvér ovládača zo služby Windows Update), možnosť výmeny už nainštalovaného ovládača sa určí automaticky. V takom prípade nebudete mať možnosť otestovať nový ovládač pred inštaláciou. Výberom možnosti Inštalovať ovládače zo služby Windows Update, ak sa nenachádzajú v počítači ( Nainštalujte softvér ovládača zo služby Windows Update iba vtedy, ak sa nenachádza v počítači), tiež nebudete môcť otestovať nový ovládač pred jeho inštaláciou. V podnikovom prostredí, najmä ak je softvér distribuovaný prostredníctvom služieb Windows Update Services ( WSUS), možnosť aktualizácie ovládačov z lokality Windows Update by mala byť zakázaná a lokalita by mala byť vylúčená z cesty vyhľadávania.

Umiestnenie ovládača zariadenia

Ak požadovaný ovládač nie je v úložisku, musí toto zariadenie schváliť správca. Tento proces sa nazýva inscenácia.

V skupinovej politike môžete používateľom štandardných počítačov povoliť schváliť inštaláciu zariadenia, ktoré patrí do určitej triedy inštalácie zariadenia. Môžete tiež hostiť ovládač zariadenia, aby si ho mohli nainštalovať bežní používatelia. Neodporúča sa to však robiť so všetkými zariadeniami. V tomto workshope sa naučíte, ako nakonfigurovať skupinovú politiku tak, aby používatelia bez administratívne privilégiá mohli nainštalovať jednotlivé zariadenia a triedy inštalácie zariadení.

V systéme Windows 7 sa proces umiestnenia začína vyhľadaním vhodného balíka ovládačov v priečinkoch špecifikovaných v položke databázy Registry DevicePath. Na workshope tejto lekcie sa naučíte, ako nastaviť ďalšie vyhľadávacie priečinky pre ovládače zariadení v systéme Windows 7. Ak sa nenájde vhodný ovládač, vykoná sa vyhľadávanie v službe Windows Update. Používateľ je potom vyzvaný na prilepenie inštalačný disk. Ak sa ovládač nájde, systém skontroluje, či má používateľ povolenie umiestniť balík ovládača do úložiska. Na tento účel musí mať používateľ poverenia správcu alebo zásady počítača musia umožňovať inštaláciu ovládačov pre známe zariadenia štandardnými používateľmi. Potom sa overí digitálny podpis balíka. Ak balík ovládača nie je podpísaný alebo podpísaný certifikátom, ktorý sa nenašiel v obchode Trusted Publishers, používateľ bude vyzvaný na potvrdenie akcie. Ak je ovládač schválený oprávneným používateľom, kópia balíka ovládača sa umiestni do úložiska ovládačov a inštalácia pokračuje.

Počas umiestňovania pomocou systému Windows všetky sú splnené potrebné kontroly zabezpečenie vrátane overenia administrátorských práv a digitálnych podpisov. Po úspešnom umiestnení balíka si každý používateľ prihlásený do počítača bude môcť nainštalovať ovládače z obchodu jednoduchým zapojením zariadenia. Táto akcia nevyžaduje žiadne špeciálne povolenia a vykonáva sa bez interakcie používateľa.

Inštalácia zariadenia bez Plug and Play

Ak zariadenie nepodporuje PnP (napríklad staré zariadenie), budete ho potrebovať na jeho inštaláciu účtu s administratívnymi právomocami. Ak máte inštalačný disk zariadenia, spoločnosť Microsoft odporúča použiť inštalačný program, ktorý je s ním dodaný. Zvyčajne sa to robí pred pripojením zariadenia. V opačnom prípade otvorte Správcu zariadení ( Správca zariadení), kliknite kliknite pravým tlačidlom myši názov počítača v strome konzoly a vyberte Inštalovať staré zariadenie ( Pridajte starší hardvér). Otvorí sa Sprievodca pridaním hardvéru ( Sprievodca pridaním hardvéru).

Podľa pokynov sprievodcu môžete vyhľadať vybavenie alebo nainštalovať zariadenie manuálne vybrané zo zoznamu. V prvom prípade musí byť zariadenie pripojené k počítaču. Postup inštalácie je rovnaký ako pri inštalácii zariadenia PnP, ktoré nebolo vopred autorizované. Ak sa rozhodnete vybrať hardvér sami, zobrazí sa vám zoznam typov zariadení. Ak vyberiete možnosť Zobraziť všetky zariadenia ( Všetky zariadenia), vyberte zariadenie zo zoznamu výrobcov. Ak máte zapnutý ovládač (nie nevyhnutne inštalačný balík ovládača). odpojiteľný disk alebo v priečinku na pevnom disku kliknite na tlačidlo Z diskety ( Mať Disk). Po výbere ovládača sprievodca nainštaluje hardvér. Ak sa vyskytnú problémy (napríklad chyby s kód 10- zariadenie sa nedá spustiť), budú uvedené na poslednej strane sprievodcu.

Nastavenia zásad inštalácie zariadenia

V tejto lekcii umožníte používateľom, ktorí nie sú správcami, inštalovať zariadenia danej inštalačnej triedy v lokálnom editore. skupinové pravidlá (Editor miestnej politiky skupiny). Môže sa použiť aj na konfiguráciu zásad inštalácie zariadenia. Rozbaľte uzly jeden po druhom: Konfigurácia počítača ( Konfigurácia počítača), administratívne šablóny ( Administratívne šablóny), Systém ( Systém), Inštalácia zariadenia ( Inštalácia zariadenia) a kliknite na položku Obmedzenia inštalácie zariadenia ( ). Prejdite na kartu Štandardné ( Štandardné) so zoznamom zásad.

Ak chcete otvoriť Editor miestnej politiky skupiny ( Editor miestnej politiky skupiny), zadajte gpedit.msc do vyhľadávacieho poľa ponuky Štart ( Štart). Nezabudnite si prečítať podrobnosti o každej politike v časti Obmedzenia inštalácie zariadenia ( Obmedzenia inštalácie zariadenia) a v časti Inštalácia zariadenia ( Inštalácia zariadenia), dvojitým kliknutím na politiku.

Práca s ovládačmi zariadení

Je známe, že na inštaláciu hardvéru musíte nájsť inštalačné súbory ovládača a nainštalovať ovládač. Po inštalácii je možné ovládač aktualizovať (inštaláciou iného ovládača), odinštalovať, zakázať a povoliť. Ak ste aktualizovali ovládač a nový ovládač funguje horšie ako predchádzajúci, vráťte sa späť na predchádzajúci ovládač.

Ak je aktualizovaný ovládač distribuovaný prostredníctvom služby Windows Update ( aktualizácia systému Windows), zvyčajne sa nainštaluje automaticky po stiahnutí. V Správcovi zariadení ( Správca zariadení) je tiež možné aktualizovať ovládač. Zvyčajne sa to používa na inštaláciu nového alebo aktualizovaného ovládača od dodávateľa hardvéru pred zverejnením ovládača v službe Windows Update. Získať Najnovšia verzia ovládač a otestujte ho na referenčnom počítači so systémom Windows 7, stiahnite si súbory ovládača z webovej lokality predajcu a ovládač aktualizujte manuálne.

Proces aktualizácie ovládača je podobný procesu inštalácie ovládača pri pridávaní nového hardvéru do počítača. Ak už bol ovládač schválený a nachádza sa v úložisku, alebo ak ho administrátor už zverejnil, po spustení proces aktualizácie pokračuje automaticky bez zásahu používateľa. V opačnom prípade môžete vyriešiť automatické vyhľadávanie ovládače pre zariadenie alebo manuálne nastavte priečinok vyhľadávania. Ak sa nájde ovládač, ktorý je novší ako už nainštalovaný ovládač, administrátor bude vyzvaný, aby ovládač schválil.

Existujú dva spôsoby, ako spustiť proces aktualizácie ovládača v Správcovi zariadení ( Správca zariadení):

  • Kliknite pravým tlačidlom myši na zariadenie a vyberte Aktualizovať ovládače ( Aktualizujte softvér ovládača);
  • Dvakrát kliknite na svoje zariadenie a kliknite na Aktualizovať ( Aktualizujte ovládač) na karte Ovládač ( Vodič).

Niekedy sa problém dá vyriešiť nie odstránením a opätovným nainštalovaním ovládača, ale jeho zakázaním.

Ak dôjde ku konfliktu ovládačov, ak hovoríme o nie o zariadení PnP, skúste deaktivovať jeden z ovládačov alebo ho zastaviť. Ak chcete ovládač vrátiť späť, otvorte kartu Ovládač ( Vodič) okno vlastností zariadenia. Ak je nainštalovaný iba jeden ovládač, tlačidlo Vrátiť späť ( Vrátiť späť ovládač) nie je k dispozícii. Vrátenie ovládača sa vykoná, ak aktualizovaný ovládač zariadenia funguje horšie ako predchádzajúci alebo je v konflikte s inými ovládačmi. V tomto prípade zostáva predchádzajúci ovládač v úložisku a proces prebieha bez zásahu používateľa (okrem potvrdenia akcie v okne UAC).

Ak chcete získať informácie o problémoch s ovládačom alebo jednoducho získať ďalšie informácie o ovládači, kliknite na tlačidlo Podrobnosti ( Podrobnosti vodiča) na karte Ovládač ( Vodič). Na obrazovke sa zobrazia informácie o umiestnení súborov ovládača. Upozorňujeme, že toto nie je obchod s ovládačmi (je to chránená oblasť). Spustené súbory ovládačov majú zvyčajne príponu SYS a fungujú ako súčasť OS. Inštalačné súbory ovládača majú príponu INF. Informácie o ovládači obsahujú informácie o predajcovi (zvyčajne tretej strane), verzii súboru, digitálnom podpise (zvyčajne Microsoft) a autorských právach. Verzia súboru je užitočná pri hľadaní informácií o problematickom ovládači na internete, napríklad na blogoch spoločnosti Microsoft.

Riešenie konfliktov ovládačov

V súčasnosti sú konflikty vodičov oveľa menej bežné ako predtým. Ale ešte pred 15 rokmi pri pripojení tlačiarne mohla myš prestať fungovať! Takmer všetky moderné vybavenie podporuje technológiu PnP. Inštalácia prebieha pod kontrolou OS a konfliktom sa spravidla dá vyhnúť. Systém však nie je dokonalý a existuje možnosť konfliktov. Konflikt sa zvyčajne vyskytuje, keď dve zariadenia vyžadujú rovnaké zdroje, najmä pri prekročení prerušení alebo rozsahov I/O. Využitie zdrojov môžete nastaviť v dialógovom okne Vlastnosti ( Vlastnosti) na karte Zdroje ( Zdroje). Väčšina ovládačov má začiarknuté políčko Automaticky nakonfigurované ( Použite Automatické nastavenia) a tlačidlo Zmeniť ( Zmeniť nastavenia) nie je k dispozícii.

Konflikty medzi zariadeniami PnP sa vyskytujú zriedkavo. Na ich vyriešenie stačí dočasne odpojiť jedno zo zariadení. Niekedy môžete konflikt vyriešiť aktualizáciou ovládača (ak je aktualizácia k dispozícii) alebo odstránením a preinštalovaním hardvéru. Ak sa konflikt týka zariadenia, ktoré nie je PnP, možno budete musieť zariadenie zastaviť, aby ste problém vyriešili. Ak chcete zastaviť zariadenie bez PnP, postupujte takto:

  1. Otvorte Správcu zariadení ( Správca zariadení).
  2. V ponuke Zobraziť ( vyhliadka) vyberte príkaz Zobraziť skryté zariadenia ( Zobraziť skryté zariadenia).
  3. Dvakrát kliknite na Ovládače zariadení bez Plug and Play ( Ovládače bez Plug and Play), kliknite pravým tlačidlom myši na zariadenie, ktoré chcete zastaviť, a vyberte položku Vlastnosti ( Vlastnosti).
  4. Na karte Ovládač ( Vodič) kliknite na tlačidlo Zastaviť ( Stop), potom Ok.

Reštartovanie zariadenia sa vykonáva takmer rovnakým spôsobom. Iba namiesto tlačidla Stop ( Stop) musíte kliknúť na tlačidlo Spustiť ( Štart). Okrem toho na tejto karte môžete zmeniť typ spustenia. Poznámka: ak tlačidlo Spustiť ( Štart) na karte Ovládač ( Vodič) nie je k dispozícii, ovládač je už načítaný.

Nájdite konflikty v systémových informáciách

Ak máte podozrenie, že ovládač zariadenia nefunguje správne z dôvodu konfliktu prostriedkov, otvorte pomôcku Systémové informácie ( Systémové informácie) a skontrolujte I/O a požiadavky IRQ všetkých zariadení. Je to pohodlnejšie ako otváranie karty Zdroje ( Zdroje) pre každé zariadenie samostatne. Ak chcete spustiť nástroj, zadajte msinfo32 do vyhľadávacieho panela ponuky Štart ( Štart), v okne Spustiť ( Bežať) alebo na príkazovom riadku. Spustenie Msinfo32 nevyžaduje zvýšený príkazový riadok. Program poskytuje všeobecné informácie o systéme.

V uzle Hardvérové ​​zdroje ( Hardvérové ​​zdroje) nájdete informácie o pamäti, I/O a zdrojoch prerušení IRQ pre každé z počítačových zariadení. Najužitočnejšie informácie na riešenie konfliktov sú v uzle Konflikty a zdieľanie ( Konflikty/Zdieľanie). Ak máte problémy s konkrétnym zariadením, zadajte jeho názov do poľa Hľadať ( Nájsť čo).

Informácie o konkrétne zariadenia(CD-ROM, zvukové zariadenie, displej atď.) sa nachádzajú v uzle Components ( Komponenty). Pri diagnostike je najužitočnejšia sekcia Zariadenia s problémami ( Problémové zariadenia). Zobrazuje zoznam nefunkčných zariadení, zariadení, pre ktoré nie sú nainštalované ovládače atď. V uzle Softvérové ​​prostredie (Softvérové ​​prostredie) je tu sekcia Systémové ovládače ( Systémové ovládače), ktorý uvádza ovládače jadra. Tu môžete zistiť, či ovládač funguje alebo nie. Ovládač môžete vyhľadať podľa názvu alebo popisu pomocou poľa Hľadať ( Nájsť čo).

Správca overovania ovládačov

Problémy s vodičmi nie sú vždy spôsobené konfliktmi. Stáva sa, že zariadenia nefungujú správne alebo sa vyskytnú chyby STOP, ale neexistujú žiadne informácie o konfliktoch a zakázanie iných ovládačov nepomôže. Windows 7 sa dodáva s nástrojom Driver Verifier Manager ( Monitor overovača ovládačov), ktorý vám umožňuje monitorovať ovládače zariadení a identifikovať neplatné volania procedúr alebo akcie, ktoré by mohli poškodiť systém. Umožňuje vám „zaťažiť“ ovládače a otestovať ich na nesprávne správanie.

Správca overovania ovládačov ( Monitor overovača ovládačov), volaný príkazom overovateľ. Príznak /volatile vám umožňuje spustiť kontrolu ľubovoľného ovládača bez reštartu, aj keď je správca kontroly ovládačov ( Monitor overovača ovládačov) už nefunguje a tiež spustite kontrolu už načítaného ovládača. Táto inovácia, prvýkrát predstavená v r Windows Vista, výrazne znižuje počet reštartov. To šetrí čas a umožňuje monitorovať ovládač pri pripájaní alebo odpájaní zariadenia.

Pomocou správcu môžete požadovať parametre, pridávať a odstraňovať zariadenia, ale parameter /faults má najväčšiu funkčnosť, ktorá vám umožňuje zadať záťažové testy danú úroveň zložitosti na určenie schopnosti vodiča správne pracovať vo všetkých situáciách. Môžete napríklad simulovať nedostatok zdrojov alebo režim spánku, ktorý vráti neočakávaný výsledok. Môžete monitorovať využitie prostriedkov (pridelenie fondu) a monitorovať počet chýb odoslaných do systému. Správca overovania ovládačov ( Monitor overovača ovládačov) je predovšetkým nástroj na generovanie záťaže, ktorý vás bude informovať napríklad o možnosti zlyhania ovládača, ak využitie disku alebo pamäte prekročí určitú hranicu. Pomocou viacerých môžete monitorovať využitie zdrojov a diagnostikovať príčiny nedostatku zdrojov spoločné fondy, napríklad System Monitor ( Monitor výkonu) alebo Správca úloh ( Správca úloh).

Podpisy ovládačov a digitálne certifikáty

Digitálne podpisy umožňujú správcom a používateľom, ktorí inštalujú softvér Windows, poznať identitu vydavateľa, ktorý softvérový balík poskytol. Inštalácia nepodpísaných komponentov v režime jadra vyžaduje oprávnenia správcu. Ovládače musia byť podpísané certifikátmi, ktoré sú dôveryhodné systémom Windows 7. Certifikáty podpísané dôveryhodnými vydavateľmi sú uložené v úložisku certifikátov Trusted Issuers ( Dôveryhodní vydavatelia).

Správca môže schváliť inštaláciu nepodpísaného ovládača alebo ovládača s podpisom, ktorý sa nenachádza v pamäti certifikátov od dôveryhodných vydavateľov. To je prijateľné za predpokladu, že ovládač je nainštalovaný na testovacom počítači na účely hodnotenia a nie na hromadnú distribúciu na klientske počítače. Mnohé ovládače pochádzajú z dôveryhodných zdrojov (ako sú výrobcovia hardvéru), ale ešte neprešli procesom overenia, ktorého výsledkom je digitálny podpis. Dokonca aj niektoré ovládače od Microsoftu nie sú podpísané. Keď vy alebo iní správcovia inštalujete ovládače, autorizácia nie je problém. Iná vec je, keď na inštaláciu ovládača potrebujete bežných používateľov. Dokonca aj po odoslaní ovládača ho používatelia nebudú môcť nainštalovať, pretože inštaláciu ovládača môže schváliť iba správca bez platného podpisu.

Certifikát s vlastným podpisom, ktorý je platný vo vašej organizácii, môžete získať iba zo servera CA so systémom Windows Server so spustenými certifikačnými službami ( Certifikačné služby). Takýto certifikát nie je platný v inej organizácii, ak neexistuje vzťahy dôvery. Dokonca aj vo vašej organizácii spoločnosť Microsoft odporúča, aby ste tento postup používali iba v testovacej sieti a aby ste v produkčnom prostredí inštalovali iba ovládače s platným podpisom.

Aby podpísaný ovládač zariadenia mohli používať iné organizácie, certifikát musí vydať dôveryhodná externá CA, ako napríklad VeriSign. Získať takýto certifikát je oveľa náročnejšie. Ak chcete používateľom umožniť inštaláciu ovládača bez dôveryhodného podpisu, musíte podpísať balík ovládača zariadenia digitálnym certifikátom a potom doručiť certifikát na klientske počítače. Používatelia tak nebudú musieť kontrolovať spoľahlivosť vydavateľa alebo ovládača zariadenia.

Balík ovládača zariadenia musí byť umiestnený v zabezpečenom úložisku ovládačov klientskeho počítača bežný používateľ Podarilo sa mi nainštalovať balík bez toho, aby som mal práva správcu. Zvyčajne je vhodnejšie nasadiť certifikát na klientske počítače pomocou skupinovej politiky. Umožňuje vám automaticky nainštalovať certifikát na všetky spravované počítače v doméne, organizačnej jednotke alebo lokalite.

Prítomnosť digitálneho podpisu je zárukou, že balík pochádza z deklarovaného zdroja (pravosť) bez poškodenia alebo zmien (integrita). Digitálny certifikát slúži ako identifikácia organizácie. Je dôveryhodný, pretože je elektronicky overený certifikačnou autoritou.

Všeobecný postup podpísania ovládača zariadenia je nasledujúci:

  1. Vytvorte digitálny certifikát v konzole Certifikáty ( Certifikáty) na certifikačnom serveri. Prípadne môžete použiť nástroj MakeCert.
  2. Pridajte certifikát do úložiska dôveryhodných koreňových certifikačných autorít ( Dôveryhodné koreňové certifikačné autority). Táto operácia sa vykonáva v konzole Certifikáty ( Certifikáty) skopírovaním a vložením.
  3. Pridajte certifikát do obchodu Trusted Issuers ( Dôveryhodní vydavatelia). Robí sa to aj v module snap-in Certifikáty ( Certifikáty).
  4. Podpíšte balík ovládača zariadenia certifikátom. Ak to chcete urobiť, pripravte sa súbor INF balík ovládačov, vytvorte katalógový súbor pre balík ovládačov a podpíšte katalógový súbor pomocou pomôcky Signtool.

Úvod

Toto popisuje programovanie služby
v OS Windows (budem tiež používať výraz
„služba“, čo je ekvivalent výrazu „služba“),
uvádza príklad použitia pre
sťahovanie ovládačov alebo rootkitov.

Služby

Po spustení OS sa spustí správca služieb (SCM).
Manažér). Čítanie údajov z registra (meno
služba, spôsob sťahovania, typ ovládača atď.),
zostavuje databázu pre správu
služby. Popíšem niektoré funkcie, s
pomocou ktorého môžete spravovať služby.
Najprv musíte vytvoriť spojenie s týmto
databázy (databáza SCM), potom preneste
databázový index pre niektoré funkcie,
manažérov služieb.

Ako som povedal, prvá vec, ktorú musíte urobiť, je
vytvoriť prepojenie na databázu SCM. Pre to
je funkcia OpenSCManager.

SC_HANDLE OpenSCManager(LPCTSTR lpMachineName, LPCTSTR
lpDatabaseName, DWORD dwDesiredAccess);

LPCTSTR lpMachineName - ukazovateľ na reťazec,
ukončené nulou, označujúce meno
lokálny počítač. Táto možnosť
možno nastaviť na NULL.

LPCTSTR lpDatabaseName - ukazovateľ na reťazec,
null-ukončené, obsahujúce meno
na otvorenie databázy
by mala byť tiež nastavená na NULL.

DWORD dwDesiredAccess – tento parameter obsahuje
príznaky označujúce prístupové práva k databáze
údaje nebudem uvádzať všetky vlajky v
v tomto článku uvažujem len o nich
požadované schopnosti servisného programovania
na stiahnutie rootkitov.

SC_MANAGER_ALL_ACCESS - štandardné prístupové práva do databázy.
SC_MANAGER_CONNECT - umožňuje pripojenie k databáze SCM.
SC_MANAGER_CREATE_SERVICE - umožňuje vytváranie nových
služby.

Vytvorením spojenia s databázou SCM môžete spravovať
služby.

Na získanie sa používa funkcia OpenService
deskriptor služby. Upozorňujeme, že táto funkcia nie je
vytvára službu, slúži na vytvorenie služby
CreateService, ale otvorí už vytvorenú službu
služby.

SC_HANDLE OpenService(SC_HANDLE hSCManager, LPCTSTR
lpServiceName, DWORD dwDesiredAccess);

SC_HANDLE hSCManager - vrátený popisovač
funkciu OpenSCManager.

LPCTSTR lpServiceName - názov služby, ktorá sa má otvoriť.

DWORD dwDesiredAccess - práva, s ktorými môžeme
otvorte službu. Tu sú niektoré z nich:

SERVICE_ALL_ACCESS sú štandardné prístupové práva.
SERVICE_START – umožňuje spustenie služby.
SERVICE_STOP - umožňuje zastaviť službu.

Táto funkcia vracia ukazovateľ
služba sa otvára. Po prijatí môžeme
spravovať službu v súlade s
dané práva.

Táto funkcia je potrebná na vytvorenie služby.

SC_HANDLE CreateService(SC_HANDLE hSCManager, LPCTSTR
lpServiceName, LPCTSTR lpDisplayName, DWORD dwDesiredAccess, DWORD dwServiceType,
DWORD dwStartType, DWORD dwErrorControl, LPCTSTR lpBinaryPathName, LPCTSTR
lpLoadOrderGroup, LPDWORD lpdwTagId, LPCTSTR lpDependencies, LPCTSTR
lpServiceStartName, LPCTSTR lpPassword);

Prvý parameter (hSCManager) ukazuje na
ukazovateľ vrátený funkciou OpenSCManager.
Nasledujúce dva parametre naznačujú
riadky obsahujúce názov služby, ktorá sa má vytvoriť a
meno, ktoré sa má použiť
používateľské rozhranie. Ďalšie
parameter obsahuje príznaky,
definovanie prístupových práv k službe. Tu
sú použité rovnaké príznaky ako vo funkcii
OpenService. Vo väčšine prípadov budete potrebovať
nastavenie tohto príznaku na SERVICE_ALL_ACCESS. Parameter
dwServiceType určuje typ vytváranej služby
služby. V tomto prípade musíte nainštalovať
v SERVICE_KERNEL_DRIVER, ktorý zase
znamená, že služba bude spravovať
ovládač na úrovni jadra. Iné významy
znamená, že to bude ovládač súboru
systémov atď. Parameter dwStartType je veľmi dôležitý, pretože
definuje, ako sa služba spúšťa. V našom
Ak áno, mal by byť nainštalovaný v
SERVICE_BOOT_START alebo SERVICE_AUTO_START, čo znamená
prakticky to isté - spustenie služby v
čas spustenia operačný systém.
Parameter dwErrorControl určuje ako
spracovanie chýb, ktoré sa vyskytujú v našom
V tomto prípade by mala byť nastavená na SERVICE_ERROR_NORMAL.
Ďalším parametrom je lpBinaryPathName - ukazovateľ na
reťazec ukončený nulou, ktorý ukazuje na
úplná cesta k vodičovi (v našom prípade
rootkit), ktorý bude služba spravovať.
Mali by byť nasledujúce parametre
nastaviť na NULL, pretože v tomto nie sú dôležité
prípad.

Existuje funkcia na spustenie služby
StartService.

BOOL StartService(SC_HANDLE hService, DWORD
dwNumServiceArgs, LPCTSTR *lpServiceArgVectors);

SC_HANDLE hService - popisovač služby vrátený
funkcia CreateService alebo OpenService. Parameter
dwNumServiceArgs obsahuje počet parametrov
špecifikované v poli lpServiceArgVectors. V tom
pole špecifikuje parametre, ktoré
budú prevedené do služby. Upozorňujeme, že služby
ovládače nepoužívajú tento parameter,
teda posledné dva parametre v našom
V tomto prípade ho musíte nastaviť na NULL. Ak je funkcia
úspešne vykonaný, potom sa vráti
nenulová hodnota. Funkcie na zastavenie
nie je tam služba, ale dá sa s ňou jednoducho napísať
pomocou funkcie ControlService:

BOOL ControlService(SC_HANDLE hService, DWORD dwControl,
LPSERVICE_STATUS lpServiceStatus);

Parameter dwControl obsahuje príznaky using
koho sa pýtate, čo treba urobiť
služby. Ak potrebujete prestať pracovať
službu, môžete si ju nainštalovať
SERVICE_CONTROL_STOP. Pomocou tejto funkcie môžete
pohodlnejšie zastaviť a spustiť
služby. Ak chcete napríklad pozastaviť službu,
nastavte parameter dwControl na SERVICE_CONTROL_PAUSE a
pokračovať v práci v SERVICE_CONTROL_CONTINUE.
Parameter lpServiceStatus je ukazovateľ na štruktúru
SERVICE_STATUS, kde sa zadáva aktuálny stav
služby. Ak to nepotrebujete, nastavte ho na NULL
Dôležitý je aktuálny stav služby. Toto
funkcia vráti nenulovú hodnotu, keď
úspešné ukončenie.

Vymenoval som všetky potrebné funkcie pre
sťahovanie rootkitov (ovládačov).Zavrieť
Štruktúry DT SCM využívajú funkciu
CloseServiceHandle. Berie jedinú
parameter - DT SCM, t.j. popis sa vrátil
funkciu OpenSCManager.

Všetky tieto funkcie úplne postačujú
sťahovanie a spúšťanie rootkitov. Nižšie som ja
Uvediem príklad použitia týchto funkcií.

#define rootkitname "myrootkit" //
nastaviť názov nášho rootkitu

BOOL StopRootkit(SC_HANDLE hService) //
oznamujeme
funkcie na zastavenie a spustenie služby

BOOL StartRootkit(SC_HANDLE hService)//
int main()
{
SC_HANDLE hManager,hService; //
deskriptory
databázy a služby SCM

LPVTSTR rootkpath="C:\myrootkit.sys"; //

úplná cesta k nášmu rootkitu

hManager=OpenSCManager(NULL,NULL,SC_MANAGER_ALL_ACCESS); //
tvoríme
spojenie s databázou SCM

if (hManager) // ak je všetko ok
{

hService=CreateService(hManager, rootkitname,rootkitname,SERVICE_ALL_ACCESS,
SERVICE_KERNEL_DRIVER, SERVICE_BOOT_START, SERVICE_ERROR_NORMAL, \rootkpath,
NULL,NULL,NULL, NULL,NULL,NULL); // tvoríme
službu, ktorá spravuje náš rootkit

if (hService) // je všetko v poriadku?
{
StartService(hService,NULL,NULL); //
spustiť
vytvorila službu, čím začala našu
rootkit

}

if (StopRootkit(hService)) // Ak
zastávka bola úspešná,

{
StartRootkit(hService);//
potom znova
poďme to spustiť

};
CloseServiceHandle(hManager); //
Zavrieť
DT SCM (DB SCM).

}
BOOL StopRootkit (SC_HANDLE hService)
{
BOOL ok=pravda;
if(hService)
{
ok=ControlService(hService,SERVICE_CONROL_STOP,NULL); //
hovor
funkciu ControlService s príznakom SERVCE_CONTROL_STOP, tzv

ak (!ok) // najviac zastavenie
prevádzka služby

{
ok=false;
};
};
vrátiť ok;
}

BOOL StartRootkit (SC_HANDLE hService)
{
BOOL ok=pravda;
if(hService)
{
ok=ControlService(hService,SERVICE_CONTROL_START,NULL); // hovor
funkciu ControlService s príznakom SERVCE_CONTROL_START, tak

ak (!ok) //s Pri prvom spustení služby
{
ok=false;
};
};
vrátiť ok;
}

Tento príklad len ukazuje, čo mám na mysli
napísal vyššie. Môžete pridať
dodatočné kontroly
predchádzanie možným chybám.

Odporúčam vám prečítať si Svenovu knihu
Schreiber („Nezdokumentovaný
funkcie systému Windows 2000"), časť venovaná
programovanie ovládačov. Tiež
Odporúčam sériu článkov od Four-F venovanú
vytváranie ovládačov vo Windows NT. Pozri
článok od Ms-Rem, "Interception API funkcie na Windows NT
(časť 3).
v minulosti rootkit.com.

Na správu zariadení a ich priradených ovládačov je k dispozícii niekoľko nástrojov: Správca zariadení, Zariadenia a tlačiarne, Device Stage™ a nástroj Pnputil, ktorý sa spúšťa z príkazový riadok so zvýšenými výsadami.

Správca zariadení je dostupný vo všetkých kategóriách položiek ovládacieho panela a pomáha vám inštalovať a aktualizovať ovládače pre hardvérové ​​zariadenia, meniť nastavenia hardvéru pre tieto zariadenia a riešiť problémy.
V Správcovi zariadení môžete vykonávať nasledujúce úlohy:

  • Zobraziť zoznam nainštalovaných zariadení
  • Odstráňte zariadenie
  • Povoliť alebo zakázať zariadenie
  • Riešenie problémov so zariadením
  • Aktualizujte ovládač zariadenia
  • Vráťte vodiča späť.

Stav zariadenia ukazuje, či má zariadenie nainštalované ovládače a či systém Windows dokáže so zariadením komunikovať. Ak chcete zobraziť stav zariadenia:

  1. Kliknite pravým tlačidlom myši na zariadenie a vyberte Vlastnosti.
  2. Prejdite na kartu Všeobecné a v stavovej oblasti zobrazte popis Aktuálny stav zariadení.

Pomocou Správcu zariadení môžete spravovať zariadenia iba na lokálnom počítači.

Zariadenia a tlačiarne.

Kategória "Zariadenia a tlačiarne" v ovládacom paneli tiež poskytuje dodatočná príležitosť na správu zariadení. Na uľahčenie zložitých úloh konfigurácie vás celým procesom inštalácie prevedie sprievodca konfiguráciou. Windows 7 rozpozná nové zariadenia a pokúsi sa automaticky stiahnuť a nainštalovať všetky ovládače potrebné pre dané zariadenie.

Zariadenia, ktoré sa zobrazujú v časti Zariadenia a tlačiarne, sú zvyčajne externé zariadenia, ktoré pripájate alebo odpájate od počítača prostredníctvom portu alebo sieťového pripojenia.

V časti „Zariadenia a tlačiarne“ je zobrazená multifunkčná tlačiareň, ktorú je možné namiesto samostatnej tlačiarne spravovať ako jedno zariadenie, skener alebo faxové zariadenie. Každý jednotlivý komponent multifunkčnej tlačiarne je zobrazený a spravovaný samostatne v Správcovi zariadení.

Štádium zariadenia

Device Stage poskytuje používateľom Nová cesta na prístup k zariadeniam a ďalšie možnosti ich spravovať. Zariadenia sa zobrazia na paneli úloh ako ikona fotografie. Táto ikona na paneli úloh môže poskytnúť rýchly prístup k bežným úlohám zariadenia; Indikátory stavu, ktoré umožňujú používateľom rýchlo pochopiť stav batérie, stav časovania zariadenia, zostávajúcu kapacitu, odkazy na používateľské príručky, ďalšie aplikácie, informácie o komunite a pomoc alebo ďalšie produkty a služby.

Poradie načítania ovládačov a služieb v systéme Windows



Pre tých, ktorí sa zaujímajú o vnútorné fungovanie operačného systému Windows, navrhujem malý prieskum. Pokúsime sa zistiť, čo je zodpovedné za poradie načítavania ovládačov a služieb v systéme Windows a či je možné toto poradie zmeniť.

Najprv sa pozrime na aktuálne poradie spúšťania systému pomocou programu LoadOrder od Sysinternals. Program nám pri štarte operačného systému ukáže, čo je načítané a v akom poradí.

Ako vidno z obrázku, najskôr sa načítajú ovládače zariadení potrebné na spustenie systému a potom rôzne služby Windows. Keďže existujú určité rozdiely medzi načítavaním služieb a načítavaním ovládačov, zvážime ich samostatne.

Vodiči

Ako testovací predmet si vezmime ovládač Microsoft ACPI (Advanced Configuration and Power Interface), ktorý je zodpovedný za detekciu hardvér a správu napájania. Úlohou ACPI je umožniť komunikáciu medzi operačným systémom a hardvérom, takže ovládač ACPI sa načíta hneď na začiatku.

Program Loadorder poskytuje pomerne obmedzené informácie o poradí načítania, takže pre presnejšie údaje ideme do registra. Každý ovládač a služba Windows má svoju vlastnú sekciu vo vetve registra HKLM\SYSTEM\CurrentControlSet\Services. Sekcie sú pomenované podľa názvu driver\service, takže potrebujeme sekciu ACPI.

Tri parametre registra riadia poradie, v ktorom sa načíta ovládač. Hlavný parameter Štart- určuje typ spustenia ovládača. Tu sú pravidlá, podľa ktorých vodiči nastavujú hodnotu svojho parametra Štart:

Ovládače, ktoré by mali naložiť zavádzač pri spustení operačného systému, uveďte hodnotu Štart rovný 0 (spustiť pri zavádzaní systému ). Príklad - Ovládače a ovládač systémovej zbernice systém súborov, ktorý sa používa pri zavádzaní systému;
Vodič to nevyžaduje sa priamo na spustenie systému, ukazuje na Štart hodnota rovná 1 (spustenie systému ). Príklad - štandardný ovládač grafickej karty (VgaSave);
vodič, nie je potrebný na spustenie systému, nastaví hodnotu Štart rovný 2 (automatický štart). Príkladom je ovládač pre poskytovateľa viacerých UNC (MUP), ktorý podporuje názvy UNC vzdialených zdrojov (typ );
vodiči, nie je potrebný pre fungovanie operačného systému(napríklad vodiči sieťové adaptéry), uveďte hodnotu Štart rovný 3 (spustiť na požiadanie ).

Ovládače zariadení môžu tiež používať parametre Skupina A Tag na ovládanie poradia spúšťania pri spustení systému. Drivers\services používajú parameter Group na označenie skupiny, do ktorej patria, a poradie, v ktorom sú skupiny načítané, je určené parametrom Zoznam, ktorý sa nachádza v časti HKLM\SYSTEM\CurrentControlSet\Control\ServiceGroupOrder\.

Mimochodom, parameter Group nie je povinný. Ak ovládač\služba nie je zahrnutý v žiadnej skupine, načíta sa na samom konci frontu.

Vodič môže ďalej upraviť poradie nakladania pomocou parametra Tag, ktorý špecifikuje špecifickú pozíciu vodiča v skupine. I/O Manager zoradí ovládače v skupine na základe hodnoty tohto parametra a ovládače, ktoré nemajú parameter Tag, sa presunú na koniec zoznamu ovládačov v skupine.

Pri pohľade na poradie načítania si možno budete myslieť, že najskôr sa načítajú ovládače s menšími hodnotami tagu a potom ovládače s väčšími, ale nie je to úplne pravda. Priorita hodnôt parametrov značky v rámci skupiny je určená v sekcii HKLM\SYSTEM\CurrentControlSet\Control\GroupOrderList.

Otvorme si napríklad binárny parameter Boot Bus Extender, ktorý zodpovedá skupine s rovnakým názvom, do ktorej patrí ovládač ACPI. Parameter je množina dvojitých slov (každé 4 bajty). Prvé slovo (zvýraznené červenou farbou) určuje celkovú dĺžku premennej (počet dvojitých slov), v našom príklade 06. Zvyšné dvojité slová sú len značky. Ovládač ACPI má štítok rovný 01 (zvýraznený zelenou farbou).

Priorita tagu nie je určená hodnotou tagu, ale jeho pozíciou: čím vyššie je tag umiestnený, tým má vyššiu prioritu v skupine a tým vyššiu prioritu má ovládač, ktorému tento tag zodpovedá. A keďže 01 je vyššie ako ostatné značky, ovládač ACPI sa načíta ako prvý v skupine.

Služby

Poradie, v ktorom sa načítavajú služby systému Windows, sa trochu líši od poradia, v ktorom sa načítavajú ovládače. Vezmime si ako príklad službu automatickej aktualizácie (wuauserv). Nie je obzvlášť kritický pre fungovanie systému, a preto sa načítava ako posledný.

Poďme znova do registra. Parametre spustenia služby sa nachádzajú v časti HKLM\SYSTEM\CurrentControlSet\Services\wuauserv. Identifikoval som dva hlavné parametre, ktoré sú zodpovedné za poradie načítania tejto služby.

Služby Windows spúšťa Service Control Manager (SCM) podľa hodnoty parametra Štart. Tento parameter pre služby môže nadobúdať nasledujúce hodnoty:

Auto start (2) - služba sa spustí automaticky, ihneď po spustení hlavného procesu SCM Services.exe;
Spustenie na požiadanie (3) – služba sa spustí v prípade potreby na žiadosť akejkoľvek služby alebo programu;
Vypnuté (4) – služba je zakázaná a za žiadnych okolností sa nespustí.

Hodnoty ​​0 (spustenie pri zavádzaní systému) a 1 (spustenie systémom) pre služby nemožno zadať, iba pre ovládače zariadení.

Okrem toho sa počnúc systémom Windows Vista\Server 2008 objavil ďalší režim spustenia služieb - oneskorené automatické spustenie. Je za to zodpovedný parameter Oneskorený AutoStart = 1, ktorý povie SCM, aby automaticky spustil túto službu s oneskorením. SCM spustí služby, ktoré sú nastavené na oneskorené spustenie po načítaní služieb, ktoré sú označené na automatické spustenie.

Režim spustenia služby je možné ovládať nielen z registra, ale aj v grafickom režime z konzoly Služby.

Rovnako ako ovládače môžu služby systému Windows použiť parameter Group v kľúči databázy Registry na označenie skupiny, do ktorej patria. Teraz si pre prehľadnosť zoberme našu službu wuauserv, ktorá sa nachádza na samom konci zoznamu sťahovania. Pomocou kľúča Group ho umiestnime do skupiny Event Log, reštartujeme a pozrieme sa na poradie načítania v Loadorder. Ako vidíte, poradie sa zmenilo a wuauserv sa zdvihol z posledného miesta a načítal sa hneď po svojom spolužiakovi - službe eventlog. Je pravda, že poradie umiestnenia v rámci skupiny nemožno zmeniť, pretože Značka sa nepoužíva pre služby.

A ešte jeden parameter, ktorý nepriamo ovplyvňuje poradie, v akom sa služby načítavajú - DependOnService. Označuje, od ktorých služieb závisí služba. Služba sa teda nenačíta, kým sa nenačítajú služby uvedené v DependOnService.

Závislosti fungujú nasledovne – ak sú služby v rovnakej skupine, tak sa závislá služba presunie na koniec zoznamu a začne za službami, na ktorých závisí. Ak sú skupiny odlišné, služba sa jednoducho nespustí a SCM vygeneruje chybu.

Jasnejšie je to znázornené v module Služby, kde na karte Závislosti sú uvedené služby, od ktorých daná služba závisí, ako aj služby, ktoré na nej závisia.

Zisťovali sme teda, v akom poradí sa vo Windowse načítavajú ovládače a služby a ako sa dá toto poradie zmeniť. Ale skôr, ako sa ponáhľate s úpravou registra, nezabudnite, že poradie, v ktorom sa načítavajú ovládače a služby, sa určuje automaticky a nemali by ste v ňom robiť zmeny bez dobrého dôvodu. Len jeden nesprávne nastavený parameter môže viesť k úplnej nefunkčnosti systému a nie je zaručené, že ho bude možné obnoviť. Preto si pred úpravou registra určite vytvorte jeho záložnú kópiu a vhodné je mať po ruke aj bootovacie médium.