Share via


[Nieuwsbrievenarchief ^] [< Volume 2, Getal 4] [Volume 3, Getal 1 >]

The Systems Internals Newsletter Volume 2, Number 5

www.sysinternals.com
Copyright (c) 2000 Mark Russinovich


30 november 2000 - In dit probleem:

  1. HOOFDARTIKEL

  2. WAT IS ER NIEUW IN SYSINTERNALS

    • PsLoggedOn v1.2
    • PsShutdown v1.0
    • PsTools v1.1
    • BgInfo v1.1
    • Tokenmon v1.0
    • Filemon v4.32
    • Regmon v4.32
    • Binnen Windows 2000, 3e Ed.
    • November en Winter Windows 2000 Magazine
    • Sysinternals bij Microsoft
    • Sysinternals-licentieverlening
  3. INFORMATIE OVER INTERNE GEGEVENS

    • NFI
    • Verborgen Win9x-registersleutels
  4. WAT KOMT ER AAN DE DAG?

    • Nieuwe Oproepen van Het Systeem Van Den

SPONSOR: WINTERNALS SOFTWARE

De Sysinternals Newsletter wordt gesponsord door Winternals Software, op het web op www.winternals.com. Winternals Software is de toonaangevende ontwikkelaar en provider van geavanceerde systeemhulpprogramma's voor Windows NT/2K. Winternals Software producten omvatten FAT32 voor Windows NT 4.0, NTFSDOS Professional Edition (een read/write NTFS-stuurprogramma voor DOS) en Remote Recover.

De netstat-opdracht, die wordt geleverd met alle versies van Windows 9x en Windows NT/2000, laat zien welke TCP/IP-poorten op uw systeem zijn geopend, maar u ziet niet welk proces de poort heeft geopend. TCPView Pro, het nieuwste bewakingsprogramma van Winternals, wordt niet alleen geleverd met een netstat-equivalent opdrachtregelprogramma, Tcpvstat, dat laat zien welk proces elke poort heeft geopend, maar bevat een GUI met dezelfde informatie plus een realtime tracering van TCP/IP-activiteit. De realtime tracering toont de toepassing die een netwerktoegang maakt, de lokale en externe IP-adressen van de toegang met optionele DNS-naamomzetting, het type toegang, het succes van de toegang en de hoeveelheid overgedragen gegevens. TCPView Pro is slechts $ 69. Download vandaag op www.winternals.com/products/monitoringtools/tcpviewpro.shtml de volledig functionele proefversie van TCPView Pro van 14 dagen.

Hallo allemaal,

Welkom bij de Sysinternals nieuwsbrief. De nieuwsbrief heeft momenteel 28.000 abonnees.

Een van de voordelen van overstappen van Windows NT naar Windows 2000 is de aanzienlijk verbeterde betrouwbaarheid. Ik heb geschreven over de redenen voor de verbeteringen in verschillende artikelen en ze zijn voornamelijk het resultaat van een hulpprogramma genaamd Driver Verifier. U kunt de verifier, die u start, configureren door 'verifier' te typen in het dialoogvenster Uitvoeren van Startmenu om de uitvoering van specifieke apparaatstuurprogramma's nauwkeurig te bekijken, op zoek naar schending van een van de verschillende programmeerregels voor stuurprogramma's. De Verifier gaat één stap verder dan passief bewaken, maar het vergroot ook het potentieel; foutvoorwaarden door bijvoorbeeld geheugenblokken toe te wijzen voor het stuurprogramma dat met ongeldige regio's is verbonden en specifieke velden in gegevensstructuren die aan het stuurprogramma worden doorgegeven, te nulen. Als u echt moeilijk wilt worden, kunt u de Verifier lage geheugenomstandigheden voor het stuurprogramma laten simuleren.

Microsoft maakt gebruik van de Verifier via het programma voor het ondertekenen van stuurprogramma's. Hiervoor is vereist dat elk stuurprogramma dat digitaal is ondertekend door Microsoft, strenge tests voor stuurprogrammaverificator doorgeeft. Wanneer een stuurprogramma wordt geïnstalleerd, controleert de hardwarewizard of het stuurprogramma is ondertekend. Als dat niet het geval is, wordt u gewaarschuwd of kan het stuurprogramma niet worden geïnstalleerd, afhankelijk van de instellingen die u hebt ingevoerd in het dialoogvenster Opties voor stuurprogramma-ondertekening, die toegankelijk is via de hardwarepagina van de systeem-applet in de Configuratiescherm.

Het feit dat het standaardbeleid voor stuurprogramma-ondertekening eindgebruikers waarschuwt over niet-ondertekende stuurprogramma's, is voldoende om ervoor te zorgen dat de meeste hardwareleveranciers hun stuurprogramma's robuust maken en ze laten ondertekenen. Apparaatstuurprogramma's kunnen echter niet worden gedetecteerd door het beleid voor het ondertekenen van stuurprogramma's. Alleen stuurprogramma's die zijn geïnstalleerd met behulp van INF-bestanden (stuurprogramma-installatiebestanden die eindigen op de extensie .inf) worden gecontroleerd op handtekeningen. Installatietoepassingen kunnen stuurprogramma's handmatig installeren met behulp van setup-API's rechtstreeks of door de registerinstellingen van het stuurprogramma handmatig te configureren. Sysinternals-toepassingen zijn geweldige voorbeelden hiervan: Filemon, Regmon en andere Sysinternals-hulpprogramma's met stuurprogrammaonderdelen installeren hun stuurprogramma's handmatig, wat de reden is dat u niet wordt gewaarschuwd dat ze niet zijn ondertekend door Microsoft.

