[Archiv bulletinů ^] [< Svazek 2, číslo 4] [Svazek 3, číslo 1 >]
The Systems Internals Newsletter volume 2, Number 5
www.sysinternals.com
Copyright (c) 2000 Mark Russinovich
30. listopadu 2000 – V tomto problému:
ÚVODNÍK
CO JE NOVÉHO VE SPOLEČNOSTI SYSINTERNALS
- PsLoggedOn v1.2
- PsShutdown v1.0
- PsTools v1.1
- BgInfo v1.1
- Tokenmon v1.0
- Filemon v4.32
- Regmon v4.32
- Uvnitř Windows 2000, 3. Ed.
- Listopad a zimní Windows 2000 Magazine
- Sysinternals ve společnosti Microsoft
- Licencování sysinternals
INTERNÍ INFORMACE
- NFI
- Skryté klíče registru Win9x
CO SE CHYSTÁ
- Nová volání systému Whistler
SPONZOR: WINTERNALS SOFTWARE
Bulletin Sysinternals je sponzorován společností Winternals Software na webu na www.winternals.com. Winternals Software je přední vývojář a poskytovatel pokročilých systémů nástrojů pro systém Windows NT/2K. Produkty Winternals Software zahrnují FAT32 pro systém Windows NT 4.0, NTFSDOS Professional Edition (ovladač NTFS pro čtení a zápis pro SYSTÉM DOS) a vzdálené obnovení.
Příkaz netstat, který se dodává se všemi verzemi Systému Windows 9x a systém Windows NT/2000, ukazuje, jaké porty TCP/IP jsou v systému otevřené, ale nezobrazuje, jaký proces má otevřený port. Nejnovější monitorovací nástroj TCPView Pro, Winternals, který je součástí nástroje příkazového řádku s ekvivalentem netstat, Tcpvstat, který ukazuje, který proces má otevřený každý port, ale obsahuje grafické uživatelské rozhraní, které zobrazuje stejné informace a trasování aktivity TCP/IP v reálném čase. Trasování v reálném čase odhalí aplikaci, která vytváří síťový přístup, místní a vzdálené IP adresy přístupu s volitelným překladem názvů DNS, typem přístupu, úspěchem přístupu a objemem přenášených dat. TCPView Pro je pouze 69 USD. Stáhněte si 14denní plně funkční zkušební verzi TCPView Pro dnes v www.winternals.com/products/monitoringtools/tcpviewpro.shtml.
Dobrý den,
Vítejte v bulletinu Sysinternals. Bulletin má aktuálně 28 000 odběratelů.
Jednou z výhod přechodu z systém Windows NT na Windows 2000 je výrazně vylepšená spolehlivost. Napsal(a) jsem o důvodech vylepšení v několika článcích a jsou primárně výsledkem nástroje, který se nazývá Driver Verifier. Ověřitel, který spustíte, můžete nakonfigurovat tak, že do dialogového okna Spustit nabídka Start zadáte "ověřitier", abyste pečlivě sledovali provádění konkrétních ovladačů zařízení a hledali porušení některého z několika programovacích pravidel ovladačů. Ověřovatel jde o jeden krok dál než pasivní monitorování, ale také zhoršuje potenciál; například přidělením bloků paměti pro ovladač, který je prováděný s neplatnými oblastmi, a nulováním konkrétních polí v datových strukturách, které jsou předány ovladači. Pokud opravdu chcete být drsní, můžete mít ověřitel simulovat podmínky nedostatku paměti pro řidiče.
Microsoft využívá verifier prostřednictvím programu podepisování ovladačů, který vyžaduje, aby jakýkoli ovladač, který je digitálně podepsaný Společností Microsoft, prošel přísným testováním ověření ovladače. Když se ovladač nainstaluje, průvodce hardwarem zkontroluje, jestli je ovladač podepsaný. Pokud není, buď vás upozorní nebo se nepodaří nainstalovat ovladač v závislosti na nastavení, která jste zadali v dialogovém okně Možnosti podepisování ovladačů, která je přístupná ze stránky Hardware v apletu systému v Ovládací panely.
Skutečnost, že výchozí zásady podepisování ovladačů varují koncové uživatele o nepodepsaných ovladačích, stačí, aby většina dodavatelů hardwaru přešla na potíže s tím, že jejich ovladače budou robustní a podepisují je. Ovladače zařízení se ale můžou dostat do systému beze změny zásad podepisování ovladačů. Kontrolují se jenom ovladače nainstalované pomocí souborů INF (instalační soubory ovladačů, které končí příponou .inf). Aplikace instalačního programu můžou ovladače instalovat ručně buď přímo pomocí instalačních rozhraní API, nebo ruční konfigurací nastavení registru ovladače. Aplikace Sysinternals jsou skvělým příkladem tohoto: Filemon, Regmon a další nástroje Sysinternals, které mají součásti ovladačů nainstalovat ovladače ručně, což je důvod, proč se nezobrazí upozornění, že nejsou podepsány Společností Microsoft.
Ovladače, které nejsou běžně nainstalované se soubory INF, zahrnují antivirové skenery, šifrovací software a vypalovací software CD-ROM. To ale nebrání tomu, aby ovladače související s hardwarem proklouzly. Ovladač Sysinternals Ctrl2cap pro systém Windows 2000 (www.sysinternals.com/ctrl2cap.htm je příkladem ovladače souvisejícího s hardwarem, který se instaluje způsobem, který obchází kontroly podepisování ovladačů. Tato smyčka vede k přítomnosti ovladačů ve vašem systému, které nebyly ověřeny, což může ohrozit stabilitu systému (ověřujem všechny ovladače Sysinternals na nejvyšších nastaveních). Microsoft by měl vynutit, aby všechny ovladače, nejen ty, které se instalují se soubory INF, prošly kontrolou podepisování.
Proč jsem na té zádce? Můj disk CD-ROM vypalovací software, což je nejoblíbenější z tohoto typu softwaru na trhu, má ovladač, který bude reprodukovatelně chybový můj systém Windows 2000 SP1. Pokud konfiguruji nástroj Driver Verifier tak, aby ho kontroloval, systém ještě nedokončí spouštění, než Verifier zjistí první porušení a systém se chybově ukončí. Ovladač byl nainstalován bez souboru INF, takže jsem nebyl varován, že byl nepodepsaný. Zaručuji, že pokud by zásady Microsoftu byly přísnější, že tento dodavatel by si před odesláním nepodepsaného ovladače (a chyby) myslel dvakrát.
Předejte prosím bulletin přátelům, o které si myslíte, že by vás mohl zajímat jeho obsah.
Díky!
-Známka
CO JE NOVÉHO VE SPOLEČNOSTI SYSINTERNALS
PSLOGGEDON V1.2
Kromě běžné změny názvu z LoggedOn na PsLoggedOn má tento nástroj příkazového řádku, který má možnost ukázat, kdo je přihlášený místně a prostřednictvím sdílených složek prostředků v místním nebo vzdáleném systému, má některé nové funkce. První je přepínač příkazového řádku -l, který byl výsledkem zpětné vazby uživatelů. Mnoho lidí používá PsLoggedOn k tomu, abyste zjistili, jestli je některý účet přihlášený místně ke svým serverům. Uživatelé se můžou přihlásit prostřednictvím sdílených složek, ale to není relevantní při rozhodování o tom, kdy je možné účet aktualizovat nebo může být server vzdáleně spravován.
Druhá nová funkce PsLoggedOn ukazuje nejen to, kdo je přihlášený, ale také čas, kdy se přihlášení uskutečnilo. PsLoggedOn získá přihlašovací časy pro přihlášení ze sdílených složek prostředků zdarma, když používá rozhraní API Win32 NetSessionEnum k vytvoření výčtu přihlášení ke sdílené složce prostředků (příkaz net příkazového řádku také používá příkaz NetSessionEnum k výčtu relací). Neexistuje však žádné rozhraní API Win32, které vám říká, kdo je přihlášený k systému místně, mnohem méně v době, kdy se přihlásil.
Pokud chcete zjistit, kdo je přihlášený k systému místně, PsLoggedOn vytvoří výčet ID zabezpečení (SID) umístěných pod klíčem registru počítače HKEY_USERS . Když se někdo přihlásí k počítači místně, buď v konzole, nebo prostřednictvím služby, jeho profil se načte do HKEY_USERS klíče. Aplikace mají přístup k nastavení registru svého profilu prostřednictvím HKEY_CURRENT_USER klíče, protože systém tento klíč považuje za symbolický odkaz na konkrétní profil v části HKEY_USERS. PsLoggedOn tedy může zjistit, kdo je přihlášen místně, tím, že přeloží identifikátory SID, které najde v klíči počítače HKEY_USERS do odpovídajícího uživatelského jména. PsLoggedOn se používá RegConnectKey k připojení k registru vzdáleného počítače, když ho nasměrujete na seznam uživatelů přihlášených ke vzdálenému systému.
Zjištění, kdy uživatel přihlášený pracuje, pomocí podobného triku. Když proces WinLogon načte profil uživatele po HKEY_USERS přihlášení, WinLogon vytvoří nestálý (neuloží se do profilu na disku) podklíč ve svém profilu s názvem dostatečně nestálého prostředí. Registr ukládá časová razítka poslední změny pro klíče registru a protože systém nezmění podklíče Volatile Environment po jejich vytvoření, PsLoggedOn může určit, kdy se uživatel přihlásil získáním časového razítka jeho nestálého prostředí podklíč.
Stáhnout PsLoggedOn v1.2 s úplným zdrojem na adrese
www.sysinternals.com/psloggedon.htm.
PSSHUTDOWN V1.0
Pokud jste někdy potřebovali vypnout nebo restartovat místní nebo vzdálený systém systém Windows NT/2000, budete si chtít stáhnout PsShutdown. PsShutdown je klon nástroje Vypnout systém Windows NT/2000 Resource Kit. Používá stejné argumenty příkazového řádku, které umožňují určit zpoždění před vypnutím, bez ohledu na to, jestli se má restartovat, volitelnou zprávu, která se má zobrazit libovolnému uživateli, který je aktuálně přihlášený k systému, a název počítače, který se má vypnout nebo restartovat.
Stáhněte si PsShutdown v1.0 na www.sysinternals.com/psshutdn.htm.
PSTOOLS V1.1
Pravděpodobně jste si všimli rostoucího počtu nástrojů v Sysinternals, které začínají předponou Ps. První byl Nástroj příkazového řádku PsList, který uvádí informace o aktivních procesech v místním nebo vzdáleném systému systém Windows NT/2000. Dal jsem PsList jeho název, protože standardní unixový nástroj pro informace o procesu příkazového řádku má název "ps". Dalším nástrojem pro získání předpony byl PsKill, nástroj příkazového řádku, který umožňuje ukončit procesy spuštěné v místních nebo vzdálených systémech systém Windows NT/2000. Dal jsem PsKill předponu "Ps", protože to udělal perfektní společník psList.
V průběhu času jsem vyvinul další nástroje, které sdílely stejné definující vlastnosti jako PsList a PsKill: jsou založené na příkazovém řádku a pracují na místním nebo vzdáleném systému systém Windows NT/2000. ElogList například umožňuje výpis obsahu protokolů událostí systému a GetSid vám ukázal identifikátor SID počítače nebo konkrétního účtu. Nedávno jsem se rozhodl provázat všechny tyto nástroje dohromady tím, že jim všechny "Ps" předpony a vytvořit je ke stažení jako jeden balíček s názvem PsTools.
PsTools, který zahrnuje PsList, PsKill a také přejmenovaný PsLogList a PsGetSid, se skládá z celkem sedmi nástrojů. Pokud se zobrazí nástroj Sysinternals s předponou Ps, automaticky víte, že se jedná o nástroj příkazového řádku, který funguje místně i vzdáleně.
Stáhněte si PsTools v1.1 na www.sysinternals.com/pstools.htm.
BGINFO V1.1
V důsledku obrovské zpětné vazby uživatelů Bryce aktualizoval BgInfo, nástroj, který nastaví desktopovou tapetu tak, aby zobrazoval přizpůsobitelné informace o konfiguraci systému v důsledku zpětné vazby uživatele, kterou získal. Ve výchozím nastavení BgInfo počítá po dobu 10 sekund před použitím nastavení zadaných v dialogovém okně, ale nová možnost příkazového řádku, /timerumožňuje změnit nebo eliminovat odpočítávání úplně. To usnadňuje zahrnutí BgInfo do přihlašovacího skriptu nebo jako zástupce ve složce Po spuštění profilu.
Verze 1.1 obsahuje další nové funkce, jako je například možnost zobrazit libovolný text, který definujete, a více předdefinovaných kategorií informací. Desktop bitmapa BgInfo v1.1 vytvoří také obecně menší, což minimalizuje nároky na plochu BgInfo paměti.
Stáhněte si BgInfo v1.1 na www.sysinternals.com/bginfo.htm.
TOKENMON V1.0
Tokenmon je nejnovějším doplňkem pestré sady monitorovacích nástrojů, které si můžete stáhnout ze služby Sysinternals. Tokenmon, který sdílí stejné uživatelské rozhraní jako jeho bratranci jako Regmon a Filemon, monitoruje významné aktivity související se zabezpečením v systému systém Windows NT/2000. Co je "významná" aktivita související se zabezpečením? Jádrem zabezpečení systém Windows NT/2000 je objekt tokenu, datová struktura, která obsahuje identifikátory SID účtu, identifikátory SID skupin a oprávnění. Pokaždé, když se proces pokusí o přístup k zabezpečenému objektu, nástroj Security Reference Monitor použije identifikátory SID v tokenu jako součást ověření přístupu. Pokud se proces pokusí provést omezenou operaci, jako je restartování systému, systém zkontroluje příslušná oprávnění v tokenu procesu.
Jednou z výkonných (a patentovaných) vlastností modelu zabezpečení systém Windows NT/2000 je zosobnění. Zosobnění umožňuje vláknu dočasně přepsat svou identitu založenou na procesu a přijmout alternativní identitu prostřednictvím tokenu zosobnění. Serverové aplikace využívají zosobnění při přístupu k prostředkům jménem klienta, když po dobu trvání přístupu přijmou identitu klienta.
Tokenmon instaluje volání systému stejným způsobem jako Regmon pro rozhraní API registru, aby bylo možné monitorovat vytváření a odstraňování tokenů, povolení a zakázání oprávnění a zosobnění. Tokenmon také používá háky pro vytváření procesů poskytované jádrem NT/2000 k monitorování vytváření a odstraňování procesů a dalších rozhraní API k určení, kdy se uživatel přihlásí a kdy se odhlásí.
Kompletní zdrojový kód tokenmon se publikuje a stojí za to diskutovat o některých zajímavých technikách, které kód ukazuje. Tokenmon detekuje událost přihlášení propojením systémového volání NtCreateToken, což je volání systému, které používají zprostředkovatelé přihlášení, jako je WinLogon, k vytvoření počátečního tokenu pro první proces nové přihlašovací relace. Procesy vytvořené prvním procesem dědí kopii prvního tokenu. Tokenmon zaregistruje oznámení logff prostřednictvím funkce SeRegisterLogonSessionTerminatedRoutine v režimu jádra, což je rozhraní API, které existuje pro výhody ovladačů systému souborů, označovaných jako přesměrování sítě, které ukládají data relace přihlášení do mezipaměti a chtějí vyčistit, když se uživatel odhlásí. Přesměrovače sítě implementují klientskou stranu připojení klienta nebo serveru ke sdílení souborů.
Další zajímavý detail implementace Tokenmon je způsob, jakým Tokenmon připojí rozhraní API, která monitoruje. Některá rozhraní API, která tokenmon hooky neexportují pro použití ovladači zařízení, ale exportují se v uživatelském režimu NTDLL.DLL knihovně pro použití aplikacemi, které používají jejich ekvivalenty Win32. Všechna rozhraní API registru, která jsou v režimu jádra exportována, je možné, aby ovladač zařízení Regmon získal čísla volání systému a odpovídajícím způsobem zapojí tabulku volání systému. Pro rozhraní API, která nejsou exportována pro použití ovladači, musí grafické uživatelské rozhraní Tokenmon získat čísla volání pomocí exportů v NTDLL.DLL a pak předat čísla ovladači, aby ovladač mohl zavolat systémovou tabulku volání. Tokenmon tedy ukazuje, jak připojit systémová volání, která nejsou exportována v režimu jádra.
Stáhněte si Tokenmon v1.0 s úplným zdrojem na www.sysinternals.com/tokenmon.htm.
FILEMON V4.32
Tato nejnovější aktualizace Filemon představuje intuitivnější a kompletní filtrování, zobrazení úplných názvů cest UNC pro přístup k síťovým souborům systému Windows 9x/Me a zobrazení názvů souborů metadat NTFS.
Předchozí verze Filemonu vyžadovaly zadání filtrů s povinnými zástupnými cardy. Pokud jste například chtěli monitorovat přístup k adresáři Temp na jednotce C:, museli jste zadat filtr podobný tomuto: "c:\temp\*".
U nových zástupných znaků syntaxe filtrování jsou volitelné, takže i když by ukázkový filtr fungoval,c:\temp "" dosáhne stejného efektu. Kromě toho Filemon teď použije filtry, které zadáte pro všechna pole v zobrazení, včetně názvu procesu, typu požadavku, cesty a sloupce "ostatní". Tato flexibilita umožňuje sledovat konkrétní typy požadavků nebo požadavky s určitými daty v druhém sloupci, což dříve nebylo možné.
Uživatelé Filemonu v systémech Windows 9x/Me teď uvidí zobrazované názvy cest Filemon s úplnou syntaxí UNC, když přistupují ke vzdáleným prostředkům. Filemon dříve nezobrazovat název serveru nebo sdílené složky pro takový přístup, což vedlo k neúplným názvům cest.
A konečně, pokud jste filemon použili na systém Windows NT/2000, nepochybně jste viděli text "DASD" ve sloupci cesty pro mnoho přístupů ("DASD" pochází z "zařízení úložiště přímého přístupu", termín, který Microsoft používá k popisu přístupu ke svazku, který obchází struktury systému souborů). U většiny aktivit na svazcích NTFS je teď DASD věcí minulosti. Místo toho uvidíte názvy souborů metadat NTFS, které se čtou a zapisují. Například aktualizace záznamu MFT by dříve vedla k výstupnímu řádku DASD, ale teď ho uvidíte jako přístup k "$Mft", což je název interního souboru metadat MFT.
Proč Filemon před tím nezobrazovat názvy souborů metadat a jak je teď získá? Objekty souborů, které představují soubory metadat NTFS, neukládají název souboru, takže Filemon nemůže extrahovat název z objektu souboru. Alternativní metoda filemonu pro získání názvu souboru, dotazování ovladače systému souborů, nefunguje u souborů metadat NTFS. Zatímco NTFS reaguje s názvy souborů metadat, NTFS na NT 4 náhodně způsobí chybové ukončení a ntfs na Win2k občas přestane reagovat při odpovídání na tyto dotazy.
Filemon se proto musí uchýlit k triku k získání názvů souborů metadat. Když se zobrazí požadavek směrovaný na objekt souboru na svazku NTFS bez názvu, odešle dotaz na index souboru NTFS. Jedná se o stejný index, který vrátí funkce Win32 GetFileInformationByHandle a pro soubory na svazcích NTFS je index MFT souboru. Prvních 16 položek v MFT jsou vyhrazeny pro konkrétní soubory metadat, takže vzhledem k indexu v této oblasti Filemon jednoduše vyhledá název souboru metadat ve své vlastní tabulce.
Bohužel stále uvidíte DASD pro metadata adresáře a tabulky přidělování souborů (FAT) přístupy ke svazkům FAT, protože FAT neukládá názvy souborů metadat adresáře nebo FAT. Budete překvapeni, jak často se k souboru protokolu NTFS ($LogFile) přistupuje. Ntfs na Whistler ukládá názvy souborů metadat, takže trik je zbytečný na Whistler.
Poslední vylepšení Filemon umožňuje Filemon zobrazit časová razítka s milisekundovým rozlišením. Tato podpora vyžadovala ošklivé hacky v ovladači Windows 9x/Me Filemon kvůli chybám ve funkci časování v jádru Windows 9x/Me. Další informace najdete ve zdrojovém kódu.
Stáhněte si Filemon v4.32 se zdrojovým kódem na www.sysinternals.com/filemon.htm.
REGMON V4.32
Změny regulárních výrazů nejsou tak hlavní jako změny filemonu, ale regmon teď podporuje stejnou intuitivnější syntaxi filtrování jako Filemon a podobně jako Filemon, použije filtry na všechna pole. Může také zobrazovat rozlišení milisekund v časových razítkech.
Ti z vás, kteří začali hrát s Whistler (následník Windows 2000) Beta 1 možná všimli, že předchozí verze Regmon crash Whistler při spuštění. Je to proto, že Společnost Microsoft umístila systémovou tabulku volání, která regmon upraví tak, aby vkládaly své háky do paměti chráněné zápisem. Regmon v4.32 to funguje pomocí techniky, pro kterou jsem na žádost Microsoftu neposkytl zdrojový kód, protože technika se může přerušit v konečné verzi Whistler a Microsoft zkoumá způsoby, jak podporovat volání systému. systém Windows NT nebyl navržen tak, aby podporoval volání systému, což je něco, co jsme povýšili s prvním vydáním Regmon zpět v polovině roku 1996.
Tady je nezdokumentovaný tip Filemon/Regmon. Často dostávám e-maily, které se zeptat, jak spustit Regmon nebo Filemon z neprivilegovaného účtu na systém Windows NT/2000 Existuje mnoho případů, kdy určitá aplikace funguje správně při spuštění z účtu správce, ale ne z neprivilegovaného uživatele, kde Regmon a Filemon by byly užitečné pro určení, proč aplikace selže (obvykle problém související s nastavením zabezpečení souboru nebo klíče registru). Spuštění příkazu Regmon a Filemon z neprivilegovaného účtu se však nezdaří, protože Filemon i Regmon nainstalují ovladače zařízení, něco, co vyžaduje oprávnění správce.
Existuje ale trik, který vám umožní tento problém obejít: Pokud se přihlásíte jako správce a spustíte Filemon nebo Regmon, budete je moct následně spustit z neprivilegovaných účtů. Důvodem je to, že Filemon a Regmon nainstalují ovladač při prvním spuštění a při následujících spuštěních přistupují k již načteným ovladačům. Vzhledem k tomu, že v ovladači neimplementuji žádné zabezpečení, může neprivilegovaný uživatel spustit nástroje po načtení ovladače. Problém se zabezpečením? Ano, ale Filemon a Regmon jsou určené k řešení potíží nástroje, takže já a lidé, kteří se ptají, jak spustit nástroje z neprivilegovaných účtů, zobrazit to jako funkci.
Stáhněte si Regmon v4.32 s úplným zdrojovým kódem na www.sysinternals.com/regmon.htm.
DEBUGVIEW V4.02
Jedna z aplikací, pro kterou jsem obdržel nejvíce názorů uživatelů, je poněkud překvapivě DebugView. Tato nová verze má několik důležitých vylepšení, která řeší mnoho požadavků na funkce a funkce, které jsem obdržel, a debugView je výkonnější než kdy dřív.
DebugView teď nejvýrazněji podporuje až pět různých filtrů zvýraznění, z nichž každá má vlastní přizpůsobitelné barvy. Díky tomu budete mít ve výstupu ladění současně přístup k různým klíčovým slovům a snadno je odlišíte. Kromě toho DebugView implementuje stejnou novou syntaxi filtrování jako Filemon a Regmon, takže zástupné cardy volitelné pro porovnávání podřetěžců.
Stížnost, kterou jsem obdržel o předchozích verzích DebugView je, že, i když jste chtěli zachytit výstup ladění Win32, stále potřebujete oprávnění správce ke spuštění DebugView, protože DebugView se nespustí, pokud nemohl nainstalovat jeho ovladač zařízení. Tato nová verze se spouští i z účtů, které nemají žádná zvláštní oprávnění. Pokud nemůže nainstalovat nebo získat přístup k ovladači, jednoduše zakáže položky nabídky související s režimem jádra.
Dvě funkce, které usnadňují automatické zachytávání výstupu DebugView při přihlášení, jsou jeho možnost minimalizovat na hlavním panelu a podpora přepínačů příkazového řádku. Pomocí přepínačů příkazového řádku můžete spustit DebugView v hlavním panelu systému a výstup protokolu, který zachytí do souboru, a po spuštění DebugView můžete pomocí možnosti nabídky přepnout jeho minimalizované chování tlačítek mezi normálním minimalizací a minimalizací na hlavním panelu systému.
Pro uživatele, kteří spustí DebugView ve vzdálených relacích v terminálových službách systému Windows 2000, debugView nyní zaznamenává výstup Win32 vygenerovaný aplikacemi spuštěnými ve vzdálené relaci a volitelně z relace konzoly. To je užitečné pro vzdálené ladění serverů COM a služeb Win32, protože tyto typy programů běží v relaci konzoly.
Ladicíview teď funguje na Whistler Beta 1 s podporou zachycení výstupu z několika nových variant Whistler ve funkci DbgPrint v režimu jádra.
Stáhněte si DebugView v4.02 na www.sysinternals.com/dbgview.htm.
INSIDE WINDOWS 2000, 3RD EDITION
Oficiální kniha o vnitřních stránkách systému Windows 2000 je nyní k dispozici! Tato edice, kterou spoluvytváří David Solomon (www.solsem.com) a Mark Russinovich, je více než 40 % vyšší než předchozí, s novým pokrytím sítí, modulů plug-and-play, řízení spotřeby, služeb, registru, rozhraní WMI, spouštění a vypnutí a úložiště. Obsahuje také CD s několika výkonnými nástroji, které nejsou k dispozici nikde jinde, pro zkoumání interních systémů Windows 2000.
Jeden z nástrojů, které jsem napsal speciálně pro knihu je LiveKd, program, který vám umožní spustit oba ladicí programy jádra Microsoftu, i386kd a WinDbg, v živém systému, jako byste se dívali na výpis stavu systému. Mnoho experimentů uvedených v knize pracuje na živém systému při spuštění pomocí LiveKd. LiveKd funguje tak, že nainstaluje ovladač filtru systému souborů, který prezentuje fyzickou paměť počítače ladicímu programu Microsoftu, jako by se jednalo o soubor s výpisem stavu systému. LiveKd vytvoří pseudo výpisový soubor o délce 0 a když ladicí program načte ze souboru, LiveKd vrátí data z fyzické paměti. Podívejte se na stránku errata a aktualizace knihy pro opravu LiveKd, která opravuje nekompatibilitu mezi LiveKd v1.0 a několika antivirovými skenery na přístup.
Prohlédněte si obsah a objednávku knihy teď prostřednictvím www.sysinternals.com/insidew2k.htm.
LISTOPAD A ZIMNÍ WINDOWS 2000 ČASOPIS
Zajímá vás, co se přesně změnilo mezi ntfs v4 a NTFS v5? Pokud ano, podívejte se na mé dvoudílné série v listopad a zimní problémy časopisu Windows 2000. Část 1 popisuje spojovací body, spojení adresářů, přípojné body svazku, podporu kvót a konsolidované nastavení zabezpečení. Část 2 končí s blízkým pohledem na šifrování, datové proudy, sledování distribuovaných odkazů a deník změn. Oba články vás přebírají hlouběji než ostatní a představují změny na disku a interní chování těchto nových funkcí.
Jedna věc, o které nemluvím v článcích, je, jak NTFS pro systém Windows NT 4 není ve skutečnosti verze
Odkazy na všechny naše publikace najdete v www.sysinternals.com/publ.htm.
SYSINTERNALS AT WWW.MICROSOFT.COM
Sysinternals se objevil v několika nových článcích znalostní báze Microsoft Knowledge Base (KB) od posledního bulletinu a také jsem zaznamenal některé starší články znalostní báze, které odkazují na Sysinternals.
Q260513 PRB: Při instalaci sady Visual Studio Products dojde k chybě
http://support.microsoft.com/support/kb/articles/Q260/5/13.ASP
Tento článek doporučuje čtenářům při řešení potíží s instalací sady Microsoft Visual Studio používat Filemon a Regmon.Q202258 XADM: Systém nemůže najít zadanou cestu – ID: 0cx002003
http://support.microsoft.com/support/kb/articles/Q202/2/58.ASP
Microsoft ve skutečnosti provede uživatele pomocí Filemon k řešení potíží s upgradem aktualizace Service Pack Exchange 5.0, včetně ukázkového výstupního řádku Filemon a doporučení k nastavení filtrů.Q269383 PRB: Při zobrazení odkazů VB/VBA došlo k chybě při přístupu k systémovému registru
http://support.microsoft.com/support/kb/articles/Q269/3/83.ASP
Regmon získá referenční seznam z tohoto článku, který popisuje jeho použití k určení, proč dialogové okno Reference v prostředí IDE jazyka Visual Basic, když nemůže získat přístup ke klíči registru v důsledku chyby v Seagate Crystal Reports, která používá nesprávná oprávnění na několik klíčů.chyba Q269251: Automatizace instalační služby systému Windows může při vytváření výčtu produktů přestat reagovat
http://support.microsoft.com/support/kb/articles/q269/2/51.asp
Regmon je zde znovu zvýrazněn, kde se používá k odhalení chyby automatizace Instalační služby systému Windows.Q276525 počítač může přestat reagovat, když monitorujete otevřené popisovače
http://support.microsoft.com/support/kb/articles/Q276/5/25.asp
NtHandle zodpovídá za odhalení chyby v systém Windows NT 4 SP6a, kde by jádro při použití ntHandle za určitých podmínek zablokovalo. Microsoft se mnou pracoval na vyřešení problému a vydal opravu hotfix. Pokud systém NT 4 přestane reagovat při použití NtHandle, měli byste získat následující odkaz na tento článek.Q160660 Ntregmon.exe způsobí zastavení 0x0000001E s novou aktualizací Service Pack.
http://support.microsoft.com/support/kb/articles/Q160/6/60.asp
Poslední je starý, ale dobroty. První verze regmonu používala pevně zakódovaná systémová čísla volání k opravě systémové tabulky služby, aby bylo možné připojit rozhraní API registru. Vzhledem k tomu, že systémová čísla volání se někdy mezi aktualizacemi Service Pack mění, je tato technika docela křehká a já jsem předvídal obranně v předvídání toho (proti radám AndrewA Schulmana, který se bál, že Regmon by zlomil). Zajistěte, aby SP3 zavedl několik nových systémových volání a Regmon by systém chybově ukončí, když připojí nesprávné systémové volání. I když to jistě zmátlo několik lidí, dostal jsem z toho svůj vlastní článek KB!
LICENCOVÁNÍ SYSINTERNALS
I když software, který si stáhnete ze systému Sysinternals, je freeware, což znamená, že ho můžete použít bez placení poplatku, nejste oprávněni jej distribuovat nebo odvodit produkty, které distribuujete ze zdrojového kódu Sysinternals. Pokud například pracujete ve společnosti, ve které více uživatelů najde užitečné konkrétní nástroje Sysinternals, nemusíte nástroje publikovat na interní sdílenou složku nebo web. Místo toho umístěte odkazy na svůj web na domovskou stránku každého nástroje na Sysinternals. To také pomáhá zajistit, aby vaši spolupracovníci vždy stáhli nejnovější verze.
Pokud chcete distribuovat nástroje Sysinternals interně, s komerčním produktem nebo na sharewarovém disku CD, nebo chcete vytvořit komerční produkt nebo distribuovatelný program na zdrojovém kódu Sysinternals, pošlete e-mail s vysvětlením podrobností o požadovaném použití k licensing@....
INTERNÍ INFORMACE
NFI
Několik bulletinů jsem ukázal existenci nástroje DiskEdit, který společnost Microsoft neúmyslně odeslala na CD NT 4 SP4. DiskEdit je velmi výkonný, i když quirky, prohlížeč struktury systému souborů, který můžete použít k prozkoumání NTFS a FAT (i když je to podpora NTFS, která je zajímavá) datových struktur na disku. Pokud jste vynechali DISK CD NT 4 SP 4 a zajímá vás zkoumání struktur na disku NTFS, nejste zcela mimo tmavé, i když. Společnost Microsoft vydala bezplatný nástroj s názvem NFI (NTFS Information), který rozumí a může vypustit interní struktury svazků NTFS. I když jeho výstup není téměř tak podrobný jako diskEdit, je zajímavé a odhalit.
NFI si můžete stáhnout jako součást nástrojů podpory OEM na adrese http://support.microsoft.com/support/kb/articles/q253/0/66.asp. Spuštění NFI s názvem souboru vypisuje záznam NTFS MFT pro tento soubor. Následující příklad ukazuje, že NFI výpis MFT záznamu pro $Quota soubor metadat, soubor, který existuje pouze v případě, že máte povolenou správu kvót na svazku:
C:\nfi c:\$extend\$quota
File 24
\$Extend\$Quota
$STANDARD_INFORMATION (resident)
$FILE_NAME (resident)
$INDEX_ROOT $O (resident)
$INDEX_ROOT $Q (resident)
Výstup ukazuje, že soubor zabírá 24. položku v MFT (jeho index souboru je 24) a že obsahuje čtyři atributy, včetně standardních informací, názvu souboru a dvou kořenových certifikátů indexu (a index je v podstatě kompletovaný seznam položek, jako je adresář). Popíšem, jak NTFS používá $Quota indexy v mé nejnovější sérii Windows 2000 Magazine na NTFS v5.
Pokud chcete zobrazit výpis všech souborů na svazku, zadejte písmeno jednotky na příkazovém řádku NFI bez názvu souboru, například nfi c:. Zobrazí se seznam jednotlivých položek MFT, včetně všech souborů metadat.
NFI má nějaké další talenty, jako je schopnost přeložit číslo sektoru do souboru, ve kterém se nachází. Chcete vědět, v jakém sektoru souborů je na disku C: 2345? Použijte příkaz nfi c: 2345. Všimněte si, že u svazků RAID softwaru, jako jsou sady svazků a sady stripe, dojde k selhání. NFI funguje na NT 4 i Windows 2000.
SKRYTÉ KLÍČE REGISTRU WIN9X
Před dvěma otázkami jsem řekl, že bych v následujícím bulletinu pokryl "skryté klíče registru Win9x" a několik z vás mi připomnělo, že jsem zapomněl. Takže tento měsíc vám řeknu o skrytých klíčích registru ve Windows 9x.
Před několika lety jsem objevil způsob, jak vytvořit skryté klíče registru v systém Windows NT. Skrytím myslím, že i když vidíte klíče, ke kterým přistupuje aplikace, která je vytváří pomocí Regmonu, nemůžete napsat program Win32, abyste se podívali na hodnoty klíče, ani se nemůžete podívat na klíče pomocí editorů registru Regedit nebo Regedt32. Skryté klíče jsou užitečné pro ukládání dat, která nechcete, aby koncoví uživatelé mohli upravovat, například datum vypršení časového limitu zkušebního produktu.
Trikem vytvoření skrytého klíče registru bylo moje realizace, že nativní rozhraní NT API, což je rozhraní pro volání systému, na kterém je rozhraní Win32 API sestaveno, vyžaduje, aby klíče registru byly zadány jako počítané řetězce Unicode.
Počítaný řetězec Unicode je jeden, jehož délka je označena polem délky, nikoli přítomnost ukončovacím znakem null. Pomocí nativního rozhraní API proto můžete vytvořit klíče registru, které obsahují znak null, například "test\0test". Vzhledem k tomu, že rozhraní API klíče registru win32 je založené na řetězcích ukončených hodnotou null, neexistuje způsob, jak otevřít klíč registru, který obsahuje ukončovací znak null pomocí rozhraní API Win32. Pokud jste se pokusili předat předchozí ukázkový název RegOpenKey klíče nebo RegCreateKey by byl považován za "test" řetězec zkrácený na znak null. Vzhledem k tomu, že všechny existující editory registru, včetně těch, které jsou součástí systém Windows NT a Windows 2000, používají rozhraní API Win32, aplikace, která používá nativní rozhraní API k vytvoření názvů s vloženými znaky null, efektivně vytváří skryté klíče.
Tato metoda funguje na systém Windows NT, ale co Windows 9x? Nemyslel jsem si, že existuje způsob, jak vytvořit skryté klíče registru ve Windows 9x, dokud mě někdo e-mailem neposlal se souborem protokolu Regmon, který zobrazuje Internet Explorer (IE) přístup ke klíčům, které se nezobrazují v Regedit. Pokud si to chcete prohlédnout sami, spusťte Regmon a nastavte následující filtr: policydata. Pak spusťte IE (to funguje pro všechny verze IE 4 a IE 5) a navštivte web. Pokud v regmonu nevidíte žádný výstup, přejděte do dialogového okna konfigurace možností aplikace IE a ujistěte se, že je povolený Poradce pro obsah.
Pokud je poradce pro obsah povolený nebo byl ve vašem systému povolený, uvidíte přístup ke HKLM\PolicyDatklíči a jeho podklíčům. Klíč PolicyData HKEY_LOCAL_MACHINE ale nenajdete, když se podíváte do regeditu. Chvíli zaberte a podívejte se, jestli zjistíte, co se děje.
Odpovědí je, že služba IE dynamicky načítá podregistr registru pomocí RegLoadKey rozhraní API Win32, čte hodnoty, které potřebuje, a pak vyloží podregistr s RegUnloadKey. Podregistr má název C:\Winows\System\Ratings.pol – soubor je skrytý a jen pro čtení, ale můžete ho zobrazit zadáním attrib –r –h c:\windows\system\ratings.pol.
Trasování, která vidíte v regmonu, ukazují informace, které poradce pro obsah hledá v podregistru. Pokud chcete prozkoumat jeho obsah sami, stáhněte si nástroj Regload z www.sysinternals.com/regload.zip a spusťte ho s následující syntaxí: regload test c:\windows\system\ratings.pol. Pak otevřete Regedit a přejděte HKLM\test. Hodnoty, které najdete, odpovídají nastavením, která zadáte v Poradci pro obsah, a souvisí s konfiguračním souborem pojmenovaným v hodnotě v Users\FileName0 podregistru. Hodnota obvykle odkazuje na C:\Windows\System\RSACi.rat, soubor hodnocení definovaný přidružením hodnocení internetového obsahu. Mimochodem, můžete vidět hodnotu s poněkud humorným názvem "PleaseMom" v nastavení registru Content Advisoru, například v části HKLM\Test\Users\Default. Tato hodnota je odvozena od správce může zadat heslo, aby uživatelé mohli zobrazit omezený obsah, zaškrtávací políčko na stránce Obecné v dialogovém okně Nastavení Poradce pro obsah.
Důvod, proč by Společnost Microsoft obfusovala existenci těchto hodnot registru, by měla být zřejmé. V jejich návrhu je ale docela závažná slabost. Všimněte si, že když povolíte Poradce pro obsah, musíte zadat heslo, které chrání dialogové okno nastavení Poradce pro obsah. Toto heslo je uloženo v HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Ratings\Keysouboru . Tuto hodnotu odstraňte a bez zadání hesla můžete získat přístup k nastavení Content Advisoru. Když teď vývojáři IE přešli na potíže, aby obfuskovali nastavení Content Advisoru, proč odcházejí z těchto zadních dveří v otevřeném prostředí? Typický návrh zabezpečení Microsoftu, myslím. Mimochodem, pokud chcete uvolnit klíč, který jste načetli s regulárním načtením, stačí zadat regload test.
CO SE CHYSTÁ
NOVÁ VOLÁNÍ SYSTÉMU WHISTLER
Whistler je přírůstkový vývoj operačního systému Windows 2000 se zaměřením na zvýšenou spolehlivost a snadnou migraci uživatelů z operačních systémů Windows 9x. Zahrnuje však některé změny jádra. Nejviditelnější jsou několik nových systémových volání a exportovaných (dostupných pro použití ovladači zařízení) funkcí jádra. Až příště vám dám náhled těchto nových rozhraní API jádra.
Děkujeme vám za přečtení bulletinu Sysinternals.
Publikováno ve čtvrtek, 30. listopadu 2000 17:05 od ottoh
[Archiv bulletinů ^] [< Svazek 2, číslo 4] [Svazek 3, číslo 1 >]