Aracılığıyla paylaş


[Bülten Arşivi ^] [< Birim 2, Sayı 4] [Birim 3, Sayı 1 >]

The Systems Internals Newsletter Volume 2, Number 5

www.sysinternals.com
Telif Hakkı (c) 2000 Mark Russinovich


30 Kasım 2000 - Bu sorunda:

  1. EDİTORYAL

  2. SYSINTERNALS'DEKI YENILIKLER

    • PsLoggedOn v1.2
    • PsShutdown v1.0
    • PsTools v1.1
    • BgInfo v1.1
    • Tokenmon v1.0
    • Filemon v4.32
    • Regmon v4.32
    • Windows 2000,3. Ed içinde.
    • Kasım ve Kış Windows 2000 Dergisi
    • Microsoft'ta Sysinternals
    • Sysinternals Lisanslama
  3. İç BİlGİLER

    • NFI
    • Gizli Win9x Kayıt Defteri anahtarları
  4. YAKLAŞANLAR

    • Yeni Whistler Sistem Çağrıları

SPONSOR: WINTERNALS SOFTWARE

Sysinternals Bülteni, www.winternals.com web'de Winternals Software tarafından destekleniyor. Winternals Software, Windows NT/2K için gelişmiş sistem araçlarının önde gelen geliştiricisi ve sağlayıcısıdır. Winternals Software ürünleri Windows NT 4.0 için FAT32, NTFSDOS Professional Edition (DOS için okuma/yazma NTFS sürücüsü) ve Uzaktan Kurtarma'yı içerir.

Windows 9x ve Windows NT/2000'in tüm sürümleriyle birlikte gelen netstat komutu, sisteminizde hangi TCP/IP bağlantı noktalarının açık olduğunu gösterir, ancak hangi işlemin bağlantı noktasının açık olduğunu göstermez. Winternals'ın en son izleme aracı olan TCPView Pro, her bağlantı noktasının hangi işlemin açık olduğunu gösteren netstat eşdeğeri bir komut satırı aracı olan Tcpvstat ile birlikte gelir, aynı bilgileri gösteren bir GUI ve TCP/IP etkinliğinin gerçek zamanlı izlemesini içerir. Gerçek zamanlı izleme, ağ erişimi yapan uygulamayı, isteğe bağlı DNS ad çözümlemesi ile erişimin yerel ve uzak IP adreslerini, erişim türünü, erişimin başarısını ve aktarılan veri miktarını gösterir. TCPView Pro yalnızca 69 ABD dolarıdır. TCPView Pro'nun 14 günlük tam işlevsel deneme sürümünü bugün www.winternals.com/products/monitoringtools/tcpviewpro.shtml indirin.

Herkese merhaba,

Sysinternals bültenine hoş geldiniz. Bültenin şu anda 28.000 abonesi var.

Windows NT'den Windows 2000'e geçmenin avantajlarından biri, büyük ölçüde geliştirilmiş güvenilirliktir. Birkaç makaledeki iyileştirmelerin nedenleri hakkında yazdım ve bunlar öncelikli olarak Sürücü Doğrulayıcı adlı bir aracın sonucu. Başlat menüsü Çalıştır iletişim kutusuna "doğrulayıcı" yazarak başlattığınız Doğrulayıcı'yı, çeşitli sürücü programlama kurallarından herhangi birinin ihlalini arayarak belirli cihaz sürücülerinin yürütülmesini yakından izlemek için yapılandırabilirsiniz. Ancak Doğrulayıcı, pasif izlemeden bir adım ileri gider ve potansiyelleri de daha da büyütmektedir; örneğin, geçersiz bölgelere sahip sürücü için bellek blokları ayırarak ve sürücüye geçirilen veri yapılarında belirli alanları sıfırlayarak hata koşulları. Gerçekten sert olmak istiyorsanız, Doğrulayıcı'nın sürücü için düşük bellek koşullarını simüle etmelerini sağlayabilirsiniz.

Microsoft, Microsoft tarafından dijital olarak imzalanan herhangi bir sürücünün katı Sürücü Doğrulayıcı testi geçirmesini gerektiren sürücü imzalama programı aracılığıyla Doğrulayıcı'dan yararlanmaktadır. Bir sürücü yüklendiğinde, donanım sihirbazı sürücünün imzalı olup olmadığını denetler. Aksi takdirde, Denetim Masası Sistem uygulamasının Donanım sayfasından erişilebilen Sürücü İmzalama Seçenekleri iletişim kutusunda girdiğiniz ayarlara bağlı olarak sizi uyarır veya sürücüyü yükleyemeyebilir.

Varsayılan sürücü imzalama ilkesinin son kullanıcıları imzasız sürücüler konusunda uyarması, çoğu donanım satıcısının sürücülerini sağlam hale getirme ve imzalarını alma zahmetine girmesini sağlamak için yeterlidir. Ancak, cihaz sürücüleri sürücü imzalama ilkesi tarafından algılanmayan bir şekilde sisteminize sızabilir. Yalnızca INF dosyaları kullanılarak yüklenen sürücüler (.inf uzantısıyla biten sürücü yükleme dosyaları) imzalar için denetleniyor. Kurulum uygulamaları, sürücüleri doğrudan Kurulum API'lerini kullanarak veya sürücünün Kayıt Defteri ayarlarını el ile yapılandırarak el ile yükleyebilir. Sysinternals uygulamaları bunun harika örnekleridir: Sürücü bileşenlerinin sürücülerini el ile yüklediği Filemon, Regmon ve diğer Sysinternals araçları, Microsoft tarafından imzalanmamış oldukları konusunda uyarı almamanıza neden olur.