Stuurprogramma's die niet vaak worden geïnstalleerd met INF-bestanden zijn virusscanners, versleutelingssoftware en cd-rom brandsoftware. Dit voorkomt echter niet dat hardware-gerelateerde stuurprogramma's door de lijplijden. Het Stuurprogramma Sysinternals Ctrl2cap voor Windows 2000 (www.sysinternals.com/ctrl2cap.htm is een voorbeeld van een hardware-gerelateerd stuurprogramma dat wordt geïnstalleerd op een manier waarmee controles voor het ondertekenen van stuurprogramma's worden overgeslagen. Deze lus leidt tot de aanwezigheid van stuurprogramma's op uw systeem die niet zijn geverifieerd, waardoor systeemstabiliteit kan worden aangetast (ik controleer alle Sysinternals-stuurprogramma's op de hoogste instellingen). Microsoft moet alle stuurprogramma's afdwingen, niet alleen stuurprogramma's die met INF-bestanden worden geïnstalleerd, om de ondertekeningscontrole te doorlopen.

Waarom heb ik een rant? Mijn CD-ROM brandende software, die het populairste van dat type software op de markt is, heeft een stuurprogramma dat mijn Windows 2000 SP1-systeem reproduceert. Als ik de stuurprogrammacontrole configureer om dit te controleren, wordt het systeem niet eens opgestart voordat de Verifier de eerste schending van het stuurprogramma detecteert en het systeem vastloopt. Het stuurprogramma is geïnstalleerd zonder een INF-bestand, dus ik werd niet gewaarschuwd dat het niet-ondertekend was. Ik garandeert dat als het beleid van Microsoft strikter was dat deze leverancier twee keer zou denken voordat een niet-ondertekende (en buggy)-chauffeur wordt verzonden.

Geef de nieuwsbrief door aan vrienden die u denkt geïnteresseerd te zijn in de inhoud.

Hartelijk dank!

-Merken

WAT IS ER NIEUW IN SYSINTERNALS

PSLOGGEDON V1.2

Naast een duidelijke naamwijziging van LoggedOn naar PsLoggedOn heeft dit opdrachtregelprogramma, dat u kunt laten zien wie lokaal is aangemeld en via resourceshares op het lokale of externe systeem, enkele nieuwe functies heeft. De eerste is de opdrachtregelswitch '-l' die het gevolg is van feedback van gebruikers. Veel mensen gebruiken PsLoggedOn om te zien of een account lokaal is aangemeld op hun servers. Er kunnen bijvoorbeeld gebruikers zijn aangemeld via bestandsshares, maar dat is niet relevant bij het nemen van een beslissing over wanneer een account kan worden bijgewerkt of de server op afstand kan worden beheerd.

De tweede nieuwe functie van PsLoggedOn toont niet alleen wie is aangemeld, maar ook op het moment waarop de aanmelding heeft plaatsgevonden. PsLoggedOn verkrijgt aanmeldingstijden voor aanmeldingen van resourceshares gratis wanneer er een Win32-API, NetSessionEnum, wordt gebruikt om aanmeldingen voor resourceshares op te sommen (de opdrachtregel-Net-opdracht maakt ook gebruik van NetSessionEnum om sessies op te sommen). Er is echter geen Win32-API die aangeeft wie lokaal is aangemeld bij een systeem, veel minder op welk moment ze zich hebben aangemeld.

Om te bepalen wie lokaal is aangemeld bij een systeem, inventariseert PsLoggedOn de beveiligings-id's (SID's) die zich onder de registersleutel van HKEY_USERS een computer bevinden. Wanneer iemand zich lokaal aanmeldt bij een computer, hetzij in de console of via een service, wordt zijn of haar profiel in de HKEY_USERS sleutel geladen. Toepassingen hebben toegang tot de registerinstellingen van hun profiel via de HKEY_CURRENT_USER sleutel, omdat die sleutel wordt behandeld als een symbolische koppeling naar hun specifieke profiel onder HKEY_USERS. PsLoggedOn kan dus weten wie lokaal is aangemeld door de SID's te vertalen die in de sleutel van HKEY_USERS een computer worden gevonden in de bijbehorende gebruikersnaam. PsLoggedOn gebruikt RegConnectKey om verbinding te maken met het register van een externe computer wanneer u deze doorgeeft aan gebruikers die zijn aangemeld bij een extern systeem.

Bepalen hoe laat een gebruiker zich heeft aangemeld, werkt met behulp van een vergelijkbare truc. Wanneer het WinLogon-proces het profiel HKEY_USERS van een gebruiker laadt nadat ze zich hebben aangemeld, maakt WinLogon een vluchtige (niet opgeslagen in het profiel op schijf) subsleutel in hun profiel met de naam, op de juiste manier genoeg, Vluchtige omgeving. In het register worden laatst gewijzigde tijdstempels voor registersleutels opgeslagen en omdat het systeem de subsleutels vluchtige omgeving niet wijzigt na het maken ervan, kan PsLoggedOn bepalen wanneer een gebruiker zich heeft aangemeld door de tijdstempel van de subsleutel vluchtige omgeving te verkrijgen.

PsLoggedOn v1.2 downloaden met volledige bron op
www.sysinternals.com/psloggedon.htm.

PSSHUTDOWN V1.0

Als u ooit een lokaal of extern Windows NT/2000-systeem wilt afsluiten of opnieuw opstarten, moet u PsShutdown downloaden. PsShutdown is een kloon van het hulpprogramma Shutdown Windows NT/2000 Resource Kit. Hiervoor zijn dezelfde opdrachtregelargumenten nodig waarmee u een vertraging kunt opgeven voordat de computer wordt afgesloten, of het nu of niet opnieuw moet worden opgestart, een optioneel bericht om weer te geven aan elke gebruiker die momenteel is aangemeld bij het systeem en de naam van de computer om af te sluiten of opnieuw op te starten.

Download PsShutdown v1.0 op www.sysinternals.com/psshutdn.htm.

PSTOOLS V1.1

U hebt waarschijnlijk gezien dat het toenemende aantal hulpprogramma's bij Sysinternals dat begint met het voorvoegsel 'Ps'. De eerste was PsList, een opdrachtregelprogramma met informatie over de actieve processen op het lokale of een extern Windows NT/2000-systeem. Ik heb PsList de naam gegeven omdat het standaardinformatieprogramma voor unix-opdrachtregelprocessen de naam 'ps' heeft. Het volgende hulpprogramma om het voorvoegsel op te halen was PsKill, een opdrachtregelprogramma waarmee u processen kunt beëindigen die worden uitgevoerd op lokale of externe Windows NT/2000-systemen. Ik gaf PsKill het voorvoegsel "Ps" omdat het een perfecte aanvulling op PsList was.

Na verloop van tijd heb ik andere hulpprogramma's ontwikkeld die dezelfde definiërende kenmerken hebben gedeeld als PsList en PsKill: ze zijn opdrachtregels gebaseerd en werken op het lokale of een extern Windows NT/2000-systeem. Met ElogList kunt u bijvoorbeeld de inhoud van de gebeurtenislogboeken van een systeem dumpen en GetSid u de SID van een computer of een bepaald account laten zien. Onlangs besloot ik al deze tools aan elkaar te koppelen door ze het voorvoegsel 'Ps' te geven en ze te downloaden als één pakket met de naam PsTools.

PsTools, waaronder PsList, PsKill, evenals de hernoemde PsLogList en PsGetSid, bestaat uit in totaal zeven hulpprogramma's. Als u een Sysinternals-hulpprogramma met het voorvoegsel Ps ziet, weet u automatisch dat het een opdrachtregelprogramma is dat zowel lokaal als extern werkt.

Download PsTools v1.1 op www.sysinternals.com/pstools.htm.

BGINFO V1.1

Als gevolg van enorme feedback van gebruikers heeft Bryce BgInfo bijgewerkt, een hulpprogramma waarmee bureaubladachtergrond kan worden weergegeven om aanpasbare informatie over de configuratie van een systeem weer te geven, als gevolg van de feedback van de gebruiker die hij heeft gekregen. Standaard telt BgInfo 10 seconden af voordat u de instellingen toepast die zijn opgegeven in het dialoogvenster, maar met een nieuwe opdrachtregeloptie, /timerkunt u het aftellen helemaal wijzigen of elimineren. Dit maakt het handiger om BgInfo op te nemen in een aanmeldingsscript of als snelkoppeling in de opstartmap van een profiel.

Versie 1.1 bevat andere nieuwe functies, zoals de mogelijkheid om willekeurige tekst weer te geven die u definieert en meer vooraf gedefinieerde informatiecategorieën. De bureaublad bitmap BgInfo v1.1 maakt ook over het algemeen kleiner, waardoor de footprint van het bureaubladgeheugen van BgInfo wordt geminimaliseerd.

Download BgInfo v1.1 op www.sysinternals.com/bginfo.htm.

TOKENMON V1.0

Tokenmon is de nieuwste toevoeging aan de gevarieerde suite bewakingshulpprogramma's die u kunt downloaden van Sysinternals. Tokenmon, die dezelfde gebruikersinterface deelt als die van zijn neven, zoals Regmon en Filemon, bewaakt aanzienlijke beveiligingsgerelateerde activiteiten op een Windows NT/2000-systeem. Wat is 'significante' beveiligingsactiviteit? De kern van windows NT/2000-beveiliging is het tokenobject, een gegevensstructuur die een account-SID, groeps-SID's en bevoegdheden bevat. Wanneer een proces probeert toegang te krijgen tot een beveiligd object, gebruikt de Security Reference Monitor de SID's in het token als onderdeel van de toegangsvalidatie. Als een proces een beperkte bewerking probeert uit te voeren, zoals het systeem opnieuw opstarten, controleert het systeem de juiste bevoegdheid in het token van het proces.

Een van de krachtige (en gepatenteerde) functies van het Windows NT/2000-beveiligingsmodel is imitatie. Met imitatie kan een thread de op processen gebaseerde identiteit tijdelijk overschrijven en een alternatieve identiteit aannemen via het gebruik van een imitatietoken. Servertoepassingen profiteren van imitatie bij het openen van resources namens een client, wanneer ze de identiteit van de client aannemen voor de duur van de toegang.

Tokenmon installeert systeemoproephooks op dezelfde manier als regmon voor register-API's, om het maken en verwijderen van tokens, het in- en uitschakelen van bevoegdheden en imitatie te bewaken. Tokenmon maakt ook gebruik van procesaanmaakhaken die worden geleverd door de NT/2000-kernel om het maken en verwijderen van processen en andere API's te controleren om te bepalen wanneer een gebruiker zich aanmeldt en wanneer deze zich afmeldt.

De volledige broncode naar tokenmon wordt gepost en het is de moeite waard om enkele van de interessante technieken te bespreken die de code demonstreert. Tokenmon detecteert een aanmeldingsgebeurtenis door de NtCreateToken-systeemaanroep te koppelen. Dit is de gebeurtenis die wordt gebruikt door aanmeldingsbrokers zoals WinLogon om een eerste token te maken voor het eerste proces van een nieuwe aanmeldingssessie. Processen die door het eerste proces zijn gemaakt, nemen een kopie van het eerste token over. Tokenmon registreert zich voor aanmeldingsmeldingen via de kernelmodus SeRegisterLogonSessionTerminatedRoutine-functie, een API die bestaat ten behoeve van bestandssysteemstuurprogramma's, netwerkomleidingsstuurprogramma's, die sessiegegevens in de cache opslaan en willen opschonen wanneer een gebruiker zich afmeldt. Netwerkomleidingsfuncties implementeren de clientzijde van client-/serververbindingen voor het delen van bestanden.

Een ander interessant detail van de implementatie van tokenmon is de manier waarop Tokenmon de API's koppelt die door de tokenmon worden bewaakt. Sommige API's die tokenmon-hooks niet worden geëxporteerd voor gebruik door apparaatstuurprogramma's, maar worden geëxporteerd in de gebruikersmodus NTDLL.DLL bibliotheek voor gebruik door toepassingen die gebruikmaken van hun Win32-equivalenten. Alle register-API's die regmon-hooks worden geëxporteerd in de kernelmodus, waardoor het Regmon-apparaatstuurprogramma hun systeemoproepnummers kan verkrijgen en de systeemoproeptabel op de juiste manier kan koppelen. Voor API's die niet worden geëxporteerd voor gebruik door stuurprogramma's, moet de tokenmon-GUI de oproepnummers verkrijgen met behulp van de exports in NTDLL.DLL en vervolgens de nummers doorgeven aan het stuurprogramma, zodat het stuurprogramma de systeemoproeptabel kan koppelen. Tokenmon laat dus zien hoe systeemoproepen worden gekoppeld die niet worden geëxporteerd in kernelmodus.

Download Tokenmon v1.0 met volledige bron op www.sysinternals.com/tokenmon.htm.

FILEMON V4.32

Deze meest recente Filemon-update introduceert intuïtievere en volledige filtering, weergave van volledige UNC-padnamen voor toegang tot Windows 9x/Me-netwerkbestanden en weergave van bestandsnamen met NTFS-metagegevens.

In eerdere versies van Filemon moest u filters invoeren met verplichte jokertekens. Als u bijvoorbeeld de toegang tot de map Temp op station C:wilt bewaken, moet u een filter als volgt invoeren: "c:\temp\*". Met de nieuwe filtersyntaxis zijn jokertekens optioneel, dus terwijl het voorbeeldfilter zou werken, zou 'c:\temp' hetzelfde effect hebben. Daarnaast past Filemon nu de filters toe die u invoert voor alle velden in de weergave, inclusief de procesnaam, het aanvraagtype, het pad en de kolom 'overige'. Met deze flexibiliteit kunt u kijken naar specifieke typen aanvragen of aanvragen met bepaalde gegevens in de andere kolom, iets wat eerder niet mogelijk is.

Gebruikers van Filemon op Windows 9x/Me-systemen zien nu bestandspadnamen met volledige UNC-syntaxis wanneer ze toegang hebben tot externe bronnen. Filemon heeft eerder de server- of sharenaam voor dergelijke toegangen niet weergegeven, wat resulteert in onvolledige padnamen.

Als u Filemon in Windows NT/2000 hebt gebruikt, hebt u ongetwijfeld de tekst 'DASD' in de padkolom gezien voor veel toegang (DASD) komt van 'Direct Access Storage Device', een term die Microsoft gebruikt om toegang te beschrijven tot een volume dat bestandssysteemstructuren omzeilt). Voor de meeste activiteiten op NTFS-volumes is DASD nu een ding van het verleden. In plaats daarvan ziet u de namen van de NTFS-metagegevensbestanden die worden gelezen en geschreven. Een update van een MFT-record zou bijvoorbeeld eerder hebben geresulteerd in een DASD-uitvoerregel, maar nu ziet u deze als toegang tot '$Mft', de naam van het interne metagegevensbestand van de MFT.

