Windows内部解析サービス
豊田孝の「IT談話館」 Windowsメモリダンプ解析を依頼する WinDbgとシステム分析




 本「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として提供される時代に入り、その内部は頻繁に更新されています。更新内容の多くは、いろいろな事情から、公にされることはほとんどありません。最新のユーザー空間とカーネル空間に関する信頼できる情報を取得するには、インターネットなどでは語られることのない高度な内部解析技術が必須とされています。時代が求める人材の育成と技術の習得には、「時間と予算の投資」が必要です。




ビジネスメニュー




「Windowsメモリダンプ解析サービス」のご案内
Windowsメモリダンプ解析技術

Copyright©豊田孝 2004- 2024
本日は2024-04-23です。