INF dosyalarıyla yaygın olarak yüklenmemiş sürücüler arasında virüs tarayıcıları, şifreleme yazılımları ve CD-ROM yazma yazılımları bulunur. Ancak bu, donanımla ilgili sürücülerin kaymasını engelleyemez. Windows 2000 için Sysinternals Ctrl2cap sürücüsü (www.sysinternals.com/ctrl2cap.htm, sürücü imzalama denetimlerini atlayacak şekilde yüklenen donanımla ilgili bir sürücü örneğidir. Bu boşluk, sisteminizde doğrulanmamış sürücülerin bulunmasına yol açar ve bu da sistem kararlılığını tehlikeye atabilir (en yüksek ayarlarda tüm Sysinternals sürücülerini doğruliyorum). Microsoft, yalnızca INF dosyalarıyla yüklenen sürücüleri değil tüm sürücüleri imzalama denetimine gitmeye zorlamalıdır.

Neden bu rantı kullanıyorum? Piyasadaki bu tür yazılımların en popüleri olan CD-ROM yazma yazılımım, Windows 2000 SP1 sistemimi tekrar tekrar kilitleyecek bir sürücüye sahip. Sürücü Doğrulayıcı'yı kontrol etmek üzere yapılandırırsam, Doğrulayıcı sürücünün ilk ihlalini algılamadan ve sistemi kilitleyemeden sistem önyüklemeyi bile bitirmez. Sürücü bir INF dosyası olmadan yüklendi, bu yüzden imzasız olduğu konusunda uyarılmadı. Microsoft'un ilkesi daha katı olursa, bu satıcının imzasız (ve buggy) bir sürücü göndermeden önce iki kez düşüneceğini garanti ediyorum.

Lütfen bülteni içeriğiyle ilgilenebileceğini düşündüğünüz arkadaşlarınıza iletin.

Teşekkürler!

-İşaret

SYSINTERNALS'DEKI YENILIKLER

PSLOGGEDON V1.2

LoggedOn'dan PsLoggedOn'a belirgin bir ad değişikliğinin yanı sıra, yerel veya uzak sistemdeki kaynak paylaşımları aracılığıyla kimlerin oturum açtığını gösterme özelliğine sahip olan bu komut satırı aracının bazı yeni özellikleri vardır. Birincisi, kullanıcı geri bildiriminden kaynaklanan '-l' komut satırı anahtarıdır. Birçok kişi, herhangi bir hesabın sunucularında yerel olarak oturum açıp açmadığını görmek için PsLoggedOn kullanır. Örneğin, dosya paylaşımları aracılığıyla oturum açmış kullanıcılar olabilir, ancak bir hesabın ne zaman güncelleştirilebileceği veya sunucunun uzaktan yönetilebileceği konusunda karar verirken bu geçerli değildir.

PsLoggedOn'un ikinci yeni özelliği yalnızca kimin oturum açtığını değil, oturum açmanın gerçekleştiği zamanı da gösterir. PsLoggedOn, kaynak paylaşımı oturum açmalarını numaralandırmak için Win32 API'sini (NetSessionEnum) kullandığında kaynak paylaşımlarından oturum açma sürelerini ücretsiz olarak alır (komut satırı Net komutu, oturumları listelemek için NetSessionEnum'ı da kullanır). Ancak, bir sistemde kimlerin yerel olarak oturum açtığını, hangi saatte oturum açtığını çok daha az belirten bir Win32 API'si yoktur.

Yerel olarak bir sistemde kimin oturum açtığını belirlemek için PsLoggedOn, bilgisayarın HKEY_USERS Kayıt Defteri anahtarı altında bulunan Güvenlik Kimliklerini (SID) numaralandırır. Birisi konsolda veya bir hizmet aracılığıyla yerel olarak bir bilgisayarda oturum açtığında, profili anahtara HKEY_USERS yüklenir. Sistem bu anahtarı altında HKEY_USERSkendi profiline sembolik bir bağlantı olarak değerlendirdiğinden, uygulamalar kendi profil kayıt defteri ayarlarına anahtar üzerinden HKEY_CURRENT_USER erişebilir. Bu nedenle PsLoggedOn, bilgisayarın HKEY_USERS anahtarında bulduğu SID'leri ilgili kullanıcı adına çevirerek kimlerin yerel olarak oturum açtığını bilir. PsLoggedOn, uzak bir bilgisayarda oturum açmış olan kullanıcıları listelemeye yönlendirdiğinizde uzak bilgisayarın Kayıt Defteri'ne bağlanmak için kullanır RegConnectKey .

Kullanıcının hangi saatte oturum açtığını anlamak benzer bir numarayla çalışır. WinLogon işlemi bir kullanıcının profilini oturum açtıktan sonra içine HKEY_USERS yüklediğinde, WinLogon profilinde uygun şekilde Geçici Ortam adlı geçici bir alt anahtar (diskteki profile kaydedilmez) oluşturur. Kayıt Defteri, Kayıt Defteri anahtarları için son değiştirilen zaman damgalarını depolar ve sistem, oluşturulduktan sonra Geçici Ortam alt anahtarlarını değiştirmediğinden, PsLoggedOn bir kullanıcının Geçici Ortam alt anahtarının zaman damgasını alarak ne zaman oturum açtığını belirleyebilir.

Tam kaynak ile PsLoggedOn v1.2'yi şu konumdan indirin:
www.sysinternals.com/psloggedon.htm.

PSSHUTDOWN V1.0

Yerel veya uzak bir Windows NT/2000 sistemini kapatmanız veya yeniden başlatmanız gerekiyorsa PsShutdown'ı indirmek istersiniz. PsShutdown, Windows NT/2000 Resource Kit'i Kapatma aracının bir kopyasıdır. Kapatmadan önce bir gecikme belirtmenize olanak sağlayan aynı komut satırı bağımsız değişkenlerini( yeniden başlatma veya yeniden başlatmama, sistemde oturum açmış olan herhangi bir kullanıcıya görüntülenecek isteğe bağlı bir ileti ve kapatılacak veya yeniden başlatılacak bilgisayarın adını) alır.

psshutdown v1.0'ı www.sysinternals.com/psshutdn.htm indirin.

PSTOOLS V1.1

Sysinternals'da "Ps" ön eki ile başlayan araç sayısının arttığını fark etmişsinizdir. İlki, yerel veya uzak bir Windows NT/2000 sistemindeki etkin işlemler hakkındaki bilgileri listeleyen bir komut satırı aracı olan PsList'tir. Standart UNIX komut satırı işlem bilgileri aracının adı "ps" olduğundan PsList'e adını verdim. Ön eki almak için bir sonraki araç, yerel veya uzak Windows NT/2000 sistemlerinde çalışan işlemleri sonlandırmanızı sağlayan bir komut satırı yardımcı programı olan PsKill'ydi. PsList'e mükemmel bir eşlikçi olduğu için PsKill'e "Ps" ön ekini verdim.

Zaman içinde PsList ve PsKill ile aynı tanımlama özelliklerini paylaşan başka araçlar geliştirdim: bunlar komut satırı tabanlıdır ve yerel veya uzak bir Windows NT/2000 sisteminde çalışır. Örneğin, ElogList bir sistemin olay günlüklerinin içeriğinin dökümünü almanıza olanak sağlar ve GetSid size bir bilgisayarın veya belirli bir hesabın SID'sini gösterir. Son zamanlarda, tüm bu araçları "Ps" ön ekini vererek ve PsTools adlı tek bir paket olarak indirilebilir hale getirerek birbirine bağlamaya karar verdim.

PsList, PsKill ve yeniden adlandırılan PsLogList ve PsGetSid'i içeren PsTools, toplam yedi araç içerir. "Ps" ön ekine sahip bir Sysinternals aracı görürseniz, bunun hem yerel hem de uzaktan çalışan bir komut satırı aracı olduğunu otomatik olarak bilirsiniz.

pstools v1.1'i www.sysinternals.com/pstools.htm indirin.

BGINFO V1.1

Muazzam kullanıcı geri bildirimlerinin bir sonucu olarak Bryce, aldığı kullanıcı geri bildirimlerinin bir sonucu olarak masaüstü duvar kağıdını sistemin yapılandırmasıyla ilgili özelleştirilebilir bilgileri görüntüleyecek şekilde ayarlayan bir yardımcı program olan BgInfo'yı güncelleştirdi. Varsayılan olarak, BgInfo iletişim kutusunda belirtilen ayarları uygulamadan önce 10 saniye boyunca geri sayım yapar, ancak yeni bir komut satırı seçeneği, /timergeri sayımı tamamen değiştirmenize veya ortadan kaldırmanıza olanak tanır. Bu, BgInfo'nun bir oturum açma betiğine veya bir profilin Başlangıç klasörüne kısayol olarak eklenmesini daha kullanışlı hale getirir.

Sürüm 1.1, tanımladığınız rastgele metinleri görüntüleme olanağı ve daha önceden tanımlanmış bilgi kategorileri gibi diğer yeni özellikleri içerir. BgInfo v1.1'in oluşturduğu masaüstü bit eşlemi de genellikle daha küçüktür ve BgInfo'nun masaüstü bellek ayak izini en aza indirir.

bginfo v1.1'i www.sysinternals.com/bginfo.htm'da indirin.

TOKENMON V1.0

Tokenmon, Sysinternals'dan indirebileceğiniz çeşitli izleme araçları paketine en son eklenen özelliktir. Regmon ve Filemon gibi kuzenleriyle aynı kullanıcı arabirimini paylaşan Tokenmon, Windows NT/2000 sisteminde güvenlikle ilgili önemli etkinlikleri izler. Güvenlikle ilgili "önemli" etkinlik nedir? Windows NT/2000 güvenliğinin merkezinde, hesap SID'si, grup SID'leri ve ayrıcalıkları içeren bir veri yapısı olan belirteç nesnesi bulunur. Bir işlem güvenli bir nesneye erişmeye çalıştığında, Güvenlik Başvurusu İzleyicisi erişim doğrulamasının bir parçası olarak belirtecindeki SID'leri kullanır. Bir işlem, sistemi yeniden başlatma gibi kısıtlı bir işlem gerçekleştirmeye çalışırsa, sistem işlemin belirtecinde uygun ayrıcalığı denetler.

Windows NT/2000 güvenlik modelinin güçlü (ve patentli) özelliklerinden biri kimliğe bürünmedir. Kimliğe bürünme, bir iş parçacığının işlem tabanlı kimliğini geçici olarak geçersiz kılmasına ve kimliğe bürünme belirteci kullanarak alternatif bir kimlik benimsemesine olanak tanır. Sunucu uygulamaları, erişim süresi boyunca istemcinin kimliğini benimsediklerinde istemci adına kaynaklara erişirken kimliğe bürünme özelliğinden yararlanırlar.

Tokenmon, belirteçlerin oluşturulmasını ve silinmesini, ayrıcalıkların etkinleştirilmesini ve devre dışı bırakılmasını ve kimliğe bürünme işlemini izlemek için Kayıt Defteri API'leri için Regmon'un yaptığı gibi sistem çağrısı kancalarını yükler. Tokenmon ayrıca işlemlerin oluşturulmasını ve silinmesini izlemek için NT/2000 çekirdeği tarafından sağlanan işlem oluşturma kancalarını ve bir kullanıcının ne zaman oturum açtığını ve ne zaman oturumu kapattığını belirlemek için diğer API'leri kullanır.

Tokenmon'a tam kaynak kodu gönderilir ve kodun gösterdiği ilginç tekniklerden bazılarını tartışmaya değer. Tokenmon, WinLogon gibi oturum açma aracıları tarafından yeni oturum açma oturumunun ilk işlemi için ilk belirteci oluşturmak için kullanılan NtCreateToken sistem çağrısını bağlayarak bir oturum açma olayını algılar. İlk işlem tarafından oluşturulan işlemler, ilk belirtecin bir kopyasını devralır. Oturum kapatmayı algılamak için Tokenmon, oturum açma oturumu verilerini önbelleğe alan ve kullanıcı oturumu kapattığında temizlemek isteyen ağ yeniden yönlendiricileri olarak adlandırılan dosya sistemi sürücülerinin yararına mevcut olan çekirdek modu SeRegisterLogonSessionTerminatedRoutine işlevi aracılığıyla oturum kapatma bildirimine kaydolmaktadır. Ağ yeniden yönlendiricileri, dosya paylaşımı istemci/sunucu bağlantılarının istemci tarafını uygular.

Başka bir ilginç Tokenmon uygulama ayrıntısı, Tokenmon'ın izlediği API'leri bağlama şeklidir. Tokenmon kancalarının cihaz sürücüleri tarafından kullanılmak üzere dışarı aktarılmadığı api'lerden bazıları, Win32 eşdeğerlerini kullanan uygulamalar tarafından kullanılmak üzere kullanıcı modu NTDLL.DLL kitaplığına aktarılır. Regmon kancalarının çekirdek modunda dışarı aktarılmış olduğu tüm Kayıt Defteri API'leri, Regmon cihaz sürücüsünün sistem çağrı numaralarını alması ve sistem çağrı tablosunu uygun şekilde bağlaması mümkündür. Sürücüler tarafından kullanılmak üzere dışarı aktarılmayan API'ler için Tokenmon GUI'sinin NTDLL.DLL dışarı aktarmaları kullanarak çağrı numaralarını alması ve ardından sürücünün sistem çağrı tablosunu bağlayabilmesi için numaraları sürücüye geçirmesi gerekir. Bu nedenle Tokenmon, çekirdek modunda dışarı aktarılmayan sistem çağrılarının nasıl bağlandığını gösterir.

www.sysinternals.com/tokenmon.htm tam kaynak ile Tokenmon v1.0 sürümünü indirin.

FILEMON V4.32

Bu en son Filemon güncelleştirmesi daha sezgisel ve eksiksiz filtreleme, Windows 9x/Me ağ dosyası erişimi için tam UNC yol adlarının görüntülenmesi ve NTFS meta veri dosya adlarının görüntülenmesini sağlar.

Filemon'un önceki sürümlerinde zorunlu joker karakterler içeren filtreler girmeniz gerekiyordu. Örneğin, sürücüdeki C:Temp dizinine erişimi izlemek istiyorsanız şöyle bir filtre girmeniz gerekir: "c:\temp\*". Yeni filtreleme söz dizimi joker karakterleri isteğe bağlı olduğundan, örnek filtre işe yarasa da"c:\temp, aynı etkiyi elde eder. Buna ek olarak, Filemon artık girdiğiniz filtreleri işlem adı, istek türü, yol ve "diğer" sütun dahil olmak üzere görüntüdeki tüm alanlara uygular. Bu esneklik, daha önce mümkün olmayan belirli istek türlerini veya diğer sütundaki belirli verileri içeren istekleri izlemenizi sağlar.

Windows 9x/Me sistemlerindeki Filemon kullanıcıları artık uzak kaynaklara erişirken tam UNC söz dizimine sahip Filemon görünen yol adlarını görür. Filemon daha önce bu tür erişimler için sunucu veya paylaşım adını görüntülemediğinden yol adları tamamlanmamıştır.

Son olarak, Windows NT/2000'de Filemon kullandıysanız, şüphesiz birçok erişim için yol sütununda "DASD" metnini görmüşsünüzdür ("DASD", Microsoft'un dosya sistemi yapılarını atlayan bir birime erişimi açıklamak için kullandığı "Doğrudan Erişim Depolama Cihazı" teriminden gelir). NTFS birimlerindeki çoğu etkinlik için DASD artık geçmişte kaldı. Bunun yerine, okunan ve yazılan NTFS meta veri dosyalarının adlarını görürsünüz. Örneğin, bir MFT kaydı güncelleştirmesi daha önce bir DASD çıkış satırıyla sonuçlanırdı, ancak şimdi bunu MFT'nin iç meta veri dosyası adı olan "$Mft" erişimi olarak görürsünüz.

Filemon neden meta veri dosya adlarını daha önce göstermedi ve şimdi bu adları nasıl elde eder? NTFS meta veri dosyalarını temsil eden dosya nesneleri bir dosya adı depolamaz, bu nedenle Filemon dosya nesnesinden adı ayıklayamaz. Dosya sistemi sürücüsünü sorgulayarak dosya adını almak için Filemon'un alternatif yöntemi NTFS meta veri dosyalarında da çalışmaz. NTFS meta veri dosyalarının adlarıyla yanıt vermesine karşın, NT 4'te NTFS rastgele kilitlenmelere neden olur ve Win2k'te NTFS bazen bu tür sorgulara yanıt verirken kilitlenir.

Filemon bu nedenle meta veri dosyası adlarını almak için bir hileye başvurmak zorunda. NTFS birimindeki bir dosya nesnesine yönlendirilen ve adı olmayan bir istek gördüğünde, NTFS'ye dosyanın dizini için bir sorgu gönderir. Bu, Win32 işlevinin GetFileInformationByHandle işleviyle aynı dizindir ve NTFS birimlerindeki dosyalar için dizin, dosyanın MFT dizinidir. MFT'deki ilk 16 girdi belirli meta veri dosyaları için ayrılmıştır, bu nedenle bu aralıktaki bir dizin verildiğinde, Filemon meta veri dosyası adını kendi tablosunda arar.

Ne yazık ki, FAT dizin meta verileri dosyalarının veya FAT'nin adlarını depolamadığından, FAT birimlerinde dizin meta verileri ve dosya ayırma tablosu (FAT) erişimleri için DASD'yi görmeye devam edersiniz. NTFS günlük dosyasına ($LogFile) ne sıklıkta erişildiğinde şaşıracaksınız. Bu arada Whistler'da NTFS meta veri dosyalarının adlarını depolar, bu nedenle püf noktası Whistler'da gereksizdir.

Son Filemon geliştirmesi, Filemon'un milisaniye çözünürlüğe sahip günün saat zaman damgalarını göstermesini sağlar. Bu destek, Windows 9x/Me çekirdeğindeki bir zamanlama işlevindeki hatalar nedeniyle Windows 9x/Me Filemon sürücüsünde çirkin hackler gerektiriyor. Daha fazla bilgi için kaynak koduna bakın.

www.sysinternals.com/filemon.htm'da kaynak koduyla Filemon v4.32'i indirin.

REGMON V4.32

Regmon'un değişiklikleri Filemon'unkiler kadar önemli değildir, ancak Regmon artık Filemon ile aynı daha sezgisel filtreleme söz dizimini destekler ve Filemon gibi filtreleri tüm alanlara uygular. Ayrıca zaman damgalarında milisaniyelik çözünürlük de gösterebilir.

Whistler (Windows 2000'in ardılı) Beta 1 ile oynamaya başlayanlarınız, Regmon'un önceki sürümlerinin Whistler'ı başlatıldığında kilitlediğini fark etmiş olabilir. Bunun nedeni, Microsoft'un Regmon'un kancalarını eklemek için değiştirdiği sistem çağrı tablosunu yazma korumalı belleğe yerleştirmesidir. Regmon v4.32, Whistler'ın son sürümünde teknik bozulabileceğinden ve Microsoft sistem çağrısı kancasını desteklemenin yollarını araştırdığından, Microsoft'un isteği üzerine kaynak kodu sağlamadığım bir teknik kullanarak bu sorunu geçici olarak çözebilir. Windows NT, 1996'nın ortasında Regmon'un ilk sürümüyle öncülük ettiğimiz sistem çağrı kancasını destekleyecek şekilde tasarlanmamıştır.

İşte belgelenmemiş bir Filemon/Regmon ipucu. Genellikle Windows NT/2000'de yönetici olmayan bir hesaptan Regmon veya Filemon çalıştırmayı soran e-postalar alıyorum Yönetici hesabından çalıştırıldığında belirli bir uygulamanın düzgün çalıştığı, ancak ayrıcalıksız bir kullanıcının çalışmadığı birçok durum vardır; burada Regmon ve Filemon, uygulamanın neden başarısız olduğunu belirlemek için yararlı olabilir (genellikle bir dosya veya Kayıt Defteri anahtarındaki güvenlik ayarlarıyla ilgili bir sorundur). Ancak, hem Filemon hem de Regmon, yönetici ayrıcalığı gerektiren bir şey olan cihaz sürücülerini yüklediğinden, ayrıcalıksız bir hesaptan Regmon ve Filemon çalıştırılamaz.

Bununla birlikte, bu sorunu geçici olarak çözebilmeniz için bir püf noktası vardır: Yönetici olarak oturum açıp Filemon veya Regmon'u başlatırsanız, bunları daha sonra ayrıcalıksız hesaplardan çalıştırabilirsiniz. Bunun nedeni, Filemon ve Regmon'un ilk yürütmelerinde bir sürücü yüklemeleri ve sonraki yürütmelerde zaten yüklü olan sürücüye erişmeleridir. Sürücüde herhangi bir güvenlik uygulamadığım için, ayrıcalıksız bir kullanıcı sürücü yüklendikten sonra araçları çalıştırabilir. Güvenlik sorunu mu var? Evet, ancak Filemon ve Regmon'un sorun giderme araçları olması amaçlanmıştır, bu nedenle ben ve ayrıcalıksız hesaplardan yardımcı programları nasıl çalıştıracaklarını soran kişiler bunu bir özellik olarak görüntüler.

www.sysinternals.com/regmon.htm'da tam kaynak koduyla Regmon v4.32 sürümünü indirin.

DEBUGVIEW V4.02

En çok kullanıcı geri bildirimi aldığım uygulamalardan biri, biraz şaşırtıcı bir şekilde DebugView. Bu yeni sürümde, aldığım özellik ve işlev isteklerinin çoğunu ele alan ve DebugView'ı her zamankinden daha güçlü hale getiren bazı önemli geliştirmeler var.

En belirgin şekilde, DebugView artık her biri kendi özelleştirilebilir renkleri olan beş farklı vurgulama filtresini destekliyor. Bu, hata ayıklama çıkışınızdaki farklı anahtar sözcüklerde aynı anda giriş yapmanızı ve bunları kolayca ayırt etmenizi sağlar. Ayrıca DebugView, Filemon ve Regmon ile aynı yeni filtreleme söz dizimini uygulayarak joker karakterleri alt dize eşleştirme için isteğe bağlı hale getirir.

DebugView'un önceki sürümleri hakkında aldığım bir şikayet, Yalnızca Win32 hata ayıklama çıktısını yakalamak isteseniz bile DebugView'u çalıştırmak için yönetici ayrıcalıklarına ihtiyacınız olmasıdır, çünkü debugView cihaz sürücüsünü yükleyemeseydi çalışmazdı. Bu yeni sürüm, özel ayrıcalıkları olmayan hesaplardan bile çalışır. Sürücüsünü yükleyemiyor veya erişemiyorsa, çekirdek modu yakalamayla ilgili menü öğelerini devre dışı bırakır.

DebugView'un oturum açtığınızda çıkışı otomatik olarak yakalamaya başlamasını kolaylaştıran iki özellik, tepsiye simge durumuna küçült seçeneği ve komut satırı anahtarları desteğidir. Komut satırı anahtarlarını kullanarak, DebugView'un sistem tepsisinde başlatılmasını ve bir dosyaya yakaladığı günlük çıkışını kullanabilirsiniz. DebugView'u başlattıktan sonra, normal olarak simge durumuna küçültme ve sistem tepsisine en aza indirme arasında simge durumuna küçültme düğmesi davranışını değiştirmek için bir menü seçeneği kullanabilirsiniz.

Windows 2000 terminal hizmetlerindeki uzak oturumlarda DebugView çalıştıran kullanıcılar için DebugView artık uzak oturumunuzda ve isteğe bağlı olarak konsol oturumunda çalışan uygulamalar tarafından oluşturulan Win32 çıkışını yakalar. Bu tür programlar konsol oturumunda çalıştırıldığından, com sunucularında ve Win32 hizmetlerinde uzaktan hata ayıklamak için kullanışlıdır.

Son olarak DebugView artık Whistler Beta 1'de çalışıyor ve çekirdek modu DbgPrint işlevindeki birkaç yeni Whistler değişkeninden çıkış yakalama desteğine sahip.

DebugView v4.02 sürümünü www.sysinternals.com/dbgview.htm indirin.

WINDOWS 2000, 3RD EDITION İÇERİSİ

Windows 2000'in içleriyle ilgili resmi kitap kullanıma sunuldu! David Solomon (www.solsem.com) ve Mark Russinovich tarafından birlikte yazılan bu sürüm, ağ, tak çalıştır, güç yönetimi, hizmetler, Kayıt Defteri, WMI, önyükleme ve kapatma ve depolama alanı ile öncekinden %40 daha büyüktür. Ayrıca, Windows 2000 iç bileşenlerini araştırmak için başka hiçbir yerde kullanılamayan çeşitli güçlü araçlara sahip bir CD içerir.

Kitap için özel olarak yazdığım araçlardan biri, hem i386kd hem de WinDbg adlı Microsoft çekirdek hata ayıklayıcılarını bir kilitlenme dökümünü incelemiş gibi canlı bir sistemde çalıştırmanızı sağlayan liveKd programıdır. Kitapta sunulan denemelerin çoğu LiveKd kullanılarak çalıştırıldığında canlı bir sistem üzerinde çalışır. LiveKd, bilgisayarın fiziksel belleğini bir kilitlenme dökümü dosyasıymış gibi Microsoft hata ayıklayıcısına sunan bir dosya sistemi filtre sürücüsü yükleyerek çalışır. LiveKd, 0 uzunlukta bir sahte döküm dosyası oluşturur ve hata ayıklayıcı dosyadan okurken LiveKd fiziksel bellekten veri döndürür. LiveKd v1.0 ile çeşitli erişimli virüs tarayıcıları arasındaki uyumsuzluğu düzelten bir LiveKd yaması için kitabın hata ve güncelleştirmeler sayfasına göz atın.

Www.sysinternals.com/insidew2k.htm aracılığıyla kitabın içindekiler tablosuna ve siparişine bakın.

KASıM VE KıŞ WINDOWS 2000 DERGISI

NTFS v4 ile NTFS v5 arasında tam olarak nelerin değiştiğini mi merak ediyorsun? Öyleyse, Windows 2000 dergisinin Kasım ve Kış sorunlarındaki iki bölümlü serime göz atın. Bölüm 1'de yeniden ayrıştırma noktaları, dizin birleşimleri, birim bağlama noktaları, kota desteği ve birleştirilmiş güvenlik ayarları açıklanmaktadır. 2. bölüm şifreleme, akışlar, dağıtılmış bağlantı izleme ve değişiklik günlüğünü yakından incelemekle sona erer. Her iki makale de sizi diğerlerinden daha derine götürür ve bu yeni özelliklerin disk içi değişikliklerini ve iç davranışlarını sunar.

Makalelerde bahsetmediğim bir konu, Windows NT 4 için NTFS'nin gerçekten sürüm olmadığıdır

tüm yayınlarımızın bağlantılarını www.sysinternals.com/publ.htm.

WWW.MICROSOFT.COM'DA SYSINTERNALS

Sysinternals, son bültenden bu yana birkaç yeni Microsoft Bilgi Bankası (KB) makalesinde yer almıştır ve ayrıca Sysinternals'e başvuran bazı eski KB makalelerini de buldum.

  • Q260513 PRB: Visual Studio Ürünlerini Yüklediğinizde Hata Oluşuyor
    http://support.microsoft.com/support/kb/articles/Q260/5/13.ASP
    Bu makalede okuyucuların Microsoft Visual Studio yükleme sorunlarını gidermek için Filemon ve Regmon kullanmaları önerilir.

  • Q202258 XADM: Sistem Belirtilen Yolu Bulamıyor - Kimlik No: 0cx002003
    http://support.microsoft.com/support/kb/articles/Q202/2/58.ASP
    Microsoft aslında kullanıcılara Exchange 5.0 hizmet paketi yükseltme sorunlarını gidermek için DosyaMon kullanma konusunda yol gösterir. Bu, örnek bir Filemon çıkış satırı ve filtreleri ayarlama önerileriyle birlikte tamamlar.

  • Q269383 PRB: VB/VBA Başvuruları Görüntülenirken 'Sistem Kayıt Defterine Erişilirken Hata Oluştu' İletisi
    http://support.microsoft.com/support/kb/articles/Q269/3/83.ASP
    Regmon, Bu makaleden başvuruyu alır. Bu makalede, Çeşitli anahtarlara yanlış izinler uygulayan Seagate Crystal Reports'taki bir hatanın sonucu olarak Visual Basic IDE'deki Başvurular iletişim kutusunun neden Kayıt Defteri anahtarına erişemediğini bildirdiğini belirler.

  • Q269251 HATA: Ürünleri Numaralandırırken Windows Installer'ın OtomatikLeştirilmesi Kilitlenebilir
    http://support.microsoft.com/support/kb/articles/q269/2/51.asp
    Regmon burada yeniden vurgulanır ve burada Windows Installer otomasyon hatasını ortaya çıkarmak için kullanılır.

  • Q276525 Açık Tanıtıcıları İzlediğinizde Bilgisayarınız Yanıt Vermeyebilir
    http://support.microsoft.com/support/kb/articles/Q276/5/25.asp
    NtHandle, Windows NT 4 SP6a'da nthandle kullanırken çekirdeğin belirli koşullar altında yanıt vermeyeceğini belirten bir hatanın ortaya çıkarılmasından sorumludur. Microsoft sorunu çözmek için benimle birlikte çalıştı ve bir düzeltme yayımladı. NT 4 sisteminiz NtHandle kullanırken kilitleniyorsa bu makalenin bağlantısını almanız gerekir.

  • Q160660 Ntregmon.exe, Yeni Hizmet Paketi ile STOP 0x0000001E neden oluyor
    http://support.microsoft.com/support/kb/articles/Q160/6/60.asp
    Bu sonuncusu eski ama güzel. Regmon'un ilk sürümü, Kayıt Defteri API'lerini bağlamak için sistem hizmet tablosuna düzeltme eki uygulamak için sabit kodlanmış sistem çağrı numaralarını kullandı. Sistem çağrı numaraları bazen hizmet paketleri arasında değiştiğinden, bu teknik oldukça kırılgandır ve bunu tahmin etmek için (Regmon'un bozulmasından korkan Andrew Schulman'ın tavsiyesine karşı) savunma kodu oluşturmamıştım. Elbette, SP3 birkaç yeni sistem çağrısı yaptı ve Regmon yanlış sistem çağrılarına bağlandığında sistemi kilitler. Bu kesinlikle birkaç kişiyi rahatsız ederken, kendi KB makalemi aldım!

SYSINTERNALS LISANSLAMA

Sysinternals'ten indirdiğiniz yazılım ücretsiz yazılım olsa da, ücret ödemeden kullanabileceğiniz anlamına gelir, bu yazılımı yeniden dağıtmanıza veya Sysinternals kaynak kodundan dağıttığınız ürünleri türetmeye izin verilmez. Örneğin, birden çok kullanıcının belirli Sysinternals araçlarını yararlı bulduğu bir şirkette çalışıyorsanız, araçları bir iç paylaşıma veya Web sitesine gönderemeyebilirsiniz. Bunun yerine, sitenize sysinternals üzerindeki her aracın girişine bir bağlantı yerleştirin. Bu, iş arkadaşlarınızın her zaman en son sürümleri indirdiğinden emin olmak için de yardımcı olur.

Sysinternals araçlarını şirket içinde, ticari bir ürünle veya bir shareware CD'siyle yeniden dağıtmak istiyorsanız ya da Sysinternals kaynak kodunda ticari bir ürün veya yeniden dağıtılabilir program temel almak istiyorsanız, licensing@... adresine istediğiniz kullanımın ayrıntılarını açıklayan bir e-posta gönderin....

İç BİlGİLER

NFI

Birkaç bülten geri Ben Microsoft yanlışlıkla NT 4 SP4 CD üzerinde gönderilen DiskEdit aracının varlığını ortaya çıkardı. DiskEdit, NTFS ve FAT 'yi (ilginç olan NTFS desteği olsa da) disk üzerindeki veri yapılarını incelemek için kullanabileceğiniz çok güçlü bir dosya sistemi yapısı görüntüleyicidir. NT 4 SP 4 CD'sini kaçırdıysanız ve NTFS disk içi yapılarını keşfetmekle ilgileniyorsanız, tamamen karanlıkta değilsinizdir. Microsoft, NTFS birimlerinin iç yapılarını anlayan ve dökümünü alabilen NFI (NTFS Bilgileri) adlı ücretsiz bir araç yayımladı. Çıktısı DiskEdit'inki kadar ayrıntılı olmasa da, ilginç ve açık bir şekilde ortaya çıkar.

NFI'yi OEM Destek Araçları'nın bir parçası olarak şu konumdan indirebilirsiniz: http://support.microsoft.com/support/kb/articles/q253/0/66.asp. NFI'nin dosya adıyla çalıştırılması, o dosya için NTFS MFT kaydının dökümünü alır. Aşağıdaki örnekte, yalnızca bir birimde kota yönetimi etkinleştirilmişse var olan meta veri dosyası için $Quota MFT kaydının dökümünü alan NFI gösterilmektedir:

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

Çıktı, dosyanın MFT'deki 24. girdiyi kapsadığını (dosya dizini 24'tür) ve standart bilgiler, dosya adı ve iki dizin kökü (ve dizin temelde dizin gibi harmanlanmış bir girdi listesidir) dahil olmak üzere dört öznitelik içerdiğini gösterir. NTFS'nin $Quota NTFS v5'teki en son Windows 2000 Magazine serimdeki dizinleri nasıl kullandığını açıkliyorum.

Birimdeki tüm dosyaların dökümünü almak için, NFI'nin komut satırında sürücü harfini dosya adı olmadan (örneğin) belirtin. nfi c: Tüm meta veri dosyaları dahil olmak üzere her MFT girişinin listesini görürsünüz.

NFI, bir sektör numarasını bulunduğu dosyaya çevirebilme gibi başka yeteneklere de sahiptir. Sürücüdeki C: dosya sektörü 2345'in hangi dosya sektöründe olduğunu öğrenmek ister misiniz? nfi c: 2345 komutunu kullanın. Bunun, birim kümeleri ve şerit kümeleri gibi yazılım-RAID birimlerinde başarısız olduğunu unutmayın. NFI hem NT 4 hem de Windows 2000 üzerinde çalışır.

GIZLI WIN9X KAYıT DEFTERI ANAHTARLARı

İki sorun önce aşağıdaki bültende "gizli Win9x Registry anahtarlarını" kapsayacağım demiştim ve bazınız bana unuttuğumu hatırlattı. Bu ay size Windows 9x'teki gizli Kayıt Defteri anahtarları hakkında bilgi vereceğim.

Birkaç yıl önce Windows NT'de gizli Kayıt Defteri anahtarları oluşturmanın bir yolunu keşfettim. Gizli derken, regmon ile bunları oluşturan uygulama tarafından erişilen anahtarları görebilmenize rağmen, anahtarın değerlerine bakmak için bir Win32 programı yazamaz ve Regedit veya Regedt32 Kayıt Defteri düzenleyicileriyle anahtarlara bakamazsınız. Gizli anahtarlar, deneme ürününün zaman aşımı tarihi gibi son kullanıcıların değiştirebilmesini istemediğiniz verileri depolamak için kullanışlıdır.

Gizli kayıt defteri anahtarı oluşturmanın püf noktası, Win32 API'sinin oluşturulduğu sistem çağrı arabirimi olan yerel NT API'sinin Kayıt Defteri anahtarlarının sayılan Unicode dizeleri olarak belirtilmesi gerektiğini fark etmekti. Sayılan Unicode dizesi, uzunluğu null sonlandırıcının varlığıyla değil uzunluk alanıyla gösterilen dizedir. Bu nedenle yerel API'yi kullanarak gibi "test\0test"null karakter içeren Kayıt Defteri anahtarları oluşturabilirsiniz. Win32 API'sinin Kayıt Defteri anahtarı API'sinde null sonlandırılan dizeler temel alındığından, Win32 API'sini kullanarak null sonlandırıcı içeren bir Kayıt Defteri anahtarını açmanın hiçbir yolu yoktur. Önceki örnek anahtar adını 'a RegOpenKey geçirmeyi denediyseniz veya RegCreateKey dize null karakterde kesilmiş olarak "test" kabul edilir. Windows NT ve Windows 2000 ile birlikte gelenler de dahil olmak üzere mevcut tüm Kayıt Defteri düzenleyicileri, null karakter eklenmiş adlar oluşturmak için yerel API'yi kullanan bir uygulama olan Win32 API'sini kullanarak gizli anahtarları etkili bir şekilde oluşturur.

Bu yöntem Windows NT'de çalışır, ancak Windows 9x ne olacak? Birisi Bana Regedit'de görünmeyen anahtarlara Internet Explorer 'ın (IE) eriştiğini gösteren bir Regmon günlük dosyasıyla e-posta gönderinceye kadar Windows 9x'te gizli Kayıt Defteri anahtarları oluşturmanın bir yolu olmadığını düşündüm. Bunu kendiniz görmek için Regmon'u başlatın ve şu ekleme filtresini ayarlayın: "policydata". Ardından IE'yi başlatın (bu, IE 4 ve IE 5'in tüm sürümlerinde çalışır) ve bir web sitesini ziyaret edin. Regmon'da herhangi bir çıkış görmüyorsanız IE'nin seçenekler yapılandırma iletişim kutusuna gidin ve İçerik Danışmanı'nın etkinleştirildiğinden emin olun.

İçerik Danışmanı etkinse veya sisteminizde etkinleştirildiyse, anahtara HKLM\PolicyDatve alt anahtara erişimleri görürsünüz. Ancak, Regedit'e baktığınızda altında HKEY_LOCAL_MACHINE policydata anahtarı bulamazsınız. Bir dakika bekle ve neler olduğunu anlayıp çözemediğini gör.

Bunun yanıtı, IE'nin Win32 API'sini kullanarak bir Kayıt Defteri kovanını RegLoadKey dinamik olarak yüklemesi, gereken değerleri okuması ve ardından ile RegUnloadKeykovanı kaldırmasıdır. Kovan adıyla adlandırılır C:\Winows\System\Ratings.pol ; dosya gizli ve salt okunurdur, ancak yazarak attrib –r –h c:\windows\system\ratings.polbunu ortaya çıkarabilirsiniz.

Regmon'da gördüğünüz izlemeler, İçerik Danışmanı'nın kovanda aradığı bilgileri gösterir. İçeriğini kendiniz keşfetmek istiyorsanız, www.sysinternals.com/regload.zip'dan Regload yardımcı programımı indirin ve şu söz dizimi ile çalıştırın: regload test c:\windows\system\ratings.pol. Ardından Regedit'i açın ve adresine göz atın HKLM\test. Bulacağınız değerler İçerik Danışmanı'nda belirttiğiniz ayarlara karşılık gelir ve hive'daki değerde Users\FileName0 adlı yapılandırma dosyasıyla ilişkilidir. Bu değer genellikle İnternet İçerik Derecelendirme İlişkilendirmesi tarafından tanımlanan derecelendirme dosyasını gösterir C:\Windows\System\RSACi.rat. Bu arada, İçerik Danışmanı'nın Kayıt Defteri ayarlarında (örneğin altında HKLM\Test\Users\Default) biraz komik adı "PleaseMom" olan bir değer görebilirsiniz. Bu değer, İçerik Danışmanı ayarları iletişim kutusunun Genel sayfasındaki "Gözetmen, kullanıcıların kısıtlanmış içeriği görüntülemesine izin vermek için parola yazabilir" onay kutusundan türetilir.

Microsoft'un bu Kayıt Defteri değerlerinin varlığını gizlemesinin nedeni açık olmalıdır. Ancak tasarımlarında oldukça ciddi bir zayıflık vardır. İçerik Danışmanı'nı etkinleştirdiğinizde, İçerik Danışmanı'nın ayarlar iletişim kutusunu koruyan bir parola belirtmeniz gerektiğini unutmayın. Bu parola içinde HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Ratings\Keydepolanır. Bu değeri silin ve bir parola girmeden İçerik Danışmanı ayarlarına erişebilirsiniz! IE geliştiricileri İçerik Danışmanı ayarlarını karartma zahmetine girdiyse neden bu arka kapıyı açıkta bırakıyorlar? Tipik Microsoft güvenlik tasarımı, sanırım. Bu arada, Regload ile yüklemiş olduğunuz anahtarı kaldırmak için yazın regload test.

YAKLAŞANLAR

YENI WHISTLER SISTEM ÇAĞRıLARı

Whistler, Windows 2000 işletim sisteminin artan güvenilirliğine ve kullanıcıların Windows 9x işletim sistemlerinden kolay geçişe odaklanan artımlı bir evrimidir. Ancak, bazı çekirdek değişiklikleri içerir. En görünür olan, birkaç yeni sistem çağrısı ve dışarı aktarılan (cihaz sürücüleri tarafından kullanılabilir) çekirdek işlevleridir. Bir dahaki sefere bu yeni çekirdek API'lerinin önizlemesini vereceğim.


Sysinternals Bülteni'ni okuduğun için teşekkür ederiz.

Yayın tarihi: 30 Kasım 2000 Perşembe 19:05 ottoh

[Bülten Arşivi ^] [< Birim 2, Sayı 4] [Birim 3, Sayı 1 >]