Waarom heeft Filemon eerder geen namen van metagegevensbestandsbestanden weergegeven en hoe verkrijgt filemon deze namen nu? De bestandsobjecten die NTFS-metagegevensbestanden vertegenwoordigen, slaan geen bestandsnaam op, dus Filemon kan de naam niet ophalen uit het bestandsobject. De alternatieve methode van Filemon voor het verkrijgen van de naam van een bestand, het uitvoeren van query's op het stuurprogramma van het bestandssysteem, werkt niet voor NTFS-metagegevensbestanden. Hoewel NTFS reageert met de namen van metagegevensbestanden, loopt NTFS op NT 4 willekeurig vast en loopt NTFS op Win2k af en toe vast bij het reageren op dergelijke query's.

Filemon moet daarom een truc gebruiken om de namen van metagegevensbestanden te verkrijgen. Wanneer er een aanvraag wordt weergegeven die is gericht op een bestandsobject op een NTFS-volume zonder naam, wordt NTFS een query voor de index van het bestand verzonden. Dit is dezelfde index die de Win32-functie GetFileInformationByHandle retourneert en voor bestanden op NTFS-volumes is de index de MFT-index van het bestand. De eerste 16 vermeldingen in de MFT zijn gereserveerd voor specifieke metagegevensbestanden, dus gezien een index in dat bereik zoekt Filemon simpelweg de naam van het metagegevensbestand op in een eigen tabel.

