[Hírlevelek archívuma ^] [< 2. kötet, 4. szám] [3. kötet, 1 >. szám]
The Systems Internals Newsletter Volume 2, Number 5
www.sysinternals.com
Copyright (c) 2000 Mark Russinovich
2000. november 30. – Ebben a kérdésben:
VEZÉRCIKK
A SYSINTERNALS ÚJDONSÁGAI
- PsLoggedOn v1.2
- PsShutdown 1.0-s verzió
- PsTools v1.1
- BgInfo v1.1
- Tokenmon v1.0
- Filemon v4.32
- Regmon v4.32
- A Windows 2000-ben, 3.
- Novemberi és téli Windows 2000 Magazin
- Sysinternals a Microsoftnál
- Sysinternals-licencelés
BELSŐ ADATOK
- NFI
- Rejtett Win9x beállításkulcsok
MI VÁRHATÓ?
- Új whistler rendszerhívások
SZPONZOR: WINTERNALS SZOFTVER
A Sysinternals Hírlevél által szponzorált Winternals Software, a weben www.winternals.com. A Winternals Software a Windows NT/2K fejlett rendszereszközök vezető fejlesztője és szolgáltatója. A Winternals software termékek közé tartozik a FAT32 a Windows NT 4.0-hoz, az NTFSDOS Professional Edition (a DOS olvasási/írási NTFS-illesztőprogramja) és a Távoli helyreállítás.
A Netstat parancs, amely a Windows 9x és a Windows NT/2000 összes verziójával rendelkezik, megmutatja, hogy milyen TCP/IP-portok vannak megnyitva a rendszeren, de nem mutatja meg, hogy melyik folyamat nyitotta meg a portot. A TCPView Pro, Winternals legújabb monitorozási eszköze nem csak egy netstat-egyenértékű tcpvstat parancssori eszközzel rendelkezik, amely megmutatja, hogy melyik folyamat rendelkezik nyitva az egyes portokkal, de tartalmaz egy grafikus felhasználói felületet, amely ugyanazokat az információkat jeleníti meg, valamint a TCP/IP-tevékenység valós idejű nyomkövetését. A valós idejű nyomkövetés megmutatja a hálózati hozzáférést biztosító alkalmazást, a hozzáférés helyi és távoli IP-címét opcionális DNS-névfeloldással, a hozzáférés típusát, a hozzáférés sikerességét és az átvitt adatok mennyiségét. A TCPView Pro csak 69 dollár. Töltse le a TCPView Pro 14 napos, teljesen működőképes próbaverzióját a www.winternals.com/products/monitoringtools/tcpviewpro.shtml.
Üdvözlök mindenkit!
Üdvözöljük a Sysinternals hírlevélben. A hírlevélnek jelenleg 28 000 előfizetője van.
A Windows NT-ről a Windows 2000-re való áttérés egyik előnye a nagymértékben továbbfejlesztett megbízhatóság. Számos cikkben írtam a fejlesztések okairól, és ezek elsősorban a Driver Verifier nevű eszköz eredményei. A Start menü Futtatás párbeszédpanelén a "hitelesítő" beírásával konfigurálhatja a verifiert, hogy szorosan figyelemmel kísérje az adott eszközillesztők végrehajtását, és a különböző illesztőprogram-programozási szabályok bármelyikét megsértse. A Verifier egy lépéssel tovább megy, mint a passzív monitorozás, azonban – ez is súlyosbítja a potenciált; hibafeltételek például az érvénytelen régiókkal ütköző illesztőprogram memóriablokkainak kiosztásával, valamint az illesztőprogramnak átadott adatstruktúrák adott mezőinek nullázásával. Ha valóban kemény akar lenni, a Verifier alacsony memóriafeltételeket szimulálhat az illesztőprogram számára.
A Microsoft az illesztőprogram-aláíró programon keresztül használja a Verifiert, amely megköveteli, hogy a Microsoft által digitálisan aláírt illesztőprogramok szigorú illesztőprogram-ellenőrző tesztelésen haladjanak át. Az illesztőprogram telepítésekor a hardvervarázsló ellenőrzi, hogy az illesztőprogram aláírt-e. Ha nem, akkor vagy figyelmezteti, vagy nem telepíti az illesztőprogramot az Illesztőprogram-aláírási beállítások párbeszédpanelen megadott beállításoktól függően, amely a rendszer kisalkalmazás hardveroldaláról érhető el a Vezérlőpult.
Az a tény, hogy az alapértelmezett illesztőprogram-aláírási szabályzat figyelmezteti a végfelhasználókat az aláíratlan illesztőprogramokra, elegendő ahhoz, hogy a legtöbb hardvergyártónak gondot okoz az illesztőprogramok robusztussá tétele és aláírása. Az eszközillesztők azonban észrevétlenül belopódhatnak a rendszerbe az illesztőprogram-aláírási szabályzat által. Csak az INF-fájlokkal telepített illesztőprogramok (az .inf bővítményben végződő illesztőprogram-telepítési fájlok) kapnak ellenőrzést az aláírásokért. A telepítőalkalmazások manuálisan is telepíthetik az illesztőprogramokat közvetlenül a telepítő API-k használatával, vagy az illesztőprogram beállításjegyzék-beállításainak manuális konfigurálásával. A Sysinternals-alkalmazások kiváló példák erre: Filemon, Regmon és más Olyan Sysinternals-eszközök, amelyek illesztőprogram-összetevői manuálisan telepítik az illesztőprogramokat, ezért nem figyelmeztetik, hogy a Microsoft nem írta alá őket.
Az INF-fájlokkal gyakran nem telepített illesztőprogramok közé tartoznak a vírusolvasók, a titkosítási szoftverek és a CD-ROM-égő szoftverek. Ez azonban nem zárja ki, hogy a hardverrel kapcsolatos illesztőprogramok átcsússzon. A Windows 2000 Sysinternals Ctrl2cap illesztőprogramja (www.sysinternals.com/ctrl2cap.htm egy hardverrel kapcsolatos illesztőprogram példája, amely úgy települ, hogy áthalad az illesztőprogram aláírási ellenőrzésein. Ez a kiskapu olyan illesztőprogramok jelenlétéhez vezet a rendszeren, amelyek nem lettek ellenőrizve, ami veszélyeztetheti a rendszer stabilitását (a legmagasabb beállításokon ellenőrizem az összes Sysinternals illesztőprogramot). A Microsoftnak nem csak az INF-fájlokkal telepített illesztőprogramokat kell kényszerítenie az aláírás ellenőrzésére.
Miért vagyok ezen a zsarnokságon? A CD-ROM égő szoftverem, amely a legnépszerűbb ilyen típusú szoftver a piacon, rendelkezik egy illesztőprogrammal, amely reprodukálhatóan összeomlik a Windows 2000 SP1 rendszerem. Ha úgy konfigurálom a Driver Verifiert, hogy ellenőrizze, a rendszer nem is fejezi be a rendszerindítást, mielőtt a Hitelesítő észleli az illesztőprogram első szabálysértését, és összeomlik a rendszer. Az illesztőprogram INF-fájl nélkül lett telepítve, ezért nem figyelmeztettek, hogy nincs aláírva. Garantálom, hogy ha a Microsoft szabályzata szigorúbb lenne, akkor ez a gyártó kétszer is meggondolná, mielőtt egy aláíratlan (és hibás) illesztőprogramot szállítana.
Kérjük, adja át a hírlevelet barátainak, akikről úgy gondolja, hogy érdeklik a tartalmai.
Köszönjük!
-Jegy
A SYSINTERNALS ÚJDONSÁGAI
PSLOGGEDON V1.2
A Naplózott névről PsLoggedOn-ra történő nyilvánvaló névváltoztatás mellett ez a parancssori eszköz, amely képes megmutatni, hogy ki van bejelentkezve helyileg és erőforrásmegosztásokon keresztül a helyi vagy távoli rendszeren, új funkciókkal rendelkezik. Az első a felhasználói visszajelzésekből származó "-l" parancssori kapcsoló. Sokan használják a PsLoggedOnt annak megtekintésére, hogy van-e helyileg bejelentkezett fiók a kiszolgálóikra. Előfordulhat például, hogy a felhasználók fájlmegosztásokon keresztül vannak bejelentkezve, de ez nem releváns, amikor döntést hoz arról, hogy mikor frissíthető egy fiók, vagy a kiszolgáló távolról felügyelhető.
A PsLoggedOn második új funkciója nemcsak azt mutatja be, hogy ki van bejelentkezve, hanem azt az időpontot is, amikor a bejelentkezés megtörtént. A PsLoggedOn ingyenesen szerzi be az erőforrás-megosztásokból származó bejelentkezések bejelentkezési idejét, ha Win32 API-t ( NetSessionEnumot) használ az erőforrás-megosztási bejelentkezések számbavételéhez (a parancssori Net-parancs a NetSessionEnumot is használja a munkamenetek számbavételéhez). Azonban nincs olyan Win32 API, amely elárulja, hogy ki van helyileg bejelentkezve egy rendszerbe, sokkal kevesebbet, amikor bejelentkeztek.
Annak megállapításához, hogy ki jelentkezett be helyileg a rendszerbe, a PsLoggedOn a számítógép beállításkulcsa alatt található biztonsági azonosítókat (SID-ket) sorolja HKEY_USERS
fel. Amikor valaki helyileg, a konzolon vagy egy szolgáltatáson keresztül jelentkezik be egy számítógépre, a rendszer betölti a profilját a HKEY_USERS
kulcsba. Az alkalmazások a kulcson keresztül férhetnek hozzá a HKEY_CURRENT_USER
profil beállításjegyzék-beállításaihoz, mert a rendszer ezt a kulcsot szimbolikus hivatkozásként kezeli az adott profilhoz a következő alatt HKEY_USERS
: . A PsLoggedOn így a számítógép HKEY_USERS
kulcsában található SID-k lefordításával a megfelelő felhasználónévre fordítva tudja tudni, hogy ki van helyileg bejelentkezve. A PsLoggedOn egy távoli számítógép beállításjegyzékéhez való csatlakozásra szolgál RegConnectKey
, amikor átirányítja a távoli rendszerbe bejelentkezett felhasználók listázására.
Hasonló trükkel megtudhatja, hogy egy felhasználó mikor jelentkezett be. Amikor a WinLogon-folyamat betölti a felhasználó profilját HKEY_USERS
a bejelentkezés után, a WinLogon létrehoz egy illékony (lemezen lévő profilba nem mentett) alkulcsot a profilban, megfelelő módon, illékony környezetben. A beállításjegyzék a beállításkulcsok utolsó módosított időbélyegeit tárolja, és mivel a rendszer nem módosítja az Illékony környezet alkulcsait a létrehozásuk után, a PsLoggedOn a változó környezeti alkulcs időbélyegének lekérésével meghatározhatja, hogy mikor jelentkezett be a felhasználó.
A PsLoggedOn 1.2-s verzió letöltése teljes forrással:
www.sysinternals.com/psloggedon.htm.
PSSHUTDOWN V1.0
Ha valaha is le kellett állítania vagy újra kellett indítania egy helyi vagy távoli Windows NT/2000 rendszert, akkor le kell töltenie a PsShutdownt. A PsShutdown a Windows NT/2000 Resource Kit leállítási eszköz klónja. Ugyanazokat a parancssori argumentumokat használja, amelyek lehetővé teszik, hogy a leállítás előtt késleltetést adjon meg, függetlenül attól, hogy újraindul-e, egy opcionális üzenet jelenik meg a rendszerbe jelenleg bejelentkezett felhasználók számára, valamint a számítógép nevét a leállításhoz vagy újraindításhoz.
Töltse le a PsShutdown 1.0-s verziót a www.sysinternals.com/psshutdn.htm.
PSTOOLS V1.1
Valószínűleg észrevette, hogy egyre több olyan eszköz van a Sysinternalsben, amelyek a "Ps" előtaggal kezdődnek. Az első a PsList nevű parancssori eszköz volt, amely a helyi vagy távoli Windows NT/2000 rendszeren futó aktív folyamatokkal kapcsolatos információkat sorolja fel. A PsListnek azért adtam nevet, mert a standard UNIX parancssori folyamatinformációs eszköz neve "ps". Az előtag lekérésének következő eszköze a PsKill nevű parancssori segédprogram volt, amely lehetővé teszi a helyi vagy távoli Windows NT/2000 rendszereken futó folyamatok leállítását. Adtam PsKill a "Ps" előtagot, mert tökéletes társsá tette a PsList-et.
Idővel más eszközöket is kifejlesztettem, amelyek ugyanazokat a meghatározó jellemzőket osztották meg, mint a PsList és a PsKill: parancssori alapúak, és helyi vagy távoli Windows NT/2000 rendszeren működnek. Az ElogList például lehetővé teszi a rendszer eseménynaplóinak tartalmát, és a GetSid egy számítógép vagy egy adott fiók SID-azonosítóját mutatta. Nemrég úgy döntöttem, hogy kösse össze ezeket az eszközöket azáltal, hogy az összes "Ps" előtagot, és így letölthető egyetlen csomag neve PsTools.
A PsTools, amely magában foglalja a PsListet, a PsKillt, valamint az átnevezett PsLogList és PsGetSid eszközt, összesen hét eszközből áll. Ha megjelenik egy Sysinternals-eszköz a "Ps" előtaggal, automatikusan tudja, hogy ez egy parancssori eszköz, amely helyileg és távolról is működik.
Töltse le a PsTools 1.1-et a www.sysinternals.com/pstools.htm.
BGINFO V1.1
A hatalmas felhasználói visszajelzések eredményeképpen a Bryce frissítette a BgInfo segédprogramot, amely az asztali háttérképet úgy állítja be, hogy testre szabható információkat jelenítsen meg a rendszer konfigurációjáról a felhasználói visszajelzések eredményeként. A BgInfo alapértelmezés szerint 10 másodpercig számlál le a párbeszédpanelen megadott beállítások alkalmazása előtt, /timer
de egy új parancssori lehetőség lehetővé teszi a visszaszámlálás teljes módosítását vagy megszüntetését. Ez kényelmesebbé teszi, ha a BgInfo-t befoglalja egy bejelentkezési szkriptbe, vagy parancsikonként a profil Indítás mappájába.
Az 1.1-es verzió egyéb új funkciókat is tartalmaz, például az Ön által definiált tetszőleges szöveg megjelenítésének lehetőségét és az előre definiált információkategóriákat. A BgInfo v1.1 asztali bitképe is általában kisebb, így minimálisra csökkenti a BgInfo asztali memóriaigényét.
Töltse le a BgInfo 1.1-et a www.sysinternals.com/bginfo.htm.
TOKENMON V1.0
A Tokenmon a Sysinternalsből letölthető monitorozási eszközök legújabb kiegészítője. A Tokenmon, amely ugyanazzal a felhasználói felülettel rendelkezik, mint az unokatestvéreinek, például a Regmonnak és a Filemonnak, jelentős biztonsági tevékenységet figyel egy Windows NT/2000 rendszeren. Mi a "jelentős" biztonsággal kapcsolatos tevékenység? A Windows NT/2000 biztonságának középpontjában a jogkivonat-objektum, egy olyan adatstruktúra áll, amely egy fiók SID-jét, csoportazonosítóit és jogosultságait tartalmazza. Amikor egy folyamat megpróbál hozzáférni egy védett objektumhoz, a biztonsági referenciamonitor a jogkivonatában lévő SID-ket használja a hozzáférés-ellenőrzés részeként. Ha egy folyamat korlátozott műveletet kísérel meg végrehajtani, például újraindítja a rendszert, a rendszer ellenőrzi a megfelelő jogosultságot a folyamat jogkivonatában.
A Windows NT/2000 biztonsági modell egyik hatékony (és szabadalmaztatott) funkciója a megszemélyesítés. A megszemélyesítés lehetővé teszi, hogy egy szál ideiglenesen felülbírálja a folyamatalapú identitását, és alternatív identitást fogadjon el egy megszemélyesítési jogkivonat használatával. A kiszolgálóalkalmazások kihasználják a megszemélyesítés előnyeit, amikor egy ügyfél nevében férnek hozzá az erőforrásokhoz, amikor a hozzáférés időtartama alatt elfogadják az ügyfél identitását.
A Tokenmon ugyanúgy telepíti a rendszerhívási horgokat, mint a Regmon a Beállításjegyzék API-k esetében, a jogkivonatok létrehozásának és törlésének, a jogosultságok engedélyezésének és letiltásának, valamint a megszemélyesítésnek a monitorozása érdekében. A Tokenmon az NT/2000 kernel által biztosított folyamatlétrehozási horgokat is használja a folyamatok létrehozásának és törlésének figyeléséhez, valamint más API-k segítségével határozza meg, hogy egy felhasználó mikor jelentkezik be és mikor jelentkezik be.
A Tokenmon teljes forráskódja közzé van adva, és érdemes megvitatni a kód által bemutatott érdekes technikák némelyikét. A Tokenmon az NtCreateToken rendszerhívás csatlakoztatásával észlel egy bejelentkezési eseményt, amelyet a bejelentkezési közvetítők, például a WinLogon használnak egy kezdeti token létrehozásához az új bejelentkezési munkamenet első folyamatához. Az első folyamat által létrehozott folyamatok öröklik az első jogkivonat másolatát. A logoff észleléséhez a Tokenmon a kernel módú SeRegisterLogonSessionTerminatedRoutine függvényen keresztül regisztrál a logoff-értesítésre, amely egy olyan API, amely a fájlrendszer-illesztőprogramok, úgynevezett hálózati átirányítók javára létezik, és gyorsítótárazza a bejelentkezési munkamenet adatait, és törölni szeretné a felhasználó kijelentkezésekor. A hálózati átirányítók a fájlmegosztási ügyfél-/kiszolgálókapcsolatok ügyféloldalát implementálják.
Egy másik érdekes Tokenmon implementálási részlet az, ahogyan a Tokenmon csatlakoztatja a figyelt API-kat. A Tokenmon-horgok egyes API-jait nem exportálják az eszközillesztők, hanem felhasználói módban NTDLL.DLL kódtárba exportálják a Win32-ekvivalenseket használó alkalmazások számára. A Regmon-horgokat kernel módban exportálja a Rendszerregisztrációs API-k, így a Regmon-eszközillesztő lekérheti a rendszerhívószámokat, és megfelelően csatlakoztathatja a rendszerhívási táblát. Az illesztőprogramok által nem exportált API-k esetében a Tokenmon GUI-nak be kell szereznie a hívószámokat a NTDLL.DLL exportálásával, majd át kell adnia a számokat az illesztőprogramnak, hogy az illesztőprogram csatlakoztathassa a rendszerhívási táblát. Így a Tokenmon bemutatja, hogyan kapcsolhatja össze a rendszerhívásokat, amelyek nem kernel módban vannak exportálva.
Töltse le a Tokenmon 1.0-s verziót teljes forrással a www.sysinternals.com/tokenmon.htm.
FILEMON V4.32
Ez a legújabb Filemon-frissítés intuitívabb és teljesebb szűrést vezet be, megjeleníti a Windows 9x/Me hálózati fájlhozzáférés teljes UNC elérési útját, valamint megjeleníti az NTFS metaadatfájlneveket.
A Filemon korábbi verzióiban kötelező helyettesítő karaktereket tartalmazó szűrőket kellett megadnia. Ha például a temp könyvtárhoz való hozzáféréseket szeretné figyelni a meghajtón C:
, be kellett írnia egy ilyen szűrőt: "c:\temp\*
".
Az új szűrési szintaxis nem kötelező, így míg a példaszűrő működik, a "c:\temp
" ugyanazt a hatást érné el. A Filemon emellett a megjelenített összes mezőre alkalmazza a megadott szűrőket, beleértve a folyamat nevét, a kérelem típusát, az elérési utat és az "egyéb" oszlopot. Ez a rugalmasság lehetővé teszi bizonyos típusú kérések vagy kérések megtekintését a másik oszlopban található bizonyos adatokkal, amelyek korábban nem lehetségesek.
A Windows 9x/Me rendszereken futó Filemon felhasználói mostantól teljes UNC szintaxissal jelenítik meg az elérési utak nevét, amikor távoli erőforrásokhoz férnek hozzá. A Filemon korábban nem jeleníti meg az ilyen hozzáférések kiszolgáló- vagy megosztásnevét, ami hiányos elérési utakat eredményezett.
Végül, ha Windows NT/2000 rendszeren használta a Filemont, kétségtelenül sok hozzáférés elérési útja oszlopában a "DASD" szöveg látható ("DASD" a "Direct Access Storage Device" kifejezésből származik, amelyet a Microsoft a fájlrendszerstruktúrákat megkerülő kötetek hozzáféréseinek leírására használ). Az NTFS-köteteken végzett legtöbb tevékenység esetében a DASD már a múlté. Ehelyett az olvasandó és írott NTFS-metaadatfájlok nevét fogja látni. Egy MFT-rekord frissítése például korábban DASD-kimeneti sort eredményezett volna, de most az MFT belső metaadatfájljának neve, a "$Mft" eléréseként fogja látni.
Miért nem jeleníti meg a Filemon korábban a metaadat-fájlneveket, és hogyan szerzi be most ezeket a neveket? Az NTFS metaadatfájlokat képviselő fájlobjektumok nem tárolnak fájlnevet, így a Filemon nem tudja kinyerni a nevet a fájlobjektumból. A Filemon alternatív metódusa a fájl nevének lekéréséhez, a fájlrendszer-illesztőprogram lekérdezéséhez sem működik NTFS metaadatfájlok esetében. Míg az NTFS a metaadatfájlok nevével válaszol, az NT 4-en lévő NTFS véletlenszerűen összeomlásokat okoz, és a Win2k ntfs-jei időnként lefagynak az ilyen lekérdezésekre való válaszadáskor.
A Filemonnak ezért egy trükköt kell alkalmaznia a metaadat-fájlnevek beszerzéséhez. Ha egy NTFS-köteten lévő fájlobjektumra irányuló kérést lát név nélkül, az NTFS-lekérdezést küld a fájl indexéhez. Ez ugyanaz az index, amelyet a Win32 GetFileInformationByHandle függvény ad vissza, az NTFS-köteteken lévő fájlok esetében pedig az index a fájl MFT-indexe. Az MFT első 16 bejegyzése adott metaadatfájlok számára van fenntartva, így az adott tartományban lévő index alapján a Filemon egyszerűen megkeresi a metaadat-fájl nevét a saját táblájában.
Sajnos továbbra is látni fogja a DASD-t a címtár metaadataihoz és a FAT-kötetekhez való hozzáféréshez, mert a FAT nem tárolja a címtár metaadat-fájljainak vagy a FAT-nak a nevét. Meg fog lepődni, hogy milyen gyakran érhető el az NTFS-naplófájl ($LogFile). Az NTFS a Whistleren egyébként tárolja a metaadatfájlok nevét, ezért a trükk szükségtelen a Whistler esetében.
A Filemon végleges továbbfejlesztése lehetővé teszi a Filemon számára, hogy ezredmásodperc felbontással mutassa a napi időbélyegeket. Ez a támogatás csúnya hackeléseket igényelt a Windows 9x/Me Filemon illesztőprogramban a Windows 9x/Me kernel időzítési függvényének hibái miatt. További információt a forráskódban talál.
Töltse le a Filemon v4.32-t a forráskóddal a www.sysinternals.com/filemon.htm.
REGMON V4.32
A Regmon módosításai nem olyan jelentősek, mint a Filemoné, de a Regmon mostantól ugyanazt az intuitívabb szűrési szintaxist támogatja, mint a Filemon, és a Filemonhoz hasonlóan a szűrőket minden mezőre alkalmazza. Ezredmásodpercben is megjeleníthető az időbélyegek felbontása.
Azok, akik elkezdtek játszani a Whistlerrel (a Windows 2000 utódja) 1. bétaverziója, észrevehettek, hogy a Regmon korábbi verziói összeomlanak a Whistler indításakor. Ennek az az oka, hogy a Microsoft írásvédett memóriába helyezte a rendszerhívási táblát, amelyet a Regmon módosít a horgok beszúrásához. A Regmon 4.32-es verziójának használata olyan technikát használ, amelyhez nem adtam meg forráskódot a Microsoft kérésére, mert a technika a Whistler végleges kiadásában megszakadhat, és a Microsoft a rendszerhívások csatlakoztatásának támogatásának módjait vizsgálja. A Windows NT-t nem a rendszerhívások csatlakoztatásának támogatására tervezték, ami a Regmon első kiadásának úttörője volt 1996 közepén.
Íme egy nem dokumentált Filemon/Regmon tipp. Gyakran kapok olyan e-maileket, amelyek a Regmon vagy a Filemon futtatását kérik egy nem rendszergazdai fiókból a Windows NT/2000 rendszeren Számos esetben működik megfelelően egy adott alkalmazás a rendszergazdai fiókból való futtatáskor, de nem a jogosulatlan felhasználóktól, ahol a Regmon és a Filemon hasznos lenne annak meghatározásához, hogy miért hiúsul meg az alkalmazás (általában egy fájl vagy beállításkulcs biztonsági beállításaival kapcsolatos probléma). A Regmon és a Filemon nem jogosult fiókból való futtatása azonban sikertelen lesz, mert a Filemon és a Regmon is telepíti az eszközillesztőket, ami rendszergazdai jogosultságot igényel.
Van azonban egy trükk, amellyel megkerülheti a problémát: Ha rendszergazdaként jelentkezik be, és elindítja a Filemon vagy a Regmon alkalmazást, később futtathatja őket nem jogosultsági jogosultságokkal rendelkező fiókokból. Ennek az az oka, hogy a Filemon és a Regmon egy illesztőprogramot telepít az első végrehajtásukra, és a következő végrehajtások során hozzáférnek a már betöltött illesztőprogramhoz. Mivel nem implementálok semmilyen biztonságot az illesztőprogramban, a nem jogosult felhasználók futtathatják az eszközöket az illesztőprogram betöltése után. Biztonsági probléma? Igen, de a Filemon és a Regmon hibaelhárítási eszközöknek szánták, ezért én és azok a személyek, akik megkérdezik, hogyan kell futtatni a segédprogramokat a nem hátrányos helyzetű fiókokból, ezt szolgáltatásként tekintem.
Töltse le a Regmon v4.32-t teljes forráskóddal a www.sysinternals.com/regmon.htm.
DEBUGVIEW V4.02
Az egyik alkalmazás kaptam a legtöbb felhasználói visszajelzést, némileg meglepő, DebugView. Ez az új verzió jelentős fejlesztéseket tartalmaz, amelyek a kapott funkció- és funkciókérések nagy részét kezelik, és minden eddiginél hatékonyabbá teszik a DebugView-t.
A DebugView most már legfeljebb öt különböző kiemelő szűrőt támogat, amelyek mindegyike saját testreszabható színekkel rendelkezik. Ez lehetővé teszi, hogy egyszerre otthon különböző kulcsszavakat a hibakeresési kimenet, és könnyen megkülönböztetni őket. Emellett a DebugView ugyanazt az új szűrési szintaxist implementálja, mint a Filemon és a Regmon, így a helyettesítő karakterek nem kötelezőek a részszűréshez.
A DebugView korábbi verzióival kapcsolatos panasz az, hogy még ha csak a Win32 hibakeresési kimenetét is rögzíteni szeretné, akkor is rendszergazdai jogosultságokra volt szüksége a DebugView futtatásához, mert a DebugView nem futna, ha nem tudná telepíteni az eszközillesztőt. Ez az új verzió még a különleges jogosultságokkal nem rendelkező fiókokból is fut. Ha nem tudja telepíteni vagy elérni az illesztőprogramot, egyszerűen letiltja a kernel módú rögzítéssel kapcsolatos menüelemeket.
Két olyan funkció, amely megkönnyíti, hogy a DebugView automatikusan rögzítse a kimenetet bejelentkezéskor, ez a kis méretű a tálcáról a tálcára lehetőség, és támogatja a parancssori kapcsolókat. Parancssori kapcsolók használatával elindíthatja a DebugView-t a rendszertálcában, és naplózhatja a fájlhoz rögzített kimenetet, és a DebugView elindítása után egy menübeállítással válthatja a kis méretű gomb viselkedését a normál méret minimalizálása és a rendszertálcára való minimalizálás között.
A Windows 2000 terminálszolgáltatások távoli munkameneteiben debugView szolgáltatást futtató felhasználók számára a DebugView mostantól rögzíti a távoli munkamenetben futó alkalmazások által létrehozott Win32-kimenetet, és opcionálisan a konzol munkamenetéből. Ez hasznos a COM-kiszolgálók és a Win32-szolgáltatások távoli hibakereséséhez, mivel ezek a programok a konzol munkamenetében futnak.
Végül a DebugView mostantól a Whistler 1. bétaverzióján működik, és támogatja a kernel módú DbgPrint függvény több új Whistler-változatának kimenetének rögzítését.
Töltse le a DebugView 4.02-s verziót a www.sysinternals.com/dbgview.htm.
A WINDOWS 2000 3. KIADÁSÁBAN
A Windows 2000 belső részeiről szóló hivatalos könyv már elérhető! Ez a kiadás David Solomon (www.solsem.com) és Mark Russinovich társszerzőségével több mint 40%-kal nagyobb az előzőnél, új lefedettséggel a hálózatkezelés, a plug-and-play, az energiagazdálkodás, a szolgáltatások, a beállításjegyzék, a WMI, a rendszerindítás és a leállítás, valamint a tárolás területén. Emellett tartalmaz egy CD-t is, amely számos olyan hatékony eszközzel rendelkezik, amely máshol nem érhető el a Windows 2000 belső elemeinek vizsgálatához.
Az egyik eszköz, amit kifejezetten a könyvhöz írtam, a LiveKd, egy program, amely lehetővé teszi mindkét Microsoft kernel hibakereső, i386kd és WinDbg futtatását egy élő rendszeren, mintha összeomlási memóriaképet nézne. A könyvben bemutatott kísérletek közül sok élő rendszeren működik, amikor a LiveKd használatával fut. A LiveKd úgy működik, hogy olyan fájlrendszerszűrő-illesztőprogramot telepít, amely úgy jeleníti meg a számítógép fizikai memóriáját a Microsoft hibakeresőjének, mintha összeomlási memóriaképfájl lenne. A LiveKd létrehoz egy 0 hosszúságú álképfájlt, és amikor a hibakereső a fájlból olvas, a LiveKd a fizikai memóriából ad vissza adatokat. Tekintse meg a könyv hibakeresési és frissítési oldalát egy LiveKd-javításhoz, amely javítja a LiveKd 1.0-s és több hozzáférésen keresztüli vírusolvasó közötti kompatibilitást.
Tekintse meg a könyv tartalomjegyzékét és sorrendjét www.sysinternals.com/insidew2k.htm.
NOVEMBERI ÉS TÉLI WINDOWS 2000 MAGAZIN
Kíváncsi arra, hogy mi változott pontosan az NTFS v4 és az NTFS v5 között? Ha igen, nézd meg a kétrészes sorozat novemberi és téli kérdések a Windows 2000 magazin. Az 1. rész ismerteti az újraelemzési pontokat, a címtár-csomópontokat, a kötetcsatlakozási pontokat, a kvótatámogatást és az összevont biztonsági beállításokat. A 2. rész a titkosítást, a streameket, az elosztott hivatkozáskövetést és a változásnaplót tekinti át. Mindkét cikk mélyebbre viszi önt, mint mások, bemutatva a lemezen végzett módosításokat és az új funkciók belső viselkedését.
Egy dolog, amiről nem beszélek a cikkekben, hogy a Windows NT 4 NTFS nem igazán verzió
A www.sysinternals.com/publ.htm minden kiadványunkra mutató hivatkozásokat talál.
SYSINTERNALS AT WWW.MICROSOFT.COM
A Sysinternals a legutóbbi hírlevél óta számos új Microsoft Tudásbázis-cikkben jelent meg, és a Sysinternalsre hivatkozó régebbi TUDÁSBÁZIS-cikkeket is nyomon követtem.
Q260513 PRB: Hiba történik a Visual Studio-termékek telepítésekor
http://support.microsoft.com/support/kb/articles/Q260/5/13.ASP
Ez a cikk azt javasolja az olvasóknak, hogy a Filemon és a Regmon használatával hárítsák el a Microsoft Visual Studio telepítési problémáit.Q202258 XADM: A rendszer nem találja a megadott elérési utat – azonosító: 0cx002003
http://support.microsoft.com/support/kb/articles/Q202/2/58.ASP
A Microsoft valójában végigvezeti a felhasználókat az Exchange 5.0 szervizcsomag frissítési problémáinak elhárításán a Filemon használatával, kiegészítve egy filemon kimeneti sor mintával és a szűrők beállítására vonatkozó javaslatokkal.Q269383 PRB: "Hiba a rendszerregisztrációs adatbázis elérésekor" üzenet a VB/VBA-hivatkozások megjelenítésekor
http://support.microsoft.com/support/kb/articles/Q269/3/83.ASP
A Regmon megkapja a cikk javaslatát, amely azt ismerteti, hogy a Visual Basic IDE Hivatkozások párbeszédpanelje miért jelenti, ha nem fér hozzá a Beállításkulcshoz a Seagate Crystal Reportsban egy olyan hiba miatt, amely helytelen engedélyeket alkalmaz több kulcsra.Q269251 HIBA: A Windows Installer automatizálása lefagyhat a termékek számbavételekor
http://support.microsoft.com/support/kb/articles/q269/2/51.asp
A Regmon itt ismét ki van emelve, ahol egy Windows Installer-automatizálási hiba feltárására szolgál.Q276525 előfordulhat, hogy a számítógép nem válaszol a nyitott fogópontok figyelésekor
http://support.microsoft.com/support/kb/articles/Q276/5/25.asp
Az NtHandle feladata, hogy feltárjon egy hibát a Windows NT 4 SP6a-ban, ahol a kernel bizonyos feltételek mellett lefagy az NtHandle használatakor. A Microsoft velem dolgozott a probléma megoldásán, és kiadott egy gyorsjavítást. Ha az NT 4 rendszer lefagy az NtHandle használatakor, a cikkre mutató hivatkozást kell kapnia.Q160660 Ntregmon.exe a STOP 0x0000001E okoz az Új szervizcsomaggal
http://support.microsoft.com/support/kb/articles/Q160/6/60.asp
Ez az utolsó egy öreg, de goodie. A Regmon első verziója kemény kóddal kódolt rendszerhívószámokkal javította a rendszerszolgáltatás-táblát a beállításjegyzék API-k összekapcsolása érdekében. Mivel a rendszer hívási számai időnként változnak a szervizcsomagok között, ez a technika elég törékeny, és nem kódolt védekezően előre erre (Andrew Schulman tanácsára, aki attól félt, hogy Regmon megtörik). Persze elég, SP3 bevezetett néhány új rendszerhívások, és Regmon összeomlik a rendszer, amikor csatlakozik helytelen rendszerhívások. Bár ez biztosan bosszantott néhány embert, én is kap a saját KB cikket belőle!
SYSINTERNALS-LICENCELÉS
Annak ellenére, hogy a Sysinternals-ből letöltött szoftver ingyenes, vagyis díjfizetés nélkül használhatja, nem terjesztheti újra, és nem származtathatja a Sysinternals forráskódjából származó termékeket. Ha például olyan vállalatnál dolgozik, ahol több felhasználó is hasznosnak találja az adott Sysinternals-eszközöket, előfordulhat, hogy nem teszi közzé az eszközöket egy belső megosztáson vagy webhelyen. Ehelyett helyezzen el egy hivatkozásokat a webhelyen az egyes eszközök otthonára a Sysinternalsben. Ez segít abban is, hogy munkatársai mindig a legújabb verziókat töltsák le.
Ha a Sysinternals-eszközöket belsőleg, kereskedelmi termékkel vagy shareware CD-n szeretné terjeszteni, vagy kereskedelmi terméket vagy terjeszthető programot szeretne a Sysinternals forráskódjára alapozni, küldjön egy e-mailt, amely ismerteti a kívánt használat részleteit licensing@....
BELSŐ ADATOK
NFI
Néhány hírlevél vissza én felfedte létezését a DiskEdit eszköz, hogy a Microsoft véletlenül szállított az NT 4 SP4 CD. A DiskEdit egy nagyon hatékony, bár furcsa fájlrendszerszerkezet-megjelenítő, amellyel megvizsgálhatja az NTFS-t és a FAT-t (bár ez az NTFS-támogatás érdekes) lemezen lévő adatstruktúrák. Ha kihagyta az NT 4 SP 4 CD-t, és érdekli az NTFS lemezen lévő struktúrák felfedezése, akkor nem teljesen a sötétben van. A Microsoft kiadott egy NFI (NTFS Information) nevű ingyenes eszközt, amely megérti és képes az NTFS-kötetek belső struktúráit kibocsátni. Bár a kimenete közel sem olyan részletes, mint a DiskEdit, érdekes és tanulságos.
Az OEM támogatási eszközeinek részeként letöltheti az NFI-t a következő címen: http://support.microsoft.com/support/kb/articles/q253/0/66.asp. Az NFI fájlnévvel való futtatása a fájl NTFS MFT rekordját adja meg. Az alábbi példa azt mutatja be, hogy az NFI a metaadatfájl MFT rekordját $Quota
memóriaképezi, amely csak akkor létezik, ha engedélyezve van a kvótakezelés egy köteten:
C:\nfi c:\$extend\$quota
File 24
\$Extend\$Quota
$STANDARD_INFORMATION (resident)
$FILE_NAME (resident)
$INDEX_ROOT $O (resident)
$INDEX_ROOT $Q (resident)
A kimenet azt mutatja, hogy a fájl a 24. bejegyzést foglalja el az MFT-ben (a fájlindexe 24), és négy attribútumot tartalmaz, beleértve a standard információkat, a fájlnevet és a két indexgyökeret (az index pedig lényegében a bejegyzések csoportosított listája, például egy könyvtár). Leírom, hogyan használja az NTFS az indexeket a $Quota
legújabb Windows 2000 Magazine sorozatban az NTFS v5-en.
Ha egy kötet összes fájlját ki szeretné dobni, adja meg a meghajtóbetűjelet az NFI parancssorában fájlnév nélkül, például. nfi c:
Megjelenik az egyes MFT-bejegyzések listája, beleértve az összes metaadatfájlt.
Az NFI más tehetségekkel is rendelkezik, például képes egy szektorszámot lefordítani abba a fájlba, amelyben található. Szeretné tudni, hogy a meghajtón C:
található 2345-ös fájlszektor melyikben van? Használja az nfi c: 2345
parancsot. Vegye figyelembe, hogy ez nem sikerül a szoftveres RAID-köteteken, például a kötetkészleteken és a csíkkészleteken. Az NFI az NT 4 és a Windows 2000 rendszeren is működik.
REJTETT WIN9X BEÁLLÍTÁSKULCSOK
Két kérdés ezelőtt azt mondtam, hogy én is fedezze a "rejtett Win9x Beállításkulcsok" a következő hírlevélben, és többen emlékeztettek, hogy elfelejtettem. Szóval ebben a hónapban elmondom a rejtett beállításkulcsokat a Windows 9x-ben.
Néhány évvel ezelőtt felfedeztem egy módot a rejtett beállításkulcsok létrehozására a Windows NT-ben. Rejtett, úgy értem, hogy bár láthatja a kulcsokat, hogy az alkalmazás, amely létrehozza őket a Regmon, akkor nem tud írni egy Win32 programot, hogy vizsgálja meg a kulcs értékeit, és nem tudja nézni a kulcsokat a Regedit vagy Regedt32 Beállításszerkesztők. A rejtett kulcsok olyan adatok tárolásához hasznosak, amelyeket nem szeretne, hogy a végfelhasználók módosíthassanak, például egy próbatermék időtúllépési dátumát.
A rejtett beállításkulcs létrehozásának trükkje az volt, hogy felismertem, hogy a natív NT API, amely a Rendszerhívási felület, amelyre a Win32 API épül, megköveteli, hogy a beállításkulcsok meg legyenek adva megszámolt Unicode-sztringekként.
A megszámlált Unicode-sztring olyan, amelynek hosszát egy hosszmező jelzi, nem pedig null terminátor jelenléte. A natív API használatával ezért létrehozhat olyan beállításkulcsokat, amelyek null karaktert tartalmaznak, például "test\0test"
. Mivel a Win32 API Beállításkulcs API-ja null értékű sztringeken alapul, nem lehet null terminátort tartalmazó beállításkulcsot megnyitni a Win32 API használatával. Ha az előző példakulcs nevét RegOpenKey
próbálta átadni, vagy RegCreateKey
a rendszer úgy kezeli, hogy "test"
a sztring csonkolt a null karakternél. Mivel az összes meglévő beállításszerkesztő, beleértve a Windows NT és a Windows 2000 csomagokat is, a Win32 API-t használja, amely a natív API-t használja null karakterbe ágyazott nevek létrehozásához, hatékonyan rejtett kulcsokat hoz létre.
Ez a módszer működik a Windows NT-en, de mi a helyzet a Windows 9x-szel? Nem gondoltam, hogy van mód rejtett beállításkulcsok készítésére a Windows 9x rendszeren, amíg valaki e-mailben nem küldött nekem egy Regmon naplófájlt, amely azt mutatja, hogy az Internet Explorer (IE) hozzáfér olyan kulcsokhoz, amelyek nem jelennek meg a Regeditben. Ennek megtekintéséhez indítsa el a Regmon alkalmazást, és állítsa be a következő szűrőt: "policydata". Ezután indítsa el az IE-t (ez az IE 4 és az IE 5 összes verziójához használható), és látogasson el egy webhelyre. Ha nem lát kimenetet a Regmonban, nyissa meg az IE beállítások konfigurációs párbeszédpaneljét, és győződjön meg arról, hogy a Content Advisor engedélyezve van.
Ha a Content Advisor engedélyezve van, vagy már engedélyezve van a rendszeren, akkor a kulcshoz és annak alkulcsaihoz HKLM\PolicyDat
való hozzáférések fognak megjelenni. A Regeditben való kereséskor azonban nem talál PolicyData-kulcsot HKEY_LOCAL_MACHINE
. Szánjon egy percet, és derítse ki, mi folyik itt.
A válasz az, hogy az IE dinamikusan betölt egy beállításjegyzék-hive-t a RegLoadKey
Win32 API-val, beolvassa a szükséges értékeket, majd eltávolítja a kaptárat RegUnloadKey
. A kaptár neve el van nevezve C:\Winows\System\Ratings.pol
– a fájl rejtett és írásvédett, de a beírással attrib –r –h c:\windows\system\ratings.pol
felfedheti.
A Regmonban látható nyomkövetések azokat az információkat mutatják, amelyeket a Content Advisor keres a kaptárban. Ha saját maga szeretné megismerni a tartalmát, töltse le a Regload segédprogramot www.sysinternals.com/regload.zip, és futtassa a következő szintaxissal: regload test c:\windows\system\ratings.pol
. Ezután nyissa meg a Regeditet, és tallózással keresse meg a elemet HKLM\test
. A megtalált értékek megfelelnek a Content Advisorban megadott beállításoknak, és a hive értékében Users\FileName0
elnevezett konfigurációs fájlhoz kapcsolódnak. Az érték általában az C:\Windows\System\RSACi.rat
Internet Content Rating Association által definiált minősítési fájlra mutat. Egyébként előfordulhat, hogy a Content Advisor beállításjegyzék-beállításaiban egy "PleaseMom" nevű, kissé humoros nevű érték jelenik meg, például a HKLM\Test\Users\Default
. Ez az érték a "Felügyelő beírhat egy jelszót, amely lehetővé teszi a felhasználók számára a korlátozott tartalmak megtekintését" jelölőnégyzetből származik a Tartalomtanács-beállítások párbeszédpanel Általános lapján.
A Microsoftnak nyilvánvalónak kell lennie annak az oknak, amely miatt a Microsoft elfedné ezeknek a beállításjegyzék-értékeknek a meglétét. Azonban a kialakításuk meglehetősen komoly gyengeséget mutat. Vegye figyelembe, hogy a Content Advisor engedélyezésekor meg kell adnia egy jelszót, amely védi a Content Advisor beállításainak párbeszédpaneljét. Ezt a jelszót a rendszer a következő helyen HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Ratings\Key
tárolja: . Törölje ezt az értéket, és jelszó megadása nélkül is hozzáférhet a Content Advisor beállításaihoz! Most, ha az IE-fejlesztők problémába keveredtek a Content Advisor beállításainak elrejtéséhez, miért hagyják nyitva ezt a hátsó ajtót? Tipikus Microsoft biztonsági kialakítás, azt hiszem. Egyébként a Regloadtal betöltött kulcs eltávolításához egyszerűen írja be a következőt regload test
: .
MI VÁRHATÓ?
ÚJ WHISTLER-RENDSZERHÍVÁSOK
A Whistler a Windows 2000 operációs rendszer növekményes fejlődése, amelynek középpontjában a felhasználók nagyobb megbízhatósága és egyszerű migrálása áll a Windows 9x operációs rendszerekről. Tartalmaz azonban néhány kernelmódosítást is. A legláthatóbbak az új rendszerhívások és exportált (eszközillesztők által használható) kernelfüggvények. Legközelebb bemutatom az új kernel API-k előnézetét.
Köszönjük, hogy elolvasta a Sysinternals hírlevelet.
Közzétéve: 2000. november 30. csütörtök, 19:05 ottoh
[Hírlevelek archívuma ^] [< 2. kötet, 4. szám] [3. kötet, 1 >. szám]