本「
IT談話館」一般公開記事は、10年以上の実務経験を持つ上級Windowsエンジニアを想定しています。
本館は、Windowsカーネル深層を解析し、クラッシュ原因をはじめとするシステム内の「異様な動き」を検出・分析する
超高度な技術と実績を保有しています。
WinDbg、WMI、システムロガー(基礎)
WindowsはSaaSとして提供される時代に入り、その内部は頻繁に更新されています。更新内容の多くは、いろいろな事情と理由から、公にされることはほとんどありません。
Windows 10の短周期の内部更新は、性能向上と互換性維持に加え、ML/DL/AI時代への対応と位置付けられています。簡単に表現すれば、Windows 10はCloudサービスと連携しながらBig Dataを収集・蓄積する「ソフトウェアセンサー」、という役割を担っています。本「IT談話館」は、そのソフトウェアセンサーのユーザー空間とカーネル空間を独自の解析コードで詳しく解析する技術を保有し、「Windowsメモリダンプ解析サービス」を提供しています。
メモリダンプを解析すると、システム内の「異様な動き」を検出・解析することができます。「異様な動き」の中には、システムパフォーマンスの低下、既存アプリの動作異常、あるいは、セキュリティー脅威なども含まれます。本館サービスをご利用の際には、所属チーム内でご協議の上、「ご連絡」ください。
本稿では、Etw LoggerとWMIの初歩的な関係を紹介します。Etw LoggerのEtwはEvent Trace for Windows、WMIはWindows Management Instrumentationそれぞれの略語であり、基本的には、システム管理者向けのツール基盤です。Etw LoggerとWMIは、次のように、Windows XP時代にはそれほど密接な統合関係にあったわけではありません。
kd> vertarget
Windows XP Kernel Version 2600 (Service Pack 2) UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp_sp2_gdr.070227-2254
Machine Name:
Kernel base = 0x804d9000 PsLoadedModuleList = 0x8055c620
Debug session time: Wed Jun 4 19:50:12.855 2008 (UTC + 9:00)
System Uptime: 0 days 0:09:06.425
kd> !wmitrace.strdump
This command requires a minimum of Vista on the target.
この実行結果は、Etw LoggerとWMIの関係がWindows Vistaから本格的にカーネル内部で統合されたことを宣言していますが、新しいバージョンのWinDbgは次のような異なる結果を返してきます。
kd> vertarget
Windows XP Kernel Version 2600 (Service Pack 2) UP Free x86 compatible
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 2600.xpsp_sp2_gdr.070227-2254
Machine Name:
Kernel base = 0x804d9000 PsLoadedModuleList = 0x8055c620
Debug session time: Wed Jun 4 19:50:12.855 2008 (UTC + 9:00)
System Uptime: 0 days 0:09:06.425
kd> !wmitrace.strdump
This command requires a minimum of Win7 on the target.
WinDbgはWindowsシステムそのものをデバッグ、あるいは、品質を向上するツールとして設計されている性格上、カーネルレベルの最新機能はいち早くWinDbgに統合されるのが基本ですが、少なくとも、Windows XPに加え、VistaでもWinDbgとの統合が進んでいない印象です。
Windows 7以降の環境で採取された「カーネルメモリダンプやActive Memory Dump」をWinDbgにロードし、上記と同一のコマンドを実行すると、次のような情報が返されてきます。
1: kd> vertarget
Windows 10 Kernel Version 17134 MP (2 procs) Free x64
Product: WinNt, suite: TerminalServer SingleUserTS
Built by: 17134.1.amd64fre.rs4_release.180410-1804
Machine Name:
Kernel base = 0xfffff802`b820d000 PsLoadedModuleList = 0xfffff802`b85bb170
Debug session time: Thu Aug 16 12:02:05.563 2018 (UTC + 9:00)
System Uptime: 0 days 3:54:33.418
1: kd> !wmitrace.strdump
(WmiTrace) StrDump Generic
LoggerContext Array @ 0xFFFFAA81DDEAE4C0 [64 Elements]
Logger Id 0x02 @ 0xFFFFAA81E915A480 Named 'Circular Kernel Context Logger'
Logger Id 0x03 @ 0xFFFFAA81DE1BD040 Named 'Eventlog-Security'
Logger Id 0x04 @ 0xFFFFAA81DDF3BAC0 Named 'AppModel'
Logger Id 0x05 @ 0xFFFFAA81E0D28040 Named 'MpWppTracing-20180816-080950-00000003-ffffffff'
Logger Id 0x06 @ 0xFFFFAA81DDFEDA80 Named 'DefenderApiLogger'
Logger Id 0x07 @ 0xFFFFAA81DDFE7040 Named 'DefenderAuditLogger'
Logger Id 0x08 @ 0xFFFFAA81DDFE6040 Named 'DiagLog'
Logger Id 0x09 @ 0xFFFFAA81DDFE5040 Named 'EventLog-Application'
Logger Id 0x0a @ 0xFFFFAA81DE1BF040 Named 'EventLog-ForwardedEvents'
Logger Id 0x0b @ 0xFFFFAA81DE1BE040 Named 'EventLog-Microsoft-Windows-Sysmon-Operational'
Logger Id 0x0c @ 0xFFFFAA81DE1BC040 Named 'EventLog-System'
Logger Id 0x0d @ 0xFFFFAA81DE239040 Named 'FaceRecoTel'
Logger Id 0x0e @ 0xFFFFAA81DE238040 Named 'FaceUnlock'
Logger Id 0x0f @ 0xFFFFAA81DE237040 Named 'LwtNetLog'
Logger Id 0x10 @ 0xFFFFAA81DE2358C0 Named 'Microsoft Security Client'
Logger Id 0x11 @ 0xFFFFAA81DE235300 Named 'Microsoft Security Client OOBE'
Logger Id 0x12 @ 0xFFFFAA81DE22BAC0 Named 'NtfsLog'
Logger Id 0x13 @ 0xFFFFAA81E8F02040 Named '8696EAC4-1288-4288-A4EE-49EE431B0AD9'
Logger Id 0x14 @ 0xFFFFAA81DE22A540 Named 'TileStore'
Logger Id 0x15 @ 0xFFFFAA81DE228040 Named 'UBPM'
Logger Id 0x16 @ 0xFFFFAA81DE227900 Named 'WdiContextLog'
Logger Id 0x17 @ 0xFFFFAA81DE225AC0 Named 'WiFiSession'
Logger Id 0x18 @ 0xFFFFAA81E07FF9C0 Named 'umstartup'
Logger Id 0x19 @ 0xFFFFAA81E7849040 Named 'UserNotPresentTraceSession'
Logger Id 0x1a @ 0xFFFFAA81E784F040 Named 'COM'
Logger Id 0x1b @ 0xFFFFAA81EA7FF980 Named 'Terminal-Services-LSM'
Logger Id 0x1c @ 0xFFFFAA81E90B8A80 Named 'Terminal-Services-RCM'
Logger Id 0x1d @ 0xFFFFAA81E101FAC0 Named 'UserMgr'
Logger Id 0x1e @ 0xFFFFAA81E80AE040 Named 'WFP-IPsec Diagnostics'
Logger Id 0x1f @ 0xFFFFAA81E81459C0 Named 'SYSMON TRACE'
Logger Id 0x20 @ 0xFFFFAA81DFF9D040 Named 'SHS-08162018-080849-7-5f'
Logger Id 0x21 @ 0xFFFFAA81E7FA6340 Named 'MSMQ'
Logger Id 0x22 @ 0xFFFFAA81E863E040 Named 'WDSC-08162018-080851-7-20'
Logger Id 0x23 @ 0xFFFFAA81E8A98040 Named 'Diagtrack-Listener'
Logger Id 0x24 @ 0xFFFFAA81EA92E040 Named 'ScreenOnPowerStudyTraceSession'
Logger Id 0x25 @ 0xFFFFAA81EB7A4040 Named 'NetCfgTrace'
現在登録されているEtwロガーがNamed欄に表示されてきます。一覧を見ると、たとえば、「Eventlog-Security」や「EventLog-System」などの日常的に馴染みのあるロガーが含まれています。また、米MicrosoftのAzureチームを率いるMark Russinovich氏作成の「Sysmon」がインストールされ、実行中であることも分かります。
一口にEtwロガーといっても、次のように、個々のロガーには固有の特徴があります。
-Thread->0x0000000000000000 LoggerId->0x02 LoggerName->Circular Kernel Context Logger
Security->0 RT->0 Auto->1 KT->1
LogFileName->
+Thread->0xffffaa81de1bd700 LoggerId->0x03 LoggerName->Eventlog-Security
Security->0 RT->1 Auto->1 KT->0
LogFileName->
-Thread->0x0000000000000000 LoggerId->0x04 LoggerName->AppModel
Security->0 RT->0 Auto->1 KT->0
LogFileName->
+Thread->0xffffaa81e87c2700 LoggerId->0x05 LoggerName->MpWppTracing-20180816-080950-00000003-ffffffff
Security->0 RT->0 Auto->0 KT->0
LogFileName->C:\ProgramData\Microsoft\Windows Defender\Support\MpWppTracing-20180816-080950-00000003-ffffffff.bin
+Thread->0xffffaa81ddfe8040 LoggerId->0x06 LoggerName->DefenderApiLogger
Security->1 RT->1 Auto->1 KT->0
LogFileName->
+Thread->0xffffaa81ddfe7700 LoggerId->0x07 LoggerName->DefenderAuditLogger
Security->1 RT->1 Auto->1 KT->0
LogFileName->
+Thread->0xffffaa81ddfe6700 LoggerId->0x08 LoggerName->DiagLog
Security->0 RT->1 Auto->1 KT->0
LogFileName->
+Thread->0xffffaa81ddfe5700 LoggerId->0x09 LoggerName->EventLog-Application
Security->0 RT->1 Auto->1 KT->0
LogFileName->
+Thread->0xffffaa81de1bf700 LoggerId->0x0a LoggerName->EventLog-ForwardedEvents
Security->0 RT->1 Auto->1 KT->0
LogFileName->
+Thread->0xffffaa81de1be700 LoggerId->0x0b LoggerName->EventLog-Microsoft-Windows-Sysmon-Operational
Security->0 RT->1 Auto->1 KT->0
LogFileName->
+Thread->0xffffaa81de1bc700 LoggerId->0x0c LoggerName->EventLog-System
Security->0 RT->1 Auto->1 KT->0
LogFileName->
+Thread->0xffffaa81de239700 LoggerId->0x0d LoggerName->FaceRecoTel
Security->0 RT->0 Auto->1 KT->0
LogFileName->%SystemRoot%
+Thread->0xffffaa81de238700 LoggerId->0x0e LoggerName->FaceUnlock
Security->0 RT->0 Auto->1 KT->0
LogFileName->%SystemRoot%
+Thread->0xffffaa81de237700 LoggerId->0x0f LoggerName->LwtNetLog
Security->0 RT->0 Auto->1 KT->0
LogFileName->C:\WINDOWS\System32\LogFiles\WMI\LwtNetLog.etl
+Thread->0xffffaa81de230040 LoggerId->0x10 LoggerName->Microsoft Security Client
Security->0 RT->0 Auto->1 KT->0
LogFileName->C:\ProgramData\Microsoft\Microsoft Security Client\Support\Application.etl
+Thread->0xffffaa81de22b040 LoggerId->0x11 LoggerName->Microsoft Security Client OOBE
Security->0 RT->0 Auto->1 KT->0
LogFileName->C:\ProgramData\Microsoft\Microsoft Security Client\Support\EppOobe.etl
-Thread->0x0000000000000000 LoggerId->0x12 LoggerName->NtfsLog
Security->0 RT->0 Auto->1 KT->0
LogFileName->
+Thread->0xffffaa81de861080 LoggerId->0x13 LoggerName->8696EAC4-1288-4288-A4EE-49EE431B0AD9
Security->0 RT->0 Auto->0 KT->0
LogFileName->C:\WINDOWS\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows\DeliveryOptimization\Logs\dosvc.20180815_231328_285.etl
-Thread->0x0000000000000000 LoggerId->0x14 LoggerName->TileStore
Security->0 RT->0 Auto->1 KT->0
LogFileName->
+Thread->0xffffaa81de226040 LoggerId->0x15 LoggerName->UBPM
Security->0 RT->1 Auto->1 KT->0
LogFileName->
+Thread->0xffffaa81de225040 LoggerId->0x16 LoggerName->WdiContextLog
Security->0 RT->0 Auto->1 KT->0
LogFileName->C:\WINDOWS\System32\WDI\LogFiles\WdiContextLog.etl.002
+Thread->0xffffaa81de224040 LoggerId->0x17 LoggerName->WiFiSession
Security->0 RT->0 Auto->1 KT->0
LogFileName->%SystemRoot%\System32\LogFiles\WMI\Wifi.etl
+Thread->0xffffaa81df92f700 LoggerId->0x18 LoggerName->umstartup
Security->0 RT->0 Auto->0 KT->0
LogFileName->C:\WINDOWS\system32\umstartup.etl
+Thread->0xffffaa81e6de8700 LoggerId->0x19 LoggerName->UserNotPresentTraceSession
Security->0 RT->0 Auto->0 KT->0
LogFileName->C:\WINDOWS\system32\SleepStudy\UserNotPresentSession.etl
-Thread->0x0000000000000000 LoggerId->0x1a LoggerName->COM
Security->0 RT->0 Auto->0 KT->0
LogFileName->
+Thread->0xffffaa81e78424c0 LoggerId->0x1b LoggerName->Terminal-Services-LSM
Security->0 RT->0 Auto->0 KT->0
LogFileName->C:\WINDOWS\system32\LogFiles\WMI\Terminal-Services-LSM-20180815-230833.etl
+Thread->0xffffaa81e784c4c0 LoggerId->0x1c LoggerName->Terminal-Services-RCM
Security->0 RT->0 Auto->0 KT->0
LogFileName->C:\WINDOWS\system32\LogFiles\WMI\Terminal-Services-RCM-20180815-230833.etl
+Thread->0xffffaa81e101c700 LoggerId->0x1d LoggerName->UserMgr
Security->0 RT->0 Auto->0 KT->0
LogFileName->C:\WINDOWS\system32\UserMgrLog.etl
+Thread->0xffffaa81e80f4700 LoggerId->0x1e LoggerName->WFP-IPsec Diagnostics
Security->0 RT->1 Auto->0 KT->0
LogFileName->C:\ProgramData\Microsoft\Windows\wfp\wfpdiag.etl
+Thread->0xffffaa81e8186080 LoggerId->0x1f LoggerName->SYSMON TRACE
Security->0 RT->1 Auto->0 KT->0
LogFileName->
+Thread->0xffffaa81e7fa7080 LoggerId->0x20 LoggerName->SHS-08162018-080849-7-5f
Security->0 RT->0 Auto->0 KT->0
LogFileName->C:\ProgramData\Microsoft\Windows Security Health\Logs\SHS-08162018-080849-7-5f-17134.1.amd64fre.rs4_release.180410-1804.etl
+Thread->0xffffaa81e863c240 LoggerId->0x21 LoggerName->MSMQ
Security->0 RT->0 Auto->0 KT->0
LogFileName->C:\WINDOWS\ServiceProfiles\NetworkService\msmqlog.bin
+Thread->0xffffaa81dfe6f700 LoggerId->0x22 LoggerName->WDSC-08162018-080851-7-20
Security->0 RT->0 Auto->0 KT->0
LogFileName->C:\ProgramData\Microsoft\Windows Security Health\Logs\WDSC-08162018-080851-7-20-17134.1.amd64fre.rs4_release.180410-1804.etl
+Thread->0xffffaa81e8a98700 LoggerId->0x23 LoggerName->Diagtrack-Listener
Security->0 RT->1 Auto->0 KT->0
LogFileName->
+Thread->0xffffaa81df310080 LoggerId->0x24 LoggerName->ScreenOnPowerStudyTraceSession
Security->0 RT->0 Auto->0 KT->0
LogFileName->C:\WINDOWS\system32\SleepStudy\ScreenOn\ScreenOnPowerStudyTraceSession-2018-08-16-10-23-19.etl
+Thread->0xffffaa81eb71b700 LoggerId->0x25 LoggerName->NetCfgTrace
Security->0 RT->0 Auto->0 KT->0
LogFileName->C:\WINDOWS\Logs\NetSetup\service.0.etl
この情報は本館の「独自解析コード」で取得しています。解析コードのロジックを作業目的に応じて変更すれば、この情報を高度なシステム健康度診断に活用できます。本館主筆の「豊田孝」はWindows内部解析分野では世界の先頭を走っています。
情報内のThreadはロガーシステムスレッド、RTはRealTime、KTはKernelTrace、をそれぞれ示します。ロガースレッドを持たず、KTが有効となっているロガーは「Circular Kernel Context Logger」だけですが、このロガー(正確には、カーネルそのもの)のトレースデータはXPerf相当データであり、WPAなどの分析ツールにロードすることができます。
Etwロガーは、記録内容をETLなどのファイルに格納するロガーとメモリ内に直接保存するロガーに大別できます。後者のロガーの場合、File欄が次のように空白になります。
LoggerId->0x02 File->
LoggerId->0x03 File->
LoggerId->0x04 File->
LoggerId->0x05 File->C:\ProgramData\Microsoft\Windows Defender\Support\MpWppTracing-20180816-080950-00000003-ffffffff.bin
LoggerId->0x06 File->
LoggerId->0x07 File->
LoggerId->0x08 File->
LoggerId->0x09 File->
LoggerId->0x0a File->
LoggerId->0x0b File->
LoggerId->0x0c File->
LoggerId->0x0d File->%SystemRoot%
LoggerId->0x0e File->%SystemRoot%
LoggerId->0x0f File->C:\WINDOWS\System32\LogFiles\WMI\LwtNetLog.etl
LoggerId->0x10 File->C:\ProgramData\Microsoft\Microsoft Security Client\Support\Application.etl
LoggerId->0x11 File->C:\ProgramData\Microsoft\Microsoft Security Client\Support\EppOobe.etl
LoggerId->0x12 File->
LoggerId->0x13 File->C:\WINDOWS\ServiceProfiles\NetworkService\AppData\Local\Microsoft\Windows\DeliveryOptimization\Logs\dosvc.20180815_231328_285.etl
LoggerId->0x14 File->
LoggerId->0x15 File->
LoggerId->0x16 File->C:\WINDOWS\System32\WDI\LogFiles\WdiContextLog.etl.002
LoggerId->0x17 File->%SystemRoot%\System32\LogFiles\WMI\Wifi.etl
LoggerId->0x18 File->C:\WINDOWS\system32\umstartup.etl
LoggerId->0x19 File->C:\WINDOWS\system32\SleepStudy\UserNotPresentSession.etl
LoggerId->0x1a File->
LoggerId->0x1b File->C:\WINDOWS\system32\LogFiles\WMI\Terminal-Services-LSM-20180815-230833.etl
LoggerId->0x1c File->C:\WINDOWS\system32\LogFiles\WMI\Terminal-Services-RCM-20180815-230833.etl
LoggerId->0x1d File->C:\WINDOWS\system32\UserMgrLog.etl
LoggerId->0x1e File->C:\ProgramData\Microsoft\Windows\wfp\wfpdiag.etl
LoggerId->0x1f File->
LoggerId->0x20 File->C:\ProgramData\Microsoft\Windows Security Health\Logs\SHS-08162018-080849-7-5f-17134.1.amd64fre.rs4_release.180410-1804.etl
LoggerId->0x21 File->C:\WINDOWS\ServiceProfiles\NetworkService\msmqlog.bin
LoggerId->0x22 File->C:\ProgramData\Microsoft\Windows Security Health\Logs\WDSC-08162018-080851-7-20-17134.1.amd64fre.rs4_release.180410-1804.etl
LoggerId->0x23 File->
LoggerId->0x24 File->C:\WINDOWS\system32\SleepStudy\ScreenOn\ScreenOnPowerStudyTraceSession-2018-08-16-10-23-19.etl
LoggerId->0x25 File->C:\WINDOWS\Logs\NetSetup\service.0.etl
情報内の赤色の「LoggerId->0x0b File->」は「Sysmon」ですが、ファイルを作成せず、トレースデータをメモリ内に保存しています。そのメモリ内の保存内容を確認したい場合には、次のようなコマンドを実行し、保存内容を取り出すことができます。
1: kd> !wmitrace.eventlogdump b
[---]
==========
Event 5 :
============
<Event xmlns='http://schemas.microsoft.com/win/2004/08/events/event'>
<System>
<Provider Name='Microsoft-Windows-Sysmon' Guid='{5770385f-c22a-43e0-bf4c-06f5698ffbd9}'/>
<EventID> 1 </EventID>
<Version> 5 </Version>
<Level> 4 </Level>
<Task> 1 </Task>
<Opcode> 0 </Opcode>
<Keywords> 0x8000000000000000 </Keywords>
<TimeCreated SystemTime='2018-08-16T03:01:53.962647300Z'/>
<EventRecordID> 5 </EventRecordID>
<Correlation/>
<Execution ProcessID='2224' ThreadID='3836' ProcessorID='0' KernelTime='1615' UserTime='1972'/>
<Channel> </Channel>
<Computer> Toyota-PC </Computer>
<Security UserID='S-1-5-18'/>
</System>
<EventData>
<Data Name='UtcTime'> 2018-08-16 03:01:53.916 </Data>
<Data Name='ProcessGuid'> {95979B25-E921-5B74-0000-001079B64200} </Data>
<Data Name='ProcessId'> 8492 </Data>
<Data Name='Image'> C:\Windows\System32\svchost.exe </Data>
<Data Name='CommandLine'> c:\windows\system32\svchost.exe -k localsystemnetworkrestricted -p -s Netman </Data>
<Data Name='CurrentDirectory'> C:\WINDOWS\system32\ </Data>
<Data Name='User'> NT AUTHORITY\SYSTEM </Data>
<Data Name='LogonGuid'> {95979B25-B263-5B74-0000-0020E7030000} </Data>
<Data Name='LogonId'> 0x3e7 </Data>
<Data Name='TerminalSessionId'> 0 </Data>
<Data Name='IntegrityLevel'> System </Data>
<Data Name='Hashes'> MD5=32569E403279B3FD2EDB7EBD036273FA,IMPHASH=3A8297483C1777054C7BAFEA5E6A8853 </Data>
<Data Name='ParentProcessGuid'> {95979B25-B260-5B74-0000-0010C4A60000} </Data>
<Data Name='ParentProcessId'> 712 </Data>
<Data Name='ParentImage'> C:\Windows\System32\services.exe </Data>
<Data Name='ParentCommandLine'> C:\WINDOWS\system32\services.exe </Data>
</EventData>
</Event>
TimeCreated SystemTime='2018-08-16T03:01:53.962647300Z'
Publisher name: Microsoft-Windows-Sysmon
Event message:
Process Create:
UtcTime: 2018-08-16 03:01:53.916
ProcessGuid: {95979B25-E921-5B74-0000-001079B64200}
ProcessId: 8492
Image: C:\Windows\System32\svchost.exe
CommandLine: c:\windows\system32\svchost.exe -k localsystemnetworkrestricted -p -s Netman
CurrentDirectory: C:\WINDOWS\system32\
User: NT AUTHORITY\SYSTEM
LogonGuid: {95979B25-B263-5B74-0000-0020E7030000}
LogonId: 0x3E7
TerminalSessionId: 0
IntegrityLevel: System
Hashes: MD5=32569E403279B3FD2EDB7EBD036273FA,IMPHASH=3A8297483C1777054C7BAFEA5E6A8853
ParentProcessGuid: {95979B25-B260-5B74-0000-0010C4A60000}
ParentProcessId: 712
ParentImage: C:\Windows\System32\services.exe
ParentCommandLine: C:\WINDOWS\system32\services.exe
[---]
この情報は、親プロセス「services.exe」(ParentProcessId: 712)が子プロセス「svchost.exe」(ProcessId: 8492)を起動した時点での動作背景を示しています。実はEventLogでも同様の情報を確認することができます。この親子関係が不自然な場合には、WinDbg環境でカーネルレベルの高度な解析作業にそのまま進むことができます。
1: kd> !process 0n8492 0
Searching for Process with Cid == 212c
PROCESS ffffaa81eaf86080
SessionId: 0 Cid: 212c Peb: 437ee4e000 ParentCid: 02c8
DirBase: 1116f0000 ObjectTable: ffffe606ea891500 HandleCount: 212.
Image: svchost.exe
1: kd> dt _kprocess ffffaa81eaf86080 Header.
ntdll!_KPROCESS
+0x000 Header :
+0x000 Lock : 0n11927555
+0x000 LockNV : 0n11927555
+0x000 Type : 0x3 ''
+0x001 Signalling : 0 ''
+0x002 Size : 0xb6 ''
+0x003 Reserved1 : 0 ''
+0x000 TimerType : 0x3 ''
+0x001 TimerControlFlags : 0 ''
+0x001 Absolute : 0y0
+0x001 Wake : 0y0
+0x001 EncodedTolerableDelay : 0y000000 (0)
+0x002 Hand : 0xb6 ''
+0x003 TimerMiscFlags : 0 ''
+0x003 Index : 0y000000 (0)
+0x003 Inserted : 0y0
+0x003 Expired : 0y0
+0x000 Timer2Type : 0x3 ''
+0x001 Timer2Flags : 0 ''
+0x001 Timer2Inserted : 0y0
+0x001 Timer2Expiring : 0y0
+0x001 Timer2CancelPending : 0y0
+0x001 Timer2SetPending : 0y0
+0x001 Timer2Running : 0y0
+0x001 Timer2Disabled : 0y0
+0x001 Timer2ReservedFlags : 0y00
+0x002 Timer2ComponentId : 0xb6 ''
+0x003 Timer2RelativeId : 0 ''
+0x000 QueueType : 0x3 ''
+0x001 QueueControlFlags : 0 ''
+0x001 Abandoned : 0y0
+0x001 DisableIncrement : 0y0
+0x001 QueueReservedControlFlags : 0y000000 (0)
+0x002 QueueSize : 0xb6 ''
+0x003 QueueReserved : 0 ''
+0x000 ThreadType : 0x3 ''
+0x001 ThreadReserved : 0 ''
+0x002 ThreadControlFlags : 0xb6 ''
+0x002 CycleProfiling : 0y0
+0x002 CounterProfiling : 0y1
+0x002 GroupScheduling : 0y1
+0x002 AffinitySet : 0y0
+0x002 Tagged : 0y1
+0x002 EnergyProfiling : 0y1
+0x002 SchedulerAssist : 0y0
+0x002 ThreadReservedControlFlags : 0y1
+0x003 DebugActive : 0 ''
+0x003 ActiveDR7 : 0y0
+0x003 Instrumented : 0y0
+0x003 Minimal : 0y0
+0x003 Reserved4 : 0y000
+0x003 UmsScheduled : 0y0
+0x003 UmsPrimary : 0y0
+0x000 MutantType : 0x3 ''
+0x001 MutantSize : 0 ''
+0x002 DpcActive : 0xb6 ''
+0x003 MutantReserved : 0 ''
+0x004 SignalState : 0n0
+0x008 WaitListHead : _LIST_ENTRY [ 0xffffaa81`eb342f90 - 0xffffaa81`eb342f90 ]
1: kd> dt _kwait_block 0xffffaa81`eb342f90
ntdll!_KWAIT_BLOCK
+0x000 WaitListEntry : _LIST_ENTRY [ 0xffffaa81`eaf86088 - 0xffffaa81`eaf86088 ]
+0x010 WaitType : 0x2 ''
+0x011 BlockState : 0x4 ''
+0x012 WaitKey : 0
+0x014 SpareLong : 0n0
+0x018 Thread : 0xffffaa81`e0d224c0 _KTHREAD
+0x018 NotificationQueue : 0xffffaa81`e0d224c0 _KQUEUE
+0x020 Object : 0xffffaa81`eaf86080 Void
+0x028 SparePtr : (null)
WindowsはSaaSとして提供される時代に入り、その内部は頻繁に更新されています。更新内容の多くは、いろいろな事情から、公にされることはほとんどありません。最新のユーザー空間とカーネル空間に関する信頼できる情報を取得するには、インターネットなどでは語られることのない高度な内部解析技術が必須とされています。時代が求める人材の育成と技術の習得には、「時間と予算の投資」が必要です。