Helaas ziet u nog steeds DASD voor mapmetagegevens en bestandstoewijzingstabel (FAT) op FAT-volumes, omdat FAT geen namen opslaat voor mapmetagegevensbestanden of de FAT. U zult verbaasd zijn hoe vaak het NTFS-logboekbestand ($LogFile) wordt geopend. Overigens slaat NTFSop de metagegevensbestanden de namen op voor metagegevensbestanden, dus de truc is onnodig op Den.

Met de laatste verbeteringen van Filemon kan Filemon tijdstempels weergeven met millisecondenresolutie. Deze ondersteuning vereist lelijke hacks in het Windows 9x/Me Filemon-stuurprogramma vanwege bugs in een timingfunctie in de Windows 9x/Me kernel. Zie de broncode voor meer informatie.

Download Filemon v4.32 met broncode op www.sysinternals.com/filemon.htm.

REGMON V4.32

De wijzigingen van Regmon zijn niet zo belangrijk als die van Filemon, maar Regmon ondersteunt nu dezelfde intuïtievere filtersyntaxis als Filemon, en net als Filemon, past de filters toe op alle velden. De resolutie van milliseconden kan ook worden weergegeven op tijdstempels.

Degenen van jullie die zijn begonnen met spelen met Microsoft (de opvolger van Windows 2000) Beta 1 hebben misschien gemerkt dat eerdere versies van Regmon Crash Tijdens de start. Dit komt doordat Microsoft de systeemoproeptabel heeft geplaatst, die Regmon wijzigt om de haken in te voegen, in met schrijfbeveiliging beveiligd geheugen. Regmon v4.32 werkt hier omheen met behulp van een techniek waarvoor ik op verzoek van Microsoft geen broncode heb opgegeven, omdat de techniek in de definitieve release van Microsoft kan breken en Microsoft manieren verkent om systeemoproepen te ondersteunen. Windows NT is niet ontworpen ter ondersteuning van systeemoproephook, wat iets is dat we in het midden van 1996 hebben gepioneerd met de eerste release van Regmon.

