[Arsip Buletin ^] [< Volume 2, Nomor 4] [Volume 3, Nomor 1 >]
Buletin Internal Sistem Volume 2, Nomor 5
www.sysinternals.com
Hak Cipta (c) 2000 Mark Russinovich
30 November 2000 - Dalam masalah ini:
EDITORIAL
APA YANG BARU DI SYSINTERNALS
- PsLoggedOn v1.2
- PsShutdown v1.0
- PsTools v1.1
- BgInfo v1.1
- Tokenmon v1.0
- Filemon v4.32
- Regmon v4.32
- Di dalam Windows 2000, 3rd Ed.
- Majalah Windows 2000 November dan Musim Dingin
- Sysinternals di Microsoft
- Lisensi Sysinternals
INFORMASI INTERNAL
- NFI
- Kunci Registri Win9x Tersembunyi
APA YANG AKAN TERJADI
- Panggilan Sistem Whistler Baru
SPONSOR: PERANGKAT LUNAK WINTERNALS
Buletin Sysinternals disponsori oleh Winternals Software, di Web pada www.winternals.com. Winternals Software adalah pengembang dan penyedia alat sistem canggih terkemuka untuk Windows NT/2K. Produk Perangkat Lunak Winternals termasuk FAT32 untuk Windows NT 4.0, NTFSDOS Professional Edition (driver NTFS baca/tulis untuk DOS), dan Pemulihan Jarak Jauh.
Perintah netstat, yang dilengkapi dengan semua versi Windows 9x dan Windows NT/2000, menunjukkan kepada Anda port TCP/IP apa yang terbuka pada sistem Anda, namun tidak menunjukkan kepada Anda proses apa yang membuka port. TCPView Pro, alat pemantauan terbaru Winternals, tidak hanya dilengkapi dengan alat baris perintah setara netstat, Tcpvstat, yang menunjukkan kepada Anda proses mana yang membuka setiap port, tetapi menyertakan GUI yang menunjukkan informasi yang sama ditambah jejak aktivitas TCP/IP secara real time. Jejak real-time mengungkapkan aplikasi yang membuat akses jaringan, alamat IP lokal dan jarak jauh dari akses dengan resolusi nama DNS opsional, jenis akses, keberhasilan akses, dan jumlah data yang ditransfer. TCPView Pro hanya $69. Unduh versi uji coba TCPView Pro 14 hari yang berfungsi penuh hari ini di www.winternals.com/products/monitoringtools/tcpviewpro.shtml.
Halo semuanya,
Selamat datang di buletin Sysinternals. Buletin saat ini memiliki 28.000 pelanggan.
Salah satu manfaat berpindah dari Windows NT ke Windows 2000 adalah keandalan yang sangat ditingkatkan. Saya telah menulis tentang alasan peningkatan dalam beberapa artikel, dan terutama merupakan hasil dari alat yang disebut Driver Verifier. Anda dapat mengonfigurasi Verifier, yang Anda luncurkan dengan mengetik "pemverifikasi" di kotak dialog Jalankan menu Mulai, untuk mengawasi dengan cermat eksekusi driver perangkat tertentu, mencari pelanggaran dari beberapa aturan pemrograman driver. Verifier melangkah lebih jauh daripada pemantauan pasif, namun - itu juga memperburuk potensi; kondisi kesalahan oleh, misalnya, mengalokasikan blok memori untuk driver yang terdampar dengan wilayah yang tidak valid, dan nol bidang tertentu dalam struktur data yang diteruskan ke driver. Jika Anda benar-benar ingin menjadi sulit, Anda dapat memiliki Verifier mensimulasikan kondisi memori rendah untuk driver.
Microsoft memanfaatkan Verifier melalui program penandatanganan drivernya, yang mengharuskan driver apa pun yang ditandatangani secara digital oleh Microsoft untuk lulus pengujian Driver Verifier yang ketat. Ketika driver diinstal, wizard perangkat keras memeriksa untuk melihat apakah driver ditandatangani. Jika tidak, maka akan memperingatkan Anda atau gagal menginstal driver, tergantung pada pengaturan yang telah Anda masukkan dalam dialog Opsi Penandatanganan Driver, yang dapat diakses dari halaman Perangkat Keras applet Sistem di Panel Kontrol.
Fakta bahwa kebijakan penandatanganan driver default memperingatkan pengguna akhir tentang driver yang tidak ditandatangani sudah cukup untuk membuat sebagian besar vendor perangkat keras mengalami kesulitan membuat driver mereka kuat dan membuat mereka ditandatangani. Namun, driver perangkat dapat menyelimuti sistem Anda yang tidak terdeteksi oleh kebijakan penandatanganan driver. Hanya driver yang diinstal menggunakan file INF (file penginstalan driver yang berakhiran ekstensi .inf) yang diperiksa tanda tangannya. Aplikasi penyiapan dapat menginstal driver secara manual baik dengan menggunakan API Penyetelan secara langsung, atau dengan mengonfigurasi pengaturan Registri driver secara manual. Aplikasi Sysinternals adalah contoh bagus dari ini: Filemon, Regmon, dan alat Sysinternals lainnya yang memiliki komponen driver menginstal driver mereka secara manual, yang merupakan alasan Anda tidak diperingatkan bahwa mereka tidak ditandatangani oleh Microsoft.
Driver yang umumnya tidak diinstal dengan file INF termasuk pemindai virus, perangkat lunak enkripsi, dan perangkat lunak pembakaran CD-ROM. Namun, itu tidak menghalangi driver terkait perangkat keras dari tergelincir. Driver Sysinternals Ctrl2cap untuk Windows 2000 (www.sysinternals.com/ctrl2cap.htm adalah contoh driver terkait perangkat keras yang diinstal dengan cara yang melewati pemeriksaan penandatanganan driver. Celah ini mengarah pada keberadaan driver pada sistem Anda yang belum diverifikasi, yang dapat membahayakan stabilitas sistem (saya memverifikasi semua driver Sysinternals pada pengaturan tertinggi). Microsoft harus memaksa semua driver, bukan hanya yang menginstal dengan file INF, untuk melalui pemeriksaan penandatanganan.
Mengapa saya pada kata-kata kasar ini? Perangkat lunak pembakaran CD-ROM saya, yang merupakan yang paling populer dari jenis perangkat lunak itu di pasaran, memiliki driver yang akan secara reproduksi crash sistem Windows 2000 SP1 saya. Jika saya mengonfigurasi Driver Verifier untuk memeriksanya, sistem bahkan tidak menyelesaikan booting sebelum Verifier mendeteksi pelanggaran pertama driver dan merusak sistem. Driver diinstal tanpa file INF sehingga saya tidak diperingatkan bahwa itu tidak ditandatangani. Saya menjamin bahwa jika kebijakan Microsoft lebih ketat bahwa vendor ini akan berpikir dua kali sebelum mengirim driver yang tidak ditandatangani (dan buggy).
Berikan buletin kepada teman yang menurut Anda mungkin tertarik dengan kontennya.
Terima kasih!
-Tanda
APA YANG BARU DI SYSINTERNALS
PSLOGGEDON V1.2
Selain perubahan nama yang jelas dari LoggedOn ke PsLoggedOn, alat baris perintah ini, yang memiliki kemampuan untuk menunjukkan kepada Anda siapa yang masuk secara lokal dan melalui berbagi sumber daya pada sistem lokal atau jarak jauh, memiliki beberapa fitur baru. Yang pertama adalah sakelar baris perintah '-l' yang telah dihasilkan dari umpan balik pengguna. Banyak orang menggunakan PsLoggedOn untuk melihat apakah ada akun yang masuk secara lokal ke server mereka. Mungkin ada pengguna yang masuk melalui berbagi file, misalnya, tetapi itu tidak relevan saat membuat keputusan tentang kapan akun dapat diperbarui atau server dapat dikelola dari jarak jauh.
Fitur baru kedua PsLoggedOn menunjukkan kepada Anda tidak hanya siapa yang masuk, tetapi waktu saat masuk berlangsung. PsLoggedOn mendapatkan waktu masuk untuk masuk dari berbagi sumber daya secara gratis ketika menggunakan API Win32, NetSessionEnum, untuk menghitung logon berbagi sumber daya (perintah baris perintah Net juga menggunakan NetSessionEnum untuk menghitung sesi). Namun, tidak ada API Win32 yang memberi tahu Anda siapa yang masuk ke sistem secara lokal, jauh lebih sedikit pada saat mereka masuk.
Untuk menentukan siapa yang masuk ke sistem secara lokal, PsLoggedOn menghitung ID Keamanan (SID) yang terletak di bawah kunci Registri komputer HKEY_USERS
. Ketika seseorang masuk ke komputer secara lokal, baik di konsol atau melalui layanan, profilnya dimuat ke dalam HKEY_USERS
kunci. Aplikasi dapat mengakses pengaturan Registri profil mereka melalui HKEY_CURRENT_USER
kunci karena sistem memperlakukan kunci tersebut sebagai tautan simbolis ke profil khusus mereka di bawah HKEY_USERS
. Dengan demikian, PsLoggedOn dapat mengetahui siapa yang masuk secara lokal dengan menerjemahkan SID yang ditemukannya dalam kunci komputer HKEY_USERS
ke dalam nama pengguna yang sesuai. PsLoggedOn menggunakan untuk menyambungkan ke Registri RegConnectKey
komputer jarak jauh saat Anda mengarahkannya ke daftar pengguna yang masuk ke sistem jarak jauh.
Mencari tahu jam berapa pengguna masuk bekerja menggunakan trik serupa. Ketika proses WinLogon memuat profil pengguna setelah HKEY_USERS
mereka masuk, WinLogon membuat subkunci volatil (tidak disimpan ke profil pada disk) di profil mereka bernama, cukup tepat, Lingkungan Volatile. Registri menyimpan tanda waktu terakhir yang dimodifikasi untuk kunci Registri, dan karena sistem tidak memodifikasi subkunci Lingkungan Volatil berikutnya ke pembuatannya, PsLoggedOn dapat menentukan kapan pengguna masuk dengan mendapatkan tanda waktu subkunci Lingkungan Volatile mereka.
Unduh PsLoggedOn v1.2 dengan sumber lengkap di
www.sysinternals.com/psloggedon.htm.
PSSHUTDOWN V1.0
Jika Anda pernah perlu mematikan atau me-reboot sistem Windows NT/2000 lokal atau jarak jauh, maka Anda harus mengunduh PsShutdown. PsShutdown adalah klon alat Shutdown Windows NT/2000 Resource Kit. Dibutuhkan argumen baris perintah yang sama yang memungkinkan Anda menentukan penundaan sebelum matikan, apakah akan memulai ulang atau tidak, pesan opsional untuk ditampilkan kepada pengguna mana pun yang saat ini masuk ke sistem, dan nama komputer untuk dimatikan atau di-boot ulang.
Unduh PsShutdown v1.0 pada www.sysinternals.com/psshutdn.htm.
PSTOOLS V1.1
Anda mungkin telah memperhatikan meningkatnya jumlah alat di Sysinternals yang dimulai dengan awalan "Ps". Yang pertama adalah PsList, alat baris perintah yang mencantumkan informasi tentang proses aktif pada sistem Windows NT/2000 lokal atau jarak jauh. Saya memberi PsList namanya karena alat informasi proses baris perintah UNIX standar diberi nama "ps". Alat berikutnya untuk mendapatkan prefiks adalah PsKill, utilitas baris perintah yang memungkinkan Anda mengakhiri proses yang berjalan pada sistem Windows NT/2000 lokal atau jarak jauh. Saya memberi PsKill awalan "Ps" karena membuat pendamping yang sempurna untuk PsList.
Seiring waktu saya telah mengembangkan alat lain yang berbagi karakteristik yang mendefinisikan yang sama dengan PsList dan PsKill: mereka berbasis baris perintah dan bekerja pada sistem Windows NT/2000 lokal atau jarak jauh. Misalnya, ElogList memungkinkan Anda membuang konten log peristiwa sistem, dan GetSid menunjukkan SID komputer atau akun tertentu. Baru-baru ini, saya memutuskan untuk mengikat semua alat ini bersama-sama dengan memberi mereka semua awalan "Ps" dan membuatnya dapat diunduh sebagai satu paket bernama PsTools.
PsTools, yang mencakup PsList, PsKill, serta PsLogList dan PsGetSid yang berganti nama, terdiri dari total tujuh alat. Jika Anda melihat alat Sysinternals dengan awalan "Ps", Anda secara otomatis tahu bahwa itu adalah alat baris perintah yang berfungsi secara lokal serta dari jarak jauh.
Unduh PsTools v1.1 di www.sysinternals.com/pstools.htm.
BGINFO V1.1
Sebagai hasil dari umpan balik pengguna yang luar biasa, Bryce telah memperbarui BgInfo, utilitas yang mengatur wallpaper desktop untuk menampilkan informasi yang dapat disesuaikan tentang konfigurasi sistem, sebagai hasil dari umpan balik pengguna yang dia dapatkan. Secara default, BgInfo menghitung mundur selama 10 detik sebelum menerapkan pengaturan yang ditentukan dalam kotak dialognya, tetapi opsi baris perintah baru, /timer
, memungkinkan Anda mengubah atau menghilangkan hitungan mundur sama sekali. Ini membuatnya lebih nyaman untuk menyertakan BgInfo dalam skrip masuk, atau sebagai pintasan di folder Startup profil.
Versi 1.1 mencakup fitur baru lainnya, seperti kemampuan untuk menampilkan teks arbitrer yang Anda tentukan, dan kategori informasi yang lebih ditentukan sebelumnya. Bitmap desktop yang dibuat BgInfo v1.1 juga umumnya lebih kecil, meminimalkan jejak memori desktop BgInfo.
Unduh BgInfo v1.1 di www.sysinternals.com/bginfo.htm.
TOKENMON V1.0
Tokenmon adalah tambahan terbaru untuk rangkaian alat pemantauan yang bervariasi yang dapat Anda unduh dari Sysinternals. Tokenmon, yang berbagi UI yang sama dengan sepupunya seperti Regmon dan Filemon, memantau aktivitas terkait keamanan yang signifikan pada sistem Windows NT/2000. Hanya apa itu aktivitas terkait keamanan "signifikan"? Inti dari keamanan Windows NT/2000 adalah objek token, struktur data yang berisi SID akun, SID grup, dan hak istimewa. Setiap kali proses mencoba mengakses objek aman, Monitor Referensi Keamanan menggunakan SID dalam tokennya sebagai bagian dari validasi akses. Jika proses mencoba melakukan operasi terbatas, seperti me-reboot sistem, sistem memeriksa hak istimewa yang sesuai dalam token proses.
Salah satu fitur yang kuat (dan dipatokkan) dari model keamanan Windows NT/2000 adalah peniruan identitas. Peniruan memungkinkan utas untuk sementara mengesampingkan identitas berbasis prosesnya dan mengadopsi identitas alternatif melalui penggunaan token peniruan. Aplikasi server memanfaatkan peniruan saat mengakses sumber daya atas nama klien, ketika mereka mengadopsi identitas klien selama durasi akses.
Tokenmon menginstal kait panggilan sistem dengan cara yang sama seperti yang regmon lakukan untuk API Registri, untuk memantau pembuatan dan penghapusan token, mengaktifkan dan menonaktifkan hak istimewa, dan peniruan. Tokenmon juga menggunakan kait pembuatan proses yang disediakan oleh kernel NT/2000 untuk memantau pembuatan dan penghapusan proses, dan API lainnya untuk menentukan kapan pengguna masuk dan kapan mereka log keluar.
Kode sumber lengkap untuk Tokenmon diposting, dan ada baiknya membahas beberapa teknik menarik yang ditunjukkan kode. Tokenmon mendeteksi peristiwa masuk dengan menghubungkan panggilan sistem NtCreateToken, yang merupakan yang digunakan oleh broker masuk seperti WinLogon untuk membuat token awal untuk proses pertama sesi masuk baru. Proses yang dibuat oleh proses pertama mewarisi salinan token pertama. Untuk mendeteksi logoff, Tokenmon mendaftar untuk pemberitahuan logoff melalui fungsi SeRegisterLogonSessionTerminatedRoutine mode kernel, API yang ada untuk kepentingan driver sistem file, yang disebut pengalihan jaringan, data sesi masuk cache tersebut dan ingin membersihkan saat pengguna keluar. Pengalih jaringan mengimplementasikan sisi klien dari koneksi klien/server berbagi file.
Detail implementasi Tokenmon lain yang menarik adalah cara Tokenmon menghubungkan API yang dipantaunya. Beberapa API yang kait Tokenmon tidak diekspor untuk digunakan oleh driver perangkat, tetapi diekspor dalam mode pengguna NTDLL.DLL pustaka untuk digunakan oleh aplikasi yang menggunakan setara Win32 mereka. Semua API Registri yang diekspor kait Regmon dalam mode kernel, memungkinkan driver perangkat Regmon untuk mendapatkan nomor panggilan sistem mereka, dan untuk menghubungkan tabel panggilan sistem dengan tepat. Untuk API yang tidak diekspor untuk digunakan oleh driver, Tokenmon GUI harus mendapatkan nomor panggilan dengan menggunakan ekspor di NTDLL.DLL, lalu meneruskan nomor ke driver sehingga driver dapat menghubungkan tabel panggilan sistem. Dengan demikian, Tokenmon menunjukkan cara mengaitkan panggilan sistem yang tidak diekspor dalam mode kernel.
Unduh Tokenmon v1.0 dengan sumber lengkap di www.sysinternals.com/tokenmon.htm.
FILEMON V4.32
Pembaruan Filemon terbaru ini memperkenalkan pemfilteran yang lebih intuitif dan lengkap, tampilan nama jalur UNC lengkap untuk akses file jaringan Windows 9x/Me, dan tampilan nama file metadata NTFS.
Versi Filemon sebelumnya mengharuskan Anda memasukkan filter dengan kartubebas wajib. Misalnya, jika Anda ingin memantau akses ke direktori Temp di drive C:
, Anda harus memasukkan filter seperti ini: "c:\temp\*
".
Dengan wildcard sintaks pemfilteran baru bersifat opsional, jadi sementara filter contoh akan berfungsi, "c:\temp
" akan mencapai efek yang sama. Selain itu, Filemon sekarang menerapkan filter yang Anda masukkan terhadap semua bidang dalam tampilan, termasuk nama proses, jenis permintaan, jalur, dan kolom "lainnya". Fleksibilitas ini memungkinkan Anda untuk menonton jenis permintaan tertentu, atau permintaan dengan data tertentu di kolom lain, sesuatu yang sebelumnya tidak mungkin.
Pengguna Filemon pada sistem Windows 9x/Me sekarang akan melihat nama jalur tampilan Filemon dengan sintaks UNC penuh saat mereka mengakses sumber daya jarak jauh. Filemon sebelumnya tidak menampilkan server atau nama berbagi untuk akses tersebut, yang mengakibatkan nama jalur yang tidak lengkap.
Terakhir, jika Anda telah menggunakan Filemon di Windows NT/2000, Anda tidak diragukan melihat teks "DASD" di kolom jalur untuk banyak akses ("DASD" berasal dari "Perangkat Penyimpanan Akses Langsung", istilah yang digunakan Microsoft untuk menjelaskan akses ke volume yang melewati struktur sistem file). Untuk sebagian besar aktivitas pada volume NTFS, DASD sekarang menjadi hal dari masa lalu. Sebagai gantinya, Anda akan melihat nama file metadata NTFS yang sedang dibaca dan ditulis. Misalnya, pembaruan pada catatan MFT akan menghasilkan baris output DASD sebelumnya, tetapi sekarang Anda akan melihatnya sebagai akses ke "$Mft", nama file metadata internal MFT.
Mengapa Filemon tidak menampilkan nama file metadata sebelumnya, dan bagaimana cara mendapatkan nama-nama ini sekarang? Objek file yang mewakili file metadata NTFS tidak menyimpan nama file, sehingga Filemon tidak dapat mengekstrak nama dari objek file. Metode alternatif Filemon untuk mendapatkan nama file, mengkueri driver sistem file, tidak berfungsi baik untuk file metadata NTFS. Sementara NTFS merespons dengan nama file metadata, NTFS di NT 4 secara acak menyebabkan crash, dan NTFS di Win2k kadang-kadang macet saat menanggapi kueri tersebut.
Oleh karena itu, Filemon harus menggunakan trik untuk mendapatkan nama file metadata. Ketika melihat permintaan yang diarahkan pada objek file pada volume NTFS tanpa nama, permintaan tersebut mengirimkan kueri NTFS untuk indeks file. Ini adalah indeks yang sama dengan fungsi Win32 yang dikembalikan GetFileInformationByHandle, dan untuk file pada volume NTFS indeks adalah indeks MFT file. 16 entri pertama dalam MFT dicadangkan untuk file metadata tertentu, jadi mengingat indeks dalam rentang tersebut, Filemon hanya mencari nama file metadata dalam tabelnya sendiri.
Sayangnya, Anda masih akan melihat DASD untuk metadata direktori dan akses tabel alokasi file (FAT) pada volume FAT, karena FAT tidak menyimpan nama untuk file metadata direktori atau FAT. Anda akan terkejut dengan seberapa sering logfile NTFS ($LogFile) diakses. Kebetulan, NTFS di Whistler menyimpan nama untuk file metadata, sehingga triknya tidak perlu di Whistler.
Penyempurnaan Filemon akhir memungkinkan Filemon menampilkan tanda waktu sehari dengan resolusi milidetik. Dukungan ini diperlukan peretasan jelek di driver Filemon Windows 9x/Me karena bug dalam fungsi waktu di kernel Windows 9x/Me. Lihat kode sumber untuk informasi selengkapnya.
Unduh Filemon v4.32 dengan kode sumber di www.sysinternals.com/filemon.htm.
REGMON V4.32
Perubahan Regmon tidak sepenting Filemon, tetapi Regmon sekarang mendukung sintaks pemfilteran yang lebih intuitif yang sama dengan Filemon, dan seperti Filemon, menerapkan filter ke semua bidang. Ini juga dapat menunjukkan resolusi milidetik pada tanda waktu.
Anda yang telah mulai bermain dengan Whistler (penerus Windows 2000) Beta 1 mungkin telah memperhatikan bahwa versi Sebelumnya dari Regmon crash Whistler ketika dimulai. Ini karena Microsoft telah menempatkan tabel panggilan sistem, yang dimodifikasi Regmon untuk menyisipkan kaitnya, dalam memori yang dilindungi penulisan. Regmon v4.32 bekerja di sekitar ini dengan menggunakan teknik yang belum saya berikan kode sumber atas permintaan Microsoft, karena teknik dapat pecah dalam rilis akhir Whistler, dan Microsoft sedang mengeksplorasi cara untuk mendukung pengait panggilan sistem. Windows NT tidak dirancang untuk mendukung pengait panggilan sistem, yang merupakan sesuatu yang kami rintis dengan rilis pertama Regmon kembali pada pertengahan 1996.
Berikut adalah tip Filemon/Regmon yang tidak terdokumentasi. Saya sering mendapatkan email yang menanyakan cara menjalankan Regmon atau Filemon dari akun non-administratif di Windows NT/2000 Ada banyak kasus ketika aplikasi tertentu bekerja dengan baik saat dijalankan dari akun administrator, tetapi bukan dari pengguna yang tidak memiliki hak istimewa, di mana Regmon dan Filemon akan berguna untuk menentukan mengapa aplikasi gagal (biasanya masalah yang terkait dengan pengaturan keamanan pada file atau kunci Registri). Namun, menjalankan Regmon dan Filemon dari akun yang tidak memiliki hak istimewa akan gagal karena driver perangkat penginstalan Filemon dan Regmon, sesuatu yang memerlukan hak istimewa administrator.
Namun, ada trik yang memungkinkan Anda mengatasi hal ini: Jika Anda masuk sebagai administrator dan memulai Filemon atau Regmon, Anda kemudian dapat menjalankannya dari akun yang tidak memiliki hak istimewa. Ini karena Filemon dan Regmon menginstal driver pada eksekusi pertama mereka, dan dalam eksekusi berikut mengakses driver yang sudah dimuat. Karena saya tidak menerapkan keamanan apa pun di driver, pengguna yang tidak memiliki hak istimewa dapat menjalankan alat setelah driver dimuat. Masalah keamanan? Ya, tetapi Filemon dan Regmon dimaksudkan untuk menjadi alat pemecahan masalah jadi saya, dan orang-orang yang menanyakan cara menjalankan utilitas dari akun yang tidak memiliki hak istimewa, lihat ini sebagai fitur.
Unduh Regmon v4.32 dengan kode sumber lengkap di www.sysinternals.com/regmon.htm.
DEBUGVIEW V4.02
Salah satu aplikasi yang paling banyak saya terima umpan balik penggunanya adalah, agak mengejutkan, DebugView. Versi baru ini memiliki beberapa peningkatan signifikan yang membahas banyak permintaan fitur dan fungsionalitas yang saya terima, dan membuat DebugView lebih kuat dari sebelumnya.
Yang paling jelas, DebugView sekarang mendukung hingga lima filter penyorotan yang berbeda, masing-masing dengan warnanya sendiri yang dapat disesuaikan. Ini memungkinkan Anda untuk secara bersamaan rumah pada kata kunci yang berbeda dalam output debug Anda dan dengan mudah membedakannya. Selain itu, DebugView mengimplementasikan sintaks pemfilteran baru yang sama dengan Filemon dan Regmon, membuat wildcard opsional untuk pencocokan substring.
Keluhan yang saya terima tentang versi DebugView sebelumnya adalah bahwa, bahkan jika Anda hanya ingin mengambil output debug Win32, Anda masih memerlukan hak administratif untuk menjalankan DebugView, karena DebugView tidak akan berjalan jika tidak dapat menginstal driver perangkatnya. Versi baru ini berjalan bahkan dari akun yang tidak memiliki hak istimewa khusus. Jika tidak dapat menginstal atau mengakses drivernya, ia hanya menonaktifkan item menu terkait pengambilan mode kernel.
Dua fitur yang memudahkan DebugView mulai menangkap output secara otomatis saat Anda masuk adalah opsi minimize-to-tray dan dukungan untuk sakelar baris perintah. Dengan menggunakan sakelar baris perintah, Anda dapat meminta DebugView dimulai di baki sistem dan output log yang diambilnya ke file, dan setelah memulai DebugView, Anda dapat menggunakan opsi menu untuk mengalihkannya meminimalkan perilaku tombol antara meminimalkan secara normal, dan meminimalkan ke baki sistem.
Untuk pengguna yang menjalankan DebugView dalam sesi jarak jauh pada layanan terminal Windows 2000, DebugView sekarang menangkap output Win32 yang dihasilkan oleh aplikasi yang berjalan di sesi jarak jauh Anda, dan secara opsional, dari sesi konsol. Ini berguna untuk men-debug server COM dan layanan Win32 dari jarak jauh, karena jenis program ini berjalan di sesi konsol.
Terakhir, DebugView sekarang berfungsi pada Whistler Beta 1, dengan dukungan untuk menangkap output dari beberapa varian Whistler baru pada fungsi DbgPrint mode kernel.
Unduh DebugView v4.02 di www.sysinternals.com/dbgview.htm.
DI DALAM WINDOWS 2000, EDISI KE-3
Buku resmi di internal Windows 2000 sekarang tersedia! Edisi ini, diautentikasi bersama oleh David Solomon (www.solsem.com) dan Mark Russinovich, lebih besar dari sebelumnya, dengan cakupan baru jaringan, plug-and-play, manajemen daya, layanan, Registri, WMI, boot dan shutdown, dan penyimpanan. Ini juga termasuk CD dengan beberapa alat canggih, tidak tersedia di tempat lain, untuk menyelidiki internal Windows 2000.
Salah satu alat yang saya tulis khusus untuk buku ini adalah LiveKd, program yang memungkinkan Anda menjalankan kedua debugger kernel Microsoft, i386kd dan WinDbg, pada sistem langsung seolah-olah Anda melihat crash dump. Banyak eksperimen yang disajikan dalam buku bekerja pada sistem langsung saat dijalankan menggunakan LiveKd. LiveKd bekerja dengan menginstal driver filter sistem file yang menyajikan memori fisik komputer ke debugger Microsoft seolah-olah itu adalah file crash dump. LiveKd membuat file cadangan pseudo dengan panjang 0, dan ketika debugger membaca dari file, LiveKd mengembalikan data dari memori fisik. Lihat halaman errata dan pembaruan buku untuk patch LiveKd yang memperbaiki ketidakcocokan antara LiveKd v1.0 dan beberapa pemindai virus di akses.
Lihat daftar isi buku dan pesan sekarang melalui www.sysinternals.com/insidew2k.htm.
MAJALAH WINDOWS 2000 NOVEMBER DAN MUSIM DINGIN
Penasaran dengan apa yang sebenarnya berubah antara NTFS v4 dan NTFS v5? Jika demikian, lihat seri dua bagian saya di majalah Windows 2000 masalah November dan Musim Dingin. Bagian 1 menjelaskan titik pemisahan ulang, persimpangan direktori, titik pemasangan volume, dukungan kuota, dan pengaturan keamanan terkonsolidasi. Bagian 2 menyimpulkan dengan melihat lebih dekat enkripsi, aliran, pelacakan tautan terdistribusi, dan jurnal perubahan. Kedua artikel membawa Anda lebih dalam dari yang lain, menyajikan perubahan pada disk dan perilaku internal fitur baru ini.
Satu hal yang tidak saya bicarakan dalam artikel adalah bagaimana NTFS untuk Windows NT 4 tidak benar-benar versi
Temukan tautan ke semua publikasi kami di www.sysinternals.com/publ.htm.
SYSINTERNALS AT WWW.MICROSOFT.COM
Sysinternals telah muncul di beberapa artikel Microsoft Knowledge Base (KB) baru sejak buletin terakhir, dan saya juga telah melacak beberapa artikel KB yang lebih lama yang merujuk pada Sysinternals.
Q260513 PRB: Terjadi Kesalahan Saat Anda Menginstal Produk Visual Studio
http://support.microsoft.com/support/kb/articles/Q260/5/13.ASP
Artikel ini merekomendasikan pembaca menggunakan Filemon dan Regmon untuk memecahkan masalah penginstalan Microsoft Visual Studio.Q202258 XADM: Sistem Tidak Dapat Menemukan Jalur yang Ditentukan - ID No: 0cx002003
http://support.microsoft.com/support/kb/articles/Q202/2/58.ASP
Microsoft benar-benar memanah pengguna menggunakan Filemon untuk memecahkan masalah peningkatan paket layanan Exchange 5.0, lengkap dengan contoh baris output Filemon dan rekomendasi tentang menyiapkan filter.Q269383 PRB: Pesan 'Kesalahan Mengakses Registri Sistem' Saat Menampilkan Referensi VB/VBA
http://support.microsoft.com/support/kb/articles/Q269/3/83.ASP
Regmon mendapatkan rujukan dari artikel ini, yang membahas penggunaannya untuk menentukan mengapa dialog Referensi dalam laporan IDE Visual Basic ketika tidak dapat mengakses kunci Registri sebagai akibat dari bug di Seagate Crystal Reports yang menerapkan izin yang salah ke beberapa kunci.Q269251 BUG: Mengotomatiskan Penginstal Windows Mungkin Macet Saat Menghitung Produk
http://support.microsoft.com/support/kb/articles/q269/2/51.asp
Regmon disorot lagi di sini, di mana ia digunakan untuk mengungkapkan bug otomatisasi Penginstal Windows.Q276525 Komputer Anda Mungkin Berhenti Merespons Ketika Anda Memantau Handel Terbuka
http://support.microsoft.com/support/kb/articles/Q276/5/25.asp
NtHandle bertanggung jawab untuk mengungkapkan bug di Windows NT 4 SP6a, di mana kernel akan menggantung dalam kondisi tertentu saat menggunakan NtHandle. Microsoft bekerja dengan saya untuk menyelesaikan masalah dan mereka telah mengeluarkan perbaikan. Jika sistem NT 4 Anda macet saat menggunakan NtHandle, Anda harus mendapatkan tautan berikut ke artikel ini.Q160660 Ntregmon.exe menyebabkan STOP 0x0000001E dengan Paket Layanan Baru
http://support.microsoft.com/support/kb/articles/Q160/6/60.asp
Yang terakhir ini adalah oldie, tapi goodie. Versi pertama Regmon menggunakan nomor panggilan sistem yang dikodekan secara permanen untuk menambal tabel layanan sistem untuk menghubungkan API Registri. Karena nomor panggilan sistem kadang-kadang berubah antara paket layanan, teknik ini cukup rapuh, dan saya tidak berkode defensif untuk mengantisipasi hal ini (terhadap saran Andrew Schulman, yang takut Regmon akan pecah). Benar saja, SP3 memperkenalkan beberapa panggilan sistem baru, dan Regmon akan menabrak sistem ketika mengaitkan panggilan sistem yang salah. Meskipun ini pasti mengganggu beberapa orang, saya mendapatkan artikel KB saya sendiri dari itu!
LISENSI SYSINTERNALS
Meskipun perangkat lunak yang Anda unduh dari Sysinternals adalah freeware, yang berarti Anda dapat menggunakannya tanpa membayar biaya, Anda tidak diizinkan untuk mendistribusikannya kembali, atau untuk memperoleh produk yang Anda distribusikan dari kode sumber Sysinternals. Misalnya, jika Anda bekerja di perusahaan tempat beberapa pengguna menemukan alat Sysinternals tertentu berguna, Anda mungkin tidak memposting alat ke berbagi internal atau situs Web. Sebagai gantinya, tempatkan tautan di situs Anda ke rumah setiap alat di Sysinternals. Ini juga membantu memastikan bahwa rekan kerja Anda selalu mengunduh versi terbaru.
Jika Anda ingin mendistribusikan ulang alat Sysinternals secara internal, dengan produk komersial, atau pada CD shareware, atau Anda ingin mendasarkan produk komersial atau program yang dapat didistribusikan ulang pada kode sumber Sysinternals, kirim email yang menjelaskan detail penggunaan yang Anda inginkan untuk licensing@....
INFORMASI INTERNAL
NFI
Beberapa buletin kembali saya mengungkapkan keberadaan alat DiskEdit yang secara tidak sengaja dikirim Microsoft pada CD NT 4 SP4. DiskEdit adalah penampil struktur sistem file yang sangat kuat, meskipun aneh yang dapat Anda gunakan untuk memeriksa NTFS dan FAT (meskipun itu adalah dukungan NTFS yang menarik) struktur data pada disk. Jika Anda melewatkan CD NT 4 SP 4 dan tertarik untuk menjelajahi struktur NTFS di disk, Anda tidak benar-benar keluar dalam gelap. Microsoft telah merilis alat gratis bernama NFI (Informasi NTFS) yang memahami dan dapat membuang struktur internal volume NTFS. Meskipun outputnya tidak hampir sedetail DiskEdit, itu menarik dan mengungkapkan.
Anda dapat mengunduh NFI sebagai bagian dari Alat Dukungan OEM di http://support.microsoft.com/support/kb/articles/q253/0/66.asp. Menjalankan NFI dengan nama file akan mencadangkan rekaman MFT NTFS untuk file tersebut. Contoh berikut menunjukkan NFI yang mencadangkan catatan MFT untuk $Quota
file metadata, file yang hanya ada jika Anda mengaktifkan manajemen kuota pada volume:
C:\nfi c:\$extend\$quota
File 24
\$Extend\$Quota
$STANDARD_INFORMATION (resident)
$FILE_NAME (resident)
$INDEX_ROOT $O (resident)
$INDEX_ROOT $Q (resident)
Output menunjukkan bahwa file menempati entri ke-24 dalam MFT (indeks filenya adalah 24), dan berisi empat atribut, termasuk informasi standar, nama file, dan dua akar indeks (dan indeks pada dasarnya adalah daftar entri yang disatukan, seperti direktori). Saya menjelaskan bagaimana NTFS menggunakan $Quota
indeks dalam seri Majalah Windows 2000 terbaru saya di NTFS v5.
Untuk mencadangkan semua file pada volume, tentukan huruf drive pada baris perintah NFI tanpa nama file misalnya nfi c:
. Anda akan melihat daftar setiap entri MFT, termasuk semua file metadata.
NFI memiliki beberapa talenta lain, seperti kemampuan untuk menerjemahkan nomor sektor ke dalam file tempatnya berada. Ingin tahu apa sektor file 2345 di drive C:
? Gunakan perntah nfi c: 2345
. Perhatikan bahwa ini gagal pada volume SOFTWARE-RAID seperti set volume dan set stripe. NFI berfungsi pada NT 4 dan Windows 2000.
KUNCI REGISTRI WIN9X TERSEMBUNYI
Dua masalah yang lalu saya mengatakan bahwa saya akan membahas "kunci Registri Win9x tersembunyi" di buletin berikut, dan beberapa dari Anda mengingatkan saya bahwa saya lupa. Jadi bulan ini saya akan memberi tahu Anda tentang kunci Registri tersembunyi di Windows 9x.
Beberapa tahun yang lalu saya menemukan cara untuk membuat kunci Registri tersembunyi di Windows NT. Dengan tersembunyi, maksud saya bahwa, meskipun Anda dapat melihat kunci yang diakses oleh aplikasi yang membuatnya dengan Regmon, Anda tidak dapat menulis program Win32 untuk melihat nilai kunci, Anda juga tidak dapat melihat kunci dengan editor Regedit atau Regedt32 Registri. Kunci tersembunyi berguna untuk menyimpan data yang Anda tidak ingin pengguna akhir dapat memodifikasi, seperti tanggal batas waktu produk uji coba.
Trik untuk membuat kunci Registri tersembunyi adalah realisasi saya bahwa API NT asli, yang merupakan antarmuka panggilan sistem tempat API Win32 dibangun, mengharuskan kunci Registri ditentukan sebagai string Unicode yang dihitung.
String Unicode yang dihitung adalah string yang panjangnya ditunjukkan oleh bidang panjang, bukan keberadaan terminator null. Dengan menggunakan API asli, Anda dapat membuat kunci Registri yang berisi karakter null, seperti "test\0test"
. Karena API kunci Registri WIN32 API didasarkan pada string yang dihentikan null, tidak ada cara untuk membuka kunci Registri yang berisi terminator null menggunakan API Win32. Jika Anda mencoba meneruskan contoh nama kunci sebelumnya ke RegOpenKey
atau RegCreateKey
akan diperlakukan sebagai "test"
, dengan string terpotong pada karakter null. Karena semua editor Registri yang ada, termasuk yang dibundel dengan Windows NT dan Windows 2000, gunakan API Win32, aplikasi yang menggunakan API asli untuk membuat nama yang disematkan karakter null secara efektif membuat kunci tersembunyi.
Metode ini berfungsi pada Windows NT, tetapi bagaimana dengan Windows 9x? Saya tidak berpikir ada cara untuk membuat kunci Registri tersembunyi di Windows 9x sampai seseorang mengirim email kepada saya dengan file log Regmon yang menunjukkan Internet Explorer (IE) mengakses kunci yang tidak muncul di Regedit. Untuk melihat ini sendiri, mulai Regmon dan atur yang berikut ini termasuk filter: "policydata". Kemudian mulai IE (ini berfungsi untuk semua versi IE 4 dan IE 5) dan kunjungi situs web. Jika Anda tidak melihat output apa pun di Regmon, buka dialog konfigurasi opsi IE dan pastikan bahwa Content Advisor diaktifkan.
Jika Content Advisor diaktifkan, atau pernah diaktifkan pada sistem Anda, Anda akan melihat akses ke HKLM\PolicyDat
kunci dan subkuntangnya. Namun, Anda tidak akan menemukan kunci PolicyData saat HKEY_LOCAL_MACHINE
Anda melihat di Regedit. Luangkan waktu sebentar dan lihat apakah Anda dapat mencari tahu apa yang terjadi.
Jawabannya adalah bahwa IE secara dinamis memuat sarang Registri menggunakan RegLoadKey
API Win32, membaca nilai yang dibutuhkan, lalu membongkar sarang dengan RegUnloadKey
. Sarang diberi nama C:\Winows\System\Ratings.pol
- file tersembunyi dan baca-saja, tetapi Anda dapat mengungkapkannya dengan mengetik attrib –r –h c:\windows\system\ratings.pol
.
Jejak yang Anda lihat di Regmon menunjukkan informasi yang dicari Content Advisor di sarang. Jika Anda ingin menjelajahi kontennya sendiri, unduh utilitas Regload saya dari www.sysinternals.com/regload.zip dan jalankan dengan sintaks berikut: regload test c:\windows\system\ratings.pol
. Kemudian buka Regedit dan telusuri HKLM\test
. Nilai yang akan Anda temukan sesuai dengan pengaturan yang Anda tentukan di Content Advisor, dan terkait dengan file konfigurasi bernama dalam Users\FileName0
nilai di sarang. Nilai biasanya menunjuk ke C:\Windows\System\RSACi.rat
, file peringkat yang ditentukan oleh Asosiasi Peringkat Konten Internet. Kebetulan, Anda mungkin melihat nilai dengan nama "PleaseMom" yang agak lucu di pengaturan Registri Content Advisor, misalnya di bawah HKLM\Test\Users\Default
. Nilai ini berasal dari kotak centang "Supervisor dapat mengetik kata sandi untuk memungkinkan pengguna melihat konten terbatas" di halaman Umum dialog pengaturan Content Advisor.
Alasan Microsoft akan mengaburkan keberadaan nilai Registri ini harus jelas. Namun, ada kelemahan yang cukup serius dalam desain mereka. Perhatikan bahwa saat mengaktifkan Content Advisor, Anda harus menentukan kata sandi yang melindungi dialog pengaturan Content Advisor. Kata sandi ini disimpan di HKLM\Software\Microsoft\Windows\CurrentVersion\Policies\Ratings\Key
. Hapus nilai tersebut dan, presto, Anda dapat mengakses pengaturan Content Advisor tanpa memasukkan kata sandi! Sekarang jika pengembang IE mengalami masalah untuk mengaburkan pengaturan Content Advisor, mengapa mereka membiarkan pintu belakang ini nongkrong di tempat terbuka? Desain keamanan Microsoft yang khas, saya kira. By the way, untuk membongkar kunci yang Anda muat dengan Regload cukup ketik regload test
.
APA YANG AKAN TERJADI
PANGGILAN SISTEM WHISTLER BARU
Whistler adalah evolusi inkremental dari sistem operasi Windows 2000 dengan fokus pada peningkatan keandalan dan migrasi pengguna yang mudah dari sistem operasi Windows 9x. Namun, itu termasuk beberapa perubahan kernel. Yang paling terlihat adalah beberapa panggilan sistem baru dan diekspor (tersedia untuk digunakan oleh driver perangkat) fungsi kernel. Lain kali saya akan memberi Anda pratinjau API kernel baru ini.
Terima kasih telah membaca Sysinternals Newsletter.
Diterbitkan Kamis, 30 November 2000 19:05 oleh ottoh
[Arsip Buletin ^] [< Volume 2, Nomor 4] [Volume 3, Nomor 1 >]