Hier volgt een niet-gedocumenteerde Filemon/Regmon-tip. Ik krijg vaak e-mailberichten die vragen hoe regmon of Filemon moet worden uitgevoerd vanuit een niet-beheerdersaccount in Windows NT/2000 Er zijn veel gevallen waarin een bepaalde toepassing goed werkt wanneer deze wordt uitgevoerd vanuit het beheerdersaccount, maar niet van die van een niet-gemachtigde gebruiker, waarbij Regmon en Filemon nuttig zijn om te bepalen waarom de toepassing mislukt (meestal een probleem met betrekking tot beveiligingsinstellingen op een bestand of registersleutel). Het uitvoeren van Regmon en Filemon vanuit een niet-gemachtigd account mislukt echter omdat zowel Filemon als Regmon apparaatstuurprogramma's installeren, iets waarvoor beheerdersbevoegdheden zijn vereist.

Er is echter een truc waarmee u dit kunt omzeilen: als u zich aanmeldt als beheerder en Filemon of Regmon start, kunt u ze vervolgens uitvoeren vanaf niet-gemachtigde accounts. Dit komt doordat Filemon en Regmon een stuurprogramma installeren bij hun eerste uitvoering en in de volgende uitvoeringen toegang hebben tot het reeds geladen stuurprogramma. Omdat ik geen beveiliging in het stuurprogramma implementeer, kan een onbevoegde gebruiker de hulpprogramma's uitvoeren nadat het stuurprogramma is geladen. Beveiligingsprobleem? Ja, maar Filemon en Regmon zijn bedoeld om hulpprogramma's voor probleemoplossing te zijn, dus ik en de mensen die vragen hoe de hulpprogramma's moeten worden uitgevoerd vanuit niet-gemachtigde accounts, bekijken dit als een functie.

Download Regmon v4.32 met volledige broncode op www.sysinternals.com/regmon.htm.

DEBUGVIEW V4.02

Een van de toepassingen waarvoor ik de meeste feedback van gebruikers heb ontvangen, is, enigszins verrassend, DebugView. Deze nieuwe versie heeft een aantal belangrijke verbeteringen die betrekking hebben op veel van de functie- en functionaliteitsaanvragen die ik heb ontvangen en die DebugView krachtiger maken dan ooit.

DebugView ondersteunt nu maximaal vijf verschillende markeringsfilters, elk met eigen aanpasbare kleuren. Hierdoor kunt u tegelijkertijd op verschillende trefwoorden in uw foutopsporingsuitvoer thuiskomen en deze eenvoudig onderscheiden. Daarnaast implementeert DebugView dezelfde nieuwe filtersyntaxis als Filemon en Regmon, waardoor de jokertekens optioneel zijn voor subtekenreekskoppeling.

Een klacht die ik heb ontvangen over eerdere versies van DebugView, is dat, zelfs als u alleen Win32-foutopsporingsuitvoer wilde vastleggen, u nog steeds beheerdersbevoegdheden nodig had om DebugView uit te voeren, omdat DebugView niet zou worden uitgevoerd als het apparaatstuurprogramma niet kon worden geïnstalleerd. Deze nieuwe versie wordt zelfs uitgevoerd vanuit accounts die geen speciale bevoegdheden hebben. Als het stuurprogramma niet kan worden geïnstalleerd of geopend, worden de menu-items voor opname in de kernelmodus uitgeschakeld.

Twee functies waarmee DebugView de uitvoer automatisch kunt vastleggen wanneer u zich aanmeldt, is de optie voor het minimaliseren van invoervak en ondersteuning voor opdrachtregelswitches. Met opdrachtregelswitches kunt u DebugView laten starten in het systeemvak en logboekuitvoer die wordt vastgelegd in een bestand. Nadat u DebugView hebt gestart, kunt u een menuoptie gebruiken om het minimale werking van de knop in te schakelen tussen normaal minimaliseren en minimaliseren in het systeemvak.

Voor gebruikers die DebugView uitvoeren in externe sessies in Windows 2000-terminalservices, legt DebugView nu Win32-uitvoer vast die wordt gegenereerd door toepassingen die worden uitgevoerd in uw externe sessie, en eventueel vanuit de consolesessie. Dit is handig voor het opsporen van fouten in COM-servers en Win32-services op afstand, omdat deze typen programma's worden uitgevoerd in de consolesessie.

Ten slotte werkt DebugView nu op DebugView beta 1, met ondersteuning voor het vastleggen van uitvoer van de verschillende nieuwe Versies van DeBugPrint op de kernelmodus-functie DbgPrint.

Download DebugView v4.02 op www.sysinternals.com/dbgview.htm.

BINNEN WINDOWS 2000, 3RD EDITION

Het officiële boek over de interne werking van Windows 2000 is nu beschikbaar! Deze editie, mede-auteur van David Salomon (www.solsem.com) en Mark Russinovich, is meer dan 40% groter dan de vorige, met nieuwe dekking van netwerken, plug-and-play, energiebeheer, services, het register, WMI, opstarten en afsluiten, en opslag. Het bevat ook een cd met verschillende krachtige hulpprogramma's, die nergens anders beschikbaar zijn, voor het onderzoeken van interne windows 2000-interne functies.

Een van de hulpprogramma's die ik specifiek voor het boek heb geschreven, is LiveKd, een programma waarmee u beide Microsoft-kernelfoutopsporingsprogramma's, i386kd en WinDbg, uitvoert op een live-systeem alsof u een crashdump bekijkt. Veel van de experimenten die in het boek worden gepresenteerd, werken op een livesysteem wanneer ze worden uitgevoerd met Behulp van LiveKd. LiveKd werkt door een bestandssysteemfilterstuurprogramma te installeren dat het fysieke geheugen van de computer weergeeft aan het Microsoft-foutopsporingsprogramma alsof het een crashdumpbestand was. LiveKd maakt een pseudodumpbestand van 0 lengte en wanneer het foutopsporingsprogramma uit het bestand leest, retourneert LiveKd gegevens uit het fysieke geheugen. Bekijk de errata- en updatespagina van het boek voor een LiveKd-patch waarmee een incompatibiliteit tussen LiveKd v1.0 en verschillende virusscanners zonder toegang wordt gecorrigeerd.

Bekijk de inhoudsopgave van het boek en bestel nu via www.sysinternals.com/insidew2k.htm.

NOVEMBER EN WINTER WINDOWS 2000 MAGAZINE

Wilt u weten wat er precies is gewijzigd tussen NTFS v4 en NTFS v5? Als dat zo is, bekijk dan mijn tweedelige serie in het tijdschrift November en Winter van Windows 2000. In deel 1 worden reparsepunten, adreslijstkoppelingen, volumekoppelingen, quotumondersteuning en geconsolideerde beveiligingsinstellingen beschreven. Deel 2 eindigt met een goed overzicht van versleuteling, streams, tracering van gedistribueerde koppelingen en het wijzigingslogboek. Beide artikelen brengen u dieper in dan andere artikelen, waarbij u de wijzigingen op de schijf en het interne gedrag van deze nieuwe functies presenteert.

Eén ding waar ik het niet over heb in de artikelen is hoe NTFS voor Windows NT 4 niet echt versie is

Vind koppelingen naar al onze publicaties op www.sysinternals.com/publ.htm.

SYSINTERNALS AT WWW.MICROSOFT.COM

Sysinternals heeft sinds de laatste nieuwsbrief verschillende nieuwe Microsoft Knowledge Base-artikelen (KB) weergegeven en ik heb ook enkele oudere KB-artikelen opgespoord die verwijzen naar Sysinternals.

  • Q260513 PRB: er treedt een fout op wanneer u Visual Studio-producten installeert
    http://support.microsoft.com/support/kb/articles/Q260/5/13.ASP
    In dit artikel worden lezers aangeraden Filemon en Regmon te gebruiken om installatieproblemen met Microsoft Visual Studio op te lossen.

  • Q202258 XADM: Het systeem kan het opgegeven pad niet vinden - ID nee: 0cx002003
    http://support.microsoft.com/support/kb/articles/Q202/2/58.ASP
    Microsoft begeleidt gebruikers bij het gebruik van Filemon om upgradeproblemen met Exchange 5.0-servicepacks op te lossen, compleet met een voorbeeld van een Filemon-uitvoerregel en aanbevelingen voor het instellen van filters.

  • Q269383 PRB: 'Fout bij het openen van het systeemregister' bij het weergeven van VB/VBA-verwijzingen
    http://support.microsoft.com/support/kb/articles/Q269/3/83.ASP
    Regmon haalt de verwijzing op uit dit artikel, waarin wordt besproken waarom het dialoogvenster Verwijzingen in de Visual Basic IDE-rapporten wordt beschreven wanneer deze geen toegang heeft tot een registersleutel als gevolg van een bug in Seagate Crystal Reports die onjuiste machtigingen toepast op verschillende sleutels.

  • Q269251 BUG: Het automatiseren van Windows Installer kan vastlopen bij het inventariseren van producten
    http://support.microsoft.com/support/kb/articles/q269/2/51.asp
    Regmon is hier opnieuw gemarkeerd, waar het wordt gebruikt om een Windows Installer-automatiseringsfout te onthullen.

  • Q276525 uw computer reageert mogelijk niet meer wanneer u geopende ingangen bewaakt
    http://support.microsoft.com/support/kb/articles/Q276/5/25.asp
    NtHandle is verantwoordelijk voor het onthullen van een fout in Windows NT 4 SP6a, waarbij de kernel onder bepaalde voorwaarden vastloopt bij het gebruik van NtHandle. Microsoft heeft samen met mij gewerkt om het probleem op te lossen en ze hebben een hotfix uitgegeven. Als uw NT 4-systeem vastloopt wanneer u NtHandle gebruikt, moet u de koppeling naar dit artikel volgen.

  • Q160660 Ntregmon.exe veroorzaakt STOP-0x0000001E met nieuw servicepack
    http://support.microsoft.com/support/kb/articles/Q160/6/60.asp
    Deze laatste is een oldie, maar goodie. De eerste versie van Regmon gebruikte in code vastgelegde systeemoproepnummers om de systeemservicetabel te patchen om Register-API's te koppelen. Omdat systeemoproepnummers soms veranderen tussen servicepacks, is deze techniek behoorlijk kwetsbaar en had ik me niet in de verdediging gecodeerd voor dit (tegen het advies van Andrew Schulman, die bang was dat Regmon zou breken). Sp3 heeft een paar nieuwe systeemoproepen geïntroduceerd en Regmon zou het systeem vastlopen wanneer er onjuiste systeemoproepen werden aangesloten. Hoewel dit zeker een paar mensen ergerde, kreeg ik er mijn eigen KB-artikel uit!

SYSINTERNALS-LICENTIEVERLENING

Hoewel de software die u downloadt van Sysinternals een freeware is, wat betekent dat u deze kunt gebruiken zonder een vergoeding te betalen, bent u niet toegestaan om deze te herdistribueren of om producten af te leiden die u distribueert uit de broncode van Sysinternals. Als u bijvoorbeeld werkt in een bedrijf waar meerdere gebruikers bepaalde Sysinternals-hulpprogramma's nuttig vinden, kunt u de hulpprogramma's mogelijk niet posten op een interne share of website. Plaats in plaats daarvan een koppeling op uw site naar de startpagina van elk hulpprogramma op Sysinternals. Dit helpt ook ervoor te zorgen dat uw collega's altijd de nieuwste versies downloaden.

Als u sysinternals-hulpprogramma's intern wilt distribueren, met een commercieel product of op een cd, of als u een commercieel product of herdistribueerbaar programma wilt baseren op de broncode van Sysinternals, stuurt u een e-mail met de details van uw gewenste gebruik om te licensing@....

INFORMATIE OVER INTERNE GEGEVENS

NFI

Een paar nieuwsbrieven heb ik het bestaan van het hulpprogramma DiskEdit onthuld dat Microsoft per ongeluk op de NT 4 SP4 CD heeft verzonden. DiskEdit is een zeer krachtige, hoewel quirky, bestandssysteemstructuur viewer die u kunt gebruiken om NTFS en FAT te onderzoeken (hoewel het de NTFS-ondersteuning die interessant is) op schijf gegevensstructuren. Als u de NT 4 SP 4 CD hebt gemist en geïnteresseerd bent in het verkennen van NTFS-on-diskstructuren bent u echter niet helemaal in het donker. Microsoft heeft een gratis hulpprogramma met de naam NFI (NTFS Information) uitgebracht dat de interne structuren van NTFS-volumes begrijpt en kan dumpen. Hoewel de uitvoer niet zo gedetailleerd is als die van DiskEdit, is het interessant en onthullend.

U kunt NFI downloaden als onderdeel van de OEM-ondersteuningshulpprogramma's op http://support.microsoft.com/support/kb/articles/q253/0/66.asp. Als u NFI uitvoert met een bestandsnaam, wordt de NTFS MFT-record voor dat bestand gedumpt. In het volgende voorbeeld ziet u dat NFI de MFT-record voor het $Quota metagegevensbestand dumpt, een bestand dat alleen bestaat als quotabeheer is ingeschakeld op een volume:

C:\nfi c:\$extend\$quota
File 24
\$Extend\$Quota
$STANDARD_INFORMATION (resident)
$FILE_NAME (resident)
$INDEX_ROOT $O (resident)
$INDEX_ROOT $Q (resident)

De uitvoer laat zien dat het bestand de 24e vermelding in de MFT in beslag neemt (de bestandsindex is 24) en dat het vier kenmerken bevat, waaronder standaardinformatie, bestandsnaam en twee indexwortels (en index is in feite een gesorteerde lijst met vermeldingen, zoals een map). Ik beschrijf hoe NTFS de $Quota indexen gebruikt in mijn nieuwste Windows 2000 Magazine-serie op NTFS v5.

Als u alle bestanden op een volume wilt dumpen, geeft u de stationsletter op de opdrachtregel van NFI op zonder bestandsnaam, bijvoorbeeld nfi c:. U ziet een lijst met elke MFT-vermelding, inclusief alle metagegevensbestanden.

NFI heeft een aantal andere talenten, zoals de mogelijkheid om een sectornummer te vertalen in het bestand waarin het zich bevindt. Wilt u weten in welke bestandssector 2345 op station C: zich bevindt? Gebruik de opdracht nfi c: 2345. Houd er rekening mee dat dit mislukt op software-RAID-volumes zoals volumesets en stripe-sets. NFI werkt op zowel NT 4 als Windows 2000.

VERBORGEN WIN9X-REGISTERSLEUTELS

Twee kwesties geleden zei ik dat ik "verborgen Win9x Registersleutels" zou behandelen in de volgende nieuwsbrief, en een aantal van jullie herinnerde me eraan dat ik vergeten was. Dus deze maand vertel ik je over verborgen registersleutels in Windows 9x.

Enkele jaren geleden ontdekte ik een manier om verborgen registersleutels te maken in Windows NT. Door verborgen, bedoel ik dat, hoewel u kunt zien dat de sleutels worden geopend door de toepassing die ze met Regmon maakt, u geen Win32-programma kunt schrijven om de waarden van de sleutel te bekijken, noch kunt u de sleutels bekijken met de Regedit- of Regedt32-registereditors. Verborgen sleutels zijn handig voor het opslaan van gegevens die eindgebruikers niet mogen wijzigen, zoals de time-outdatum van een proefproduct.

De truc voor het maken van een verborgen registersleutel was mijn realisatie dat de systeemeigen NT-API, de systeemoproepinterface waarop de Win32-API is gebouwd, vereist dat registersleutels worden opgegeven als getelde Unicode-tekenreeksen. Een getelde Unicode-tekenreeks is een tekenreeks waarvan de lengte wordt aangegeven door een lengteveld, niet de aanwezigheid van een null-eindteken. Met behulp van de systeemeigen API kunt u daarom registersleutels maken die een null-teken bevatten, zoals "test\0test". Omdat de registersleutel-API van de Win32-API is gebaseerd op tekenreeksen die zijn beëindigd met null, is er geen manier om een registersleutel te openen die een null-afsluiter bevat met behulp van de Win32-API. Als u de bovenstaande voorbeeldsleutelnaam hebt doorgegeven of RegOpenKey RegCreateKey als deze als wordt behandeld "test" , wordt de tekenreeks afgekapt bij het null-teken. Aangezien alle bestaande Register-editors, inclusief de editors die zijn gebundeld met Windows NT en Windows 2000, de Win32-API gebruiken, maakt een toepassing die gebruikmaakt van de systeemeigen API om ingesloten namen met null-tekens effectief verborgen sleutels te maken.

Deze methode werkt in Windows NT, maar hoe zit het met Windows 9x? Ik dacht niet dat er een manier was om verborgen registersleutels in Windows 9x te maken totdat iemand mij e-mailde met een Regmon-logboekbestand waarin Internet Explorer (IE) toegangssleutels worden weergegeven die niet worden weergegeven in Regedit. Als u dit zelf wilt zien, start u Regmon en stelt u het volgende in: "policydata". Start vervolgens IE (dit werkt voor alle versies van IE 4 en IE 5) en ga naar een website. Als u geen uitvoer ziet in Regmon, gaat u naar het configuratiedialoogvenster voor opties van IE en controleert u of Content Advisor is ingeschakeld.

Als Content Advisor is ingeschakeld of ooit op uw systeem is ingeschakeld, ziet u toegang tot de sleutel en de HKLM\PolicyDatbijbehorende subsleutels. U vindt echter geen PolicyData-sleutel wanneer HKEY_LOCAL_MACHINE u in Regedit kijkt. Neem even de tijd en kijk of u erachter kunt komen wat er aan de hand is.

Het antwoord is dat IE een register hive dynamisch laadt met behulp van de RegLoadKey Win32-API, de waarden leest die nodig zijn en vervolgens de hive met RegUnloadKeyloslaadt. De hive heeft de naam C:\Winows\System\Ratings.pol : het bestand is verborgen en alleen-lezen, maar u kunt het weergeven door te typen attrib –r –h c:\windows\system\ratings.pol.

De traceringen die u in Regmon ziet, tonen u de informatie die de Content Advisor zoekt in de hive. Als u de inhoud zelf wilt verkennen, downloadt u mijn Regload-hulpprogramma van www.sysinternals.com/regload.zip en voert u deze uit met de volgende syntaxis: regload test c:\windows\system\ratings.pol. Open Regedit en blader HKLM\test. De waarden die u zult vinden, komen overeen met de instellingen die u opgeeft in Content Advisor en zijn gerelateerd aan het configuratiebestand met de naam in de Users\FileName0 waarde in de hive. De waarde verwijst doorgaans naar C:\Windows\System\RSACi.rathet classificatiebestand dat is gedefinieerd door de Internet Content Rating Association. Bovendien ziet u mogelijk een waarde met de enigszins humoristische naam 'PleaseMom' in de registerinstellingen van Content Advisor, bijvoorbeeld onder HKLM\Test\Users\Default. Deze waarde is afgeleid van het selectievakje 'Supervisor kan een wachtwoord typen om gebruikers toe te staan beperkte inhoud weer te geven' in op de pagina Algemeen van het dialoogvenster Instellingen voor Content Advisor.

De reden waarom Microsoft het bestaan van deze registerwaarden zou verdoezelen, zou duidelijk moeten zijn. Er is echter een behoorlijk ernstige zwakte in hun ontwerp. Wanneer u Content Advisor inschakelt, moet u een wachtwoord opgeven dat het dialoogvenster Instellingen van Content Advisor beveiligt. Dit wachtwoord wordt opgeslagen in HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Ratings\Key. Verwijder deze waarde en u kunt vooraf toegang krijgen tot de Content Advisor-instellingen zonder een wachtwoord in te voeren. Als de IE-ontwikkelaars nu de moeite hebben gedaan om de Content Advisor-instellingen te verdoezelen, waarom laten ze deze achterdeur in de open deur hangen? Typisch Microsoft-beveiligingsontwerp, denk ik. Trouwens, als u de sleutel die u met Regload hebt geladen, wilt verwijderen, typt regload testu gewoon .

WAT KOMT ER AAN DE DAG?

NIEUWE OPROEPEN VAN HET SYSTEEM VAN DE STAD

Microsoft Is een incrementele evolutie van het Windows 2000-besturingssysteem met een focus op een grotere betrouwbaarheid en eenvoudige migratie van gebruikers van Windows 9x-besturingssystemen. Het bevat echter wel enkele kernelwijzigingen. De meest zichtbare zijn de handvol nieuwe systeemoproepen en geëxporteerde kernelfuncties (beschikbaar voor gebruik door apparaatstuurprogramma's). Volgende keer krijg ik een preview van deze nieuwe kernel-API's.


Bedankt voor het lezen van de Sysinternals Nieuwsbrief.

Gepubliceerd donderdag 30 november 2000 17:05 door ottoh

[Nieuwsbrievenarchief ^] [< Volume 2, Getal 4] [Volume 3, Getal 1 >]