2019/12/11

Window 10 如何開機進Safe mode, Uefi, WinPE ? 什麼是WinRE?

首先要知道這個東西, Windows 修復環境 (Windows RE)
此畫面就是WinRE的環境, 常用於開機異常或開機進階選項, 微軟說明進入WinRE方法

WinRE為Vista版本開始有的修復功能, 官方說明: 「Windows 修復環境」 (WinRE) 是一種復原環境, 可以修復無法開機之作業系統的常見原因。 WinRE 是以 Windows 預先安裝環境 (Windows PE) 為基礎, 並可使用其他驅動程式、語言、Windows PE 選用元件和其他疑難排解和診斷工具進行自訂。

如何進winPE

其實微軟的邏輯還是一樣, 就是WinPE是一套小型的作業系統, 用以安裝與修復等功能
先進入WinRE之後, 選擇命令提示字元(command prompt)
會跳出X:\ 的partition的 command line 就是我們熟悉的WinPE介面囉!

指令WinPE裡關機: wpeutil shutdown
指令WinPE裡 重新啟動: wpeutil reboot

如何進safe mode安全模式

微軟Windows 2000/XP/Vista/7的安全模式可以透過在啟動時不斷按F8鍵進入。Windows 8以後的Windows作業系統預設無法通過F8進入安全模式。
方法一: 先進WinRE的畫面, 然後選 Startup settings

會看到這個畫面

重新開機之後,會看到選項清單。
選取 4 或按 F4 以在 [安全模式] 中啟動電腦。
選取 5 或按 F5 來使用 [安全模式 (含網路功能)]。

方法二: 透過 msconfig設定
使用這個方法要注意,是固定性的修改、而不是一次性的,所以如果沒有改回來,就會變成每次開機都是安全模式。

方法三: 透過 bcdedit 設定
使用這個方法要注意,是固定性的修改、而不是一次性的,所以如果沒有改回來,就會變成每次開機都是安全模式。
啟用安全模式 – 輸入:
bcdedit /set {default} safeboot minimal
啟用安全模式含網路功能 – 輸入:
bcdedit /set {default} safeboot network
關閉安全模式 – 輸入:
bcdedit /deletevalue {default} safeboot

2019/12/03

Windbg 指令與分析之教學筆記

追朔根源就是微軟的工具, 因此必須閱讀官方手冊:
1. 微軟教學:Debugging Tools for Windows (WinDbg, KD, CDB, NTSD)
2. 微軟教學: ACPI Debugging
3. 微軟教學: Getting Started with WinDbg (Kernel-Mode)
4. 微軟說明:debugger commands

有幾個系列的影片教學, 可以身歷其境的感受一下 windbg的強大, 分別是:
1. 影片教學: WinDbg Basics for Malware Analysis
2. 影片教學: Windows Kernel Programming Tutorials for Beginners

3. 教學 Remote debugging

4. 微軟教學影片: Debugging KMDF Drivers

!load wdfkd.dll   #載入Windows Driver Framework Extensions (Wdfkd.dll), 有更多好用的指令!chain        #列出所有已加載的debugger extension!wdfhelp      #ugger extension!wdfhelp      #幫助說明!wdflogdump   #顯示 WDF In-flight Recorder log records!wdfldr       #顯示目前bound to WDF的drivers資訊  !wdftmffile!wdfdriverinfo!wdfhandle!wdfobject!wdfdevice!wdfusbdevice!wdfopenhandles!wdfqueue!wdfreuest

其他在網路上的先進們分享知識的 Windbg專欄部落格:
1. hgy413的专栏windbg
2. 匠心十年: WinDbg 命令手册

或是特別說明一些其他技巧與步驟, 小軟體工具之類:
1. symbol: WinDbg 設定 symbol file path 的四種方法

先知道格式吧:
srv*{cache path}*{symbol server}

我的寫法填入Windbg GUI下拉的Sympol File Path:
srv*C:\Symbol*https://msdl.microsoft.com/download/symbols

2. symbol: 使用SymChk獲取符號文件
3. PDB: 你可能會想知道的關於 .PDB 檔的一些事
4. break point: WinDBG 技巧:设断点命令详解(bp, bu, bm, ba 以及bl, bc, bd, be)
5. BSOD情況分析: Trace BSOD with WinDbg
6. 如何進安全模式:幾種 Windows 10 進入安全模式的方法
因為有時候無法開機的原因,可能是系統中的某些驅動程式出了問題,或是在載入某些開機時要一起載入的程式,導致無法開機。而當我們選用安全模式啟動時,僅載入開機時最必要的檔案,其它多餘的檔案、驅動程式一律都不載入,因此如果無法進入Windows桌面是這方面問題所導致的,那麼用安全模式就應該可以順利排除問題,讓你可以進入Windows系統桌面。

7.什麼是SysWow64: SysWow64檔夾,是64位Windows用來存放32位元Windows系統檔的地方。
8.win10的快速啟動是什麼:win10電腦的「快速啟動」模式你知多少?
9.基本:9招解決 Windows 系統問題或故障,不用靠別人、自己來搞定

一些有用的工具:

1. 小軟體: BlueScreenview
2. 小軟體: Windows Repair
3. 小軟體: CCleaner
4. 微軟 Process explorer: 類似Windows「工作管理員」的程式,主要功能就是列出目前電腦中正在運行的全部程式以及跟運行中程式相關的全部詳細資料

5. 微軟 Process dump: 命令行工具, 它的主要目的是監控應用程序的CPU異常動向, 並在此異常時生成crash dump文件, 供研發人員和管理員確定問題發生的原因.你還可以把它作為生成dump的工具使用在其他的腳本中.ProcDump與Procexp一樣是Windows平台上的內部調試工具,Procexp採用圖形界面體現系統整體及個別進程的性能信息,而ProcDump則與我們在Unix平台上使用的性能分析工具類似使用CLI命令行界面。

6. 微軟 LiveKD:使用Microsoft內核調試器檢查系統。

Windbg 基本操作指令:

  • 開啟crash dump檔案路徑為 File > Open crash dump
  • 以下指令載入symbols:
  • .symfix C:\symbols: 設定local端的symbol目錄位置
  • .reload : 重載一次
  • .sympath : 顯示目前的symbol path

Windbg一般與幫助指令:

指令: ?
顯示說明基本的各種輸入常規指令

0:000> ?Open debugger.chm for complete debugger documentationB[C|D|E][] - clear/disable/enable breakpoint(s)BL - list breakpointsBA    - set processor breakpointBP 
- set soft breakpointD[type][] - dump memoryDT [-n|y] [[mod!]name] [[-n|y]fields] [address] [-l list] [-a[]|c|i|o|r[#]|v] - dump using type informationDV [] - dump local variablesDX [-r[#]] - display C++ expression using extension model (e.g.: NatVis)E[type]
[] - enter memory valuesG[H|N] [=
[
...]] - goK - stacktraceKP - stacktrace with source argumentsLM[k|l|u|v] - list modulesLN - list nearest symbolsP [=] [] - step overQ - quitR [[ [= ]]] - view or set registersS[] - search memorySX [{e|d|i|n} [-c "Cmd1"] [-c2 "Cmd2"] [-h] {Exception|Event|*}] - event filterT [=
] [] - trace intoU [] - unassembleversion - show debuggee and debugger versionX [<*|module>!]<*|symbol> - view symbols? - display expression?? - display C++ expression$< - take input from a command fileHit Enter... unary ops: + - not by wo dwo qwo poi hi low binary ops: + - * / mod(%) and(&) xor(^) or(|) comparisons: == (=) < > != operands: number in current radix, public symbol, : b (byte), w (word), d[s] (doubleword [with symbols]), a (ascii), c (dword and Char), u (unicode), l (list) f (float), D (double), s|S (ascii/unicode string) q (quadword) : [(nt | )!] ( can include ? and *) :
:
L User-mode options:~ - list threads status~#s - set default thread| - list processes status|#s - set default processx64 options:DG - dump selector : [r|e]ax, [r|e]bx, [r|e]cx, [r|e]dx, [r|e]si, [r|e]di, [r|e]bp, [r|e]sp, [r|e]ip, [e]fl, r8-r15 with b/w/d subregisters al, ah, bl, bh, cl, ch, dl, dh, cs, ds, es, fs, gs, ss sil, dil, bpl, spl dr0, dr1, dr2, dr3, dr6, dr7 fpcw, fpsw, fptw, st0-st7, mm0-mm7 xmm0-xmm15 : iopl, of, df, if, tf, sf, zf, af, pf, cf : #<16-bit protect-mode [seg:]address>, &Open debugger.chm for complete debugger documentation

指令: .help
說明系統指令
第一排還有快速連結個字母開頭的

0:000> .help  A B C D E F G H I J K L M N O P Q R S T U V W X Y Z All. commands:   .allow_exec_cmds [0|1] - control execution commands   .allow_image_mapping [0|1] - control on-demand image file mapping   .apply_dbp [] - add current data breakpoint state to a                            register context   .asm [] - set disassembly options   .asm- [] - clear disassembly options   .attach  - attach to  at next execution   .block {  } - brackets a set of commands for nested execution   .break - break out of the enclosing loop   .cache [] - virtual memory cache control   .call (, , ...) - run a function in the debuggee   .catch {  } - catch failures in commands   .chain - list current extensions   .clients - list currently active clients   .continue - continue the enclosing loop   .copysym []  - copy current symbol files to a directory   .create  - create a new process   .createdir [] [] - control process creation options   .cxr 
- dump context record at specified address k* after this gives cxr stack .dbgdbg - attach a debugger to the current debugger .debug_sw_wow [0|1] - allow interaction with software WOW emulation .detach - detach from the current process/dump .dml_file - output DML content from file .dml_flow - show basic block code flow .dml_start [] - navigable overview of debugger activities .do { } () - execute until is zero .drivers - This command was removed -- use 'lm' or .reload -l) .dump [] - create a dump file on the host system .dumpcab [] - create a CAB for an open dump .dumpdebug - display detailed information about the dump file .dvalloc [] - VirtualAlloc memory in the debuggee .dvfree [] - VirtualFree memory in the debuggee .echo [""|] - echo string .echotime - output debugger time .echotimestamps [0|1] - toggle timestamp output on events .ecxr - dump context record for current exception .excr - dump context record for current exception .effmach [] - change current machine type .else { } - if/then/else conditional execution .elsif () { } [] - if/then/else conditional execution .enable_long_status [0|1] - dump LONG types in default base .enable_unicode [0|1] - dump USHORT array/pointers and unicode strings .endsrv - disable the given engine server .endpsrv - cause the current session's remote server to exit .enumtag - enumerate available tagged data .eventlog - display log of recent events .events - display and select available events .eventstr - display any event strings registered by debuggee .exepath [[;...]] - set executable search path .exepath+ [[;...]] - append executable search path .expr - control expression evaluator .exptr
- do .exr and .cxr for EXCEPTION_POINTERS .exr
- dump exception record at specified address .extmatch [] - display all extensions matching pattern .extpath [[;...]] - set extension search path .extpath+ [[;...]] - append extension search path .f+ - set current stack frame to caller of current frame .f- - set current stack frame to callee of current frame .fiber
- sets context of fiber at address resets context if no address specified .fiximports - attempts to link imports for images .fnent
- dump function entry for the given code address .fnret [] - display formatted return value .for ( ; ; ) { } - execute and until is zero .force_radix_output [0|1] - dump integer types in default base .force_system_init [] - force pending systems to initialize if possible .force_tb - forcibly allow branch tracing .foreach [opts] ( { } ) { } - execute for each token in the output of .fpo - control override FPO information .frame [] - set current stack frame for locals .formats - displays expression result in many formats .help [] - display this help .holdmem [range] - hold and compare memory data .if () { } [] - if/then/else conditional execution .ignore_missing_pages [0|1] - control kernel summary dump missing page error message .imgscan - scan memory for PE images .jdinfo [/u] - interpret AeDebug information .kframes - set default stack trace depth .lastevent - display the last event that occurred .leave - exit the enclosing .catch .lines - toggle line symbol loading .load - add this extension DLL to the extension chain .loadby - add the extension DLL in the module directory to the extension chain .locale [] - set the current locale .logfile - display log status .logopen [] - open new log file .logappend [] - append to log file .logclose - close log file .netsyms [0|1] - allow/disallow net symbol paths .netuse [] - manage net connections .noshell - disable shell commands .noversion - disable extension version checking .nvlist - display the set of .NATVIS files loaded into the debugger .nvload - load a .NATVIS file .nvunload - unload a .NATVIS file .nvunloadall - unload all .NATVIS files .ofilter - filter debuggee output against the given pattern .opendump - open a dump file .outmask - set bits in the current output mask .outmask- - clear bits in the current output mask .pcmd [] - control per-prompt command .pop [] - pop state .prefer_dml [0|1] - control DML mode default .printf "", - formatted output .process [
] - sets implicit process resets default if no address specified .process_info - display security related information of current process .prompt_allow [] - control what information can be displayed at the prompt .push [] - push state .quit_lock [] - locks session against unexpected quit .readmem - read raw memory from a file .record_branches [0|1] - controls recording of processor branching .reload [[=
,]] - reload symbols .restart - request a session restart .remote - start remote.exe server .secure [0|1] - disallow operations dangerous for the host .scriptlist - display the set of scripts loaded into the debugger .scriptload - load a script file .scriptproviders - display the set of script providers in the debugger .scriptunload - unload a script file .send_file - send files to remote server .server - start engine server .servers - list active remoting servers .setdll - debugger will search for extensions in this DLL first .settings - manage settings .shell [] - execute shell command .show_read_failures [] - control extra read failure output .show_sym_failures [] - control extra symbol failure output .sleep - debugger sleeps for given duration useful for allowing access to a machine that's broken in on an ntsd -d .srcfix [] - fix source search path .srcfix+ [] - append fixed source search path .srcnoisy [0|1] - control verbose source loading output .srcpath [[;...]] - set source search path .srcpath+ [[;...]] - append source search path .step_filter [] ["[;...]"] - Set symbol patterns to skip when stepping .symfix [] - fix symbol search path .symfix+ [] - append fixed symbol search path .symopt - set symbol options .symopt+ - set symbol options .symopt- - clear symbol options .sympath [[;...]] - set symbol search path .sympath+ [[;...]] - append symbol search path .thread [
] - sets context of thread at address resets default context if no address specified .time - displays session time information .timezone - display timezone information .ttime - displays thread time information .tlist - list running processes .typeopt - set/clear type options .unload - remove this extension DLL from the list of extension DLLs .unloadall - remove all extension DLLs from the list of extensions DLLs .wake - wake up a .sleep'ing debugger .while () { } - execute while is non-zero .writemem - write raw memory to a file .rrestart - register current session for Application Restart .urestart - unregister current session from Application Restart .inline - query the state whether debuggers should query inline functions .stackprovider - query the state whether debugger should query stack dump providers .stkwalk_force_frame_pointer - query or set the state whether debuggers should unwind stack solely based on frame pointer .hideinjectedcode [] - Hide injected calls from stepping in source mode .enablepackagedebug - Enable debugging for UWP application. .disablepackagedebug - Disable debugging for UWP application. .suspendpackage - Suspends a UWP application. .resumepackage - Resumes a UWP application. .querypackage - Displays the state of a UWP application. .querypackages - Lists all UWP applications and their state. .createpackageapp [] - Enables debugging and launches a UWP application. .terminatepackageapp - Terminates all processes for UWP application. .activatepackagebgtask - Enables debugging and launches a UWP background task.Use ".hh " or open debugger.chm in the debuggers directory to getdetailed documentation on a command.

指令:.chain
列出所有已加載的調試器擴展 (List Debugger Extensions)

0:000> .chainExtension DLL search Path:    C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\WINXP;C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\winext;C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\winext\arcade;C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\pri;C:\Program Files (x86)\Windows Kits\10\Debuggers\x86;C:\Program Files (x86)\Windows Kits\10\Debuggers\x86;C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Intel\iCLS Client\;C:\Program Files\Intel\iCLS Client\;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files (x86)\Windows Kits\8.1\Windows Performance Toolkit\;C:\Program Files\Microsoft SQL Server\110\Tools\Binn\;C:\WINDOWS\SysWOW64\WindowsPowerShell\v1.0\Modules\TShell\TShell\;C:\Program Files\Java\jdk1.8.0_45\bin;C:\Program Files\nodejs\;C:\Program Files\TortoiseSVN\bin;C:\Program Files\Microsoft SQL Server\130\Tools\Binn\;C:\Program Files\Microsoft\Web Platform Installer\;C:\Program Files (x86)\Microsoft ASP.NET\ASP.NET Web Pages\v1.0\;C:\Program Files (x86)\Windows Kits\8.0\Windows Performance Toolkit\;C:\Users\Jamie\AppData\Local\Microsoft\WindowsApps;Extension DLL chain:    dbghelp: image 10.0.14321.1024, API 10.0.6, built Sat Jul 16 09:29:50 2016        [path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\dbghelp.dll]    ext: image 10.0.14321.1024, API 1.0.0, built Sat Jul 16 09:29:44 2016        [path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\winext\ext.dll]    exts: image 10.0.14321.1024, API 1.0.0, built Sat Jul 16 09:28:14 2016        [path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\WINXP\exts.dll]    uext: image 10.0.14321.1024, API 1.0.0, built Sat Jul 16 09:28:11 2016        [path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\winext\uext.dll]    ntsdexts: image 10.0.14393.33, API 1.0.0, built Thu Jul 28 13:23:56 2016        [path: C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\WINXP\ntsdexts.dll]

指令: .extmatch
.extmatch /D /e XXXXX * 顯示由當前加載的與指定模式匹配的擴展DLL導出的擴展命令

0:000> .extmatch /D /e ntsdexts *!ntsdexts.critsec!ntsdexts.dp!ntsdexts.dreg!ntsdexts.dt!ntsdexts.gatom!ntsdexts.handle!ntsdexts.help!ntsdexts.hleak!ntsdexts.htrace!ntsdexts.locks!ntsdexts.runaway!ntsdexts.threadtoken0:000> .extmatch /D /e uext *!uext.evlog!uext.findstack!uext.handle!uext.help!uext.mapped_file!uext.runaway!uext.uniqstack!uext.vadump!uext.vprot

指令:.hh
打開 WinDbg 的幫助文件

指令: .restart
重新啟動被調試的應用程式(Restart Target Application)

指令: version
顯示調試器版本信息和已加載的調試器擴展

指令: vercommand
顯示調試器啟動文件的路徑

0:000> vercommandcommand line: '"C:\Program Files (x86)\Windows Kits\10\Debuggers\x86\windbg.exe" '

指令: vertarget
顯示目標機器Microsoft Windows操作系统版本資訊

0:000> vertargetWindows 10 Version 14393 MP (4 procs) Free x64Product: WinNt, suite: SingleUserTSkernel32.dll version: 10.0.14393.2214 (rs1_release_1.180402-1758)Machine Name:Debug session time: Tue Dec 10 10:26:46.000 2019 (UTC + 8:00)System Uptime: 39 days 17:48:11.976Process Uptime: 39 days 17:45:01.000  Kernel time: 0 days 0:00:04.000  User time: 0 days 0:00:02.000

指令: .effmach
顯示目標機器的處理器模資訊
.effmach .
.effmach #
.effmach x86 | amd64 | ia64 | ebc

0:000> .effmachEffective machine: x64 (AMD64)

指令: .cls
清理螢幕

指令: .echo
輸出字串 e.g. .echo “Hello World”

指令: .time
顯示系統記錄的各種時間

組合鍵: ctrl+alt+v
能切換詳細模式的打開和關閉
打開詳細模式後,一些顯示命令會產生更詳細的輸出,發送給調試器的每個模塊加載操作都會被顯示出來
並且操作系統每次加載驅動或都DLL也會提示

Windbg 模塊Module加载命令

指令: lm
列出已載入模塊(List Loaded Modules)
lm: List modules
lmv: List module versions
lmvm: List specific module versions
lm m ModuleName

0:000> lmstart             end                 module name00000000`6a030000 00000000`6a0f9000   msvcr80    (deferred)             00000001`40000000 00000001`40016000   valWBFPolicyService   (deferred)             00007ffa`a9110000 00007ffa`a9171000   wevtapi    (deferred)             00007ffa`aab40000 00007ffa`aab68000   devobj     (deferred)             00007ffa`aada0000 00007ffa`aadf4000   mintdh     (deferred)             00007ffa`aae00000 00007ffa`aaeae000   tdh        (deferred)             00007ffa`ab940000 00007ffa`ab96b000   bcrypt     (deferred)             00007ffa`abde0000 00007ffa`abdf0000   msasn1     (deferred)             00007ffa`abdf0000 00007ffa`ac00d000   KERNELBASE   (pdb symbols)          c:\symbols\kernelbase.pdb\C1CB335438FC484B842D02CB20116D3A1\kernelbase.pdb00007ffa`ac010000 00007ffa`ac190000   gdi32full   (deferred)             00007ffa`ac190000 00007ffa`ac1ae000   win32u     (deferred)             00007ffa`ac1b0000 00007ffa`ac1f2000   cfgmgr32   (deferred)             00007ffa`ac8e0000 00007ffa`acaa9000   crypt32    (deferred)             00007ffa`acb60000 00007ffa`acc55000   ucrtbase   (deferred)             00007ffa`acc60000 00007ffa`accfc000   msvcp_win   (deferred)             00007ffa`acd60000 00007ffa`acdca000   bcryptPrimitives   (deferred)             00007ffa`ad120000 00007ffa`ad1df000   oleaut32   (deferred)             00007ffa`ad240000 00007ffa`ad508000   combase    (deferred)             00007ffa`ad5b0000 00007ffa`ad9d9000   setupapi   (deferred)             00007ffa`ad9e0000 00007ffa`adb01000   rpcrt4     (deferred)             00007ffa`adb10000 00007ffa`adb69000   sechost    (deferred)             00007ffa`adbe0000 00007ffa`adc14000   gdi32      (deferred)             00007ffa`adc20000 00007ffa`adcbe000   msvcrt     (deferred)             00007ffa`af330000 00007ffa`af3dc000   kernel32   (deferred)             00007ffa`af3e0000 00007ffa`af518000   ole32      (deferred)             00007ffa`af550000 00007ffa`af6b5000   user32     (deferred)             00007ffa`af6c0000 00007ffa`af762000   advapi32   (deferred)             00007ffa`af850000 00007ffa`af86c000   imagehlp   (deferred)             00007ffa`af870000 00007ffa`af878000   psapi      (deferred)             00007ffa`af8f0000 00007ffa`afac2000   ntdll      (pdb symbols)          c:\symbols\ntdll.pdb\3FED89B476364D33AA918AE74196DAF21\ntdll.pdb

指令: !dlls
列出所有加載的模塊和加載數量

0:000> !dlls This is Win8 with the loader DAG.0x00592920: C:\WINDOWS\system32\valWBFPolicyService.exe      Base   0x140000000  EntryPoint  0x140007710  Size        0x00016000    DdagNode     0x00592a50      Flags  0x000022cc  TlsIndex    0x00000000  LoadCount   0xffffffff    NodeRefCount 0x00000000                          LDRP_LOAD_NOTIFICATIONS_SENT             LDRP_IMAGE_DLL0x00592790: C:\WINDOWS\SYSTEM32\ntdll.dll      Base   0x7ffaaf8f0000  EntryPoint  0x00000000  Size        0x001d2000    DdagNode     0x005928c0      Flags  0x0000a2c4  TlsIndex    0x00000000  LoadCount   0xffffffff    NodeRefCount 0x00000000                          LDRP_IMAGE_DLL0x00592db0: C:\WINDOWS\System32\KERNEL32.DLL      Base   0x7ffaaf330000  EntryPoint  0x7ffaaf338400  Size        0x000ac000    DdagNode     0x00592ee0      Flags  0x000ca2cc  TlsIndex    0x00000000  LoadCount   0xffffffff    NodeRefCount 0x00000000                          LDRP_LOAD_NOTIFICATIONS_SENT             LDRP_IMAGE_DLL             LDRP_DONT_CALL_FOR_THREADS             LDRP_PROCESS_ATTACH_CALLED...

指令: !lmi
显示模块的详细信息,包括加载符号信息
!lmi Module

0:000> !lmi kernel32Loaded Module Info: [kernel32]          Module: kernel32   Base Address: 00007ffaaf330000     Image Name: kernel32.dll   Machine Type: 34404 (X64)     Time Stamp: 5ac2f8e6 Tue Apr  3 11:45:42 2018           Size: ac000       CheckSum: b4571Characteristics: 2022  Debug Data Dirs: Type  Size     VA  Pointer             CODEVIEW    25, 84b40,   83140 RSDS - GUID: {996833D4-6FC4-412D-A9DE-305E863A2B34}               Age: 1, Pdb: kernel32.pdb                   ??   4ec, 84b68,   83168 [Data not mapped]     Image Type: MEMORY   - Image read successfully from loaded memory.    Symbol Type: PDB      - Symbols loaded successfully from image header.                 c:\symbols\kernel32.pdb\996833D46FC4412DA9DE305E863A2B341\kernel32.pdb    Load Report: public symbols , not source indexed                  c:\symbols\kernel32.pdb\996833D46FC4412DA9DE305E863A2B341\kernel32.pdb

Windbg 符号Symbol加载命令

指令 ld
加載指定模塊的符號 (Load Symbols), 注意藥此symbol的module是已經載入, 若未載入就先lm該module吧 (範例參考:lm ld x)
ld * 加載所有模塊的符號

0:000> ld *Symbols already loaded for msvcr80Symbols already loaded for valWBFPolicyServiceSymbols already loaded for wevtapiSymbols already loaded for devobjSymbols already loaded for mintdhSymbols already loaded for tdhSymbols already loaded for bcryptSymbols already loaded for msasn1Symbols already loaded for KERNELBASESymbols already loaded for gdi32fullSymbols already loaded for win32uSymbols already loaded for cfgmgr32Symbols already loaded for crypt32Symbols already loaded for ucrtbaseSymbols already loaded for msvcp_winSymbols already loaded for bcryptPrimitivesSymbols already loaded for oleaut32Symbols already loaded for combaseSymbols already loaded for setupapiSymbols already loaded for rpcrt4Symbols already loaded for sechostSymbols already loaded for gdi32Symbols already loaded for msvcrtSymbols already loaded for kernel32Symbols already loaded for ole32Symbols already loaded for user32Symbols already loaded for advapi32Symbols already loaded for imagehlpSymbols already loaded for psapiSymbols already loaded for ntdll

指令 x
搜尋匹配的符号資訊(Examine Symbols)
x [Options] ModuleName!SymbolName 以!為界module與symbol
用法:
x *! 列出所有模块Module

0:000> x *!start             end                 module name00000000`6a030000 00000000`6a0f9000   msvcr80    (deferred)             00000001`40000000 00000001`40016000   valWBFPolicyService   (deferred)             00007ffa`a9110000 00007ffa`a9171000   wevtapi    (deferred)             00007ffa`aab40000 00007ffa`aab68000   devobj     (deferred)             00007ffa`aada0000 00007ffa`aadf4000   mintdh     (deferred)             00007ffa`aae00000 00007ffa`aaeae000   tdh        (deferred)             00007ffa`ab940000 00007ffa`ab96b000   bcrypt     (deferred)             00007ffa`abde0000 00007ffa`abdf0000   msasn1     (deferred)             00007ffa`abdf0000 00007ffa`ac00d000   KERNELBASE   (pdb symbols)          c:\symbols\kernelbase.pdb\C1CB335438FC484B842D02CB20116D3A1\kernelbase.pdb00007ffa`ac010000 00007ffa`ac190000   gdi32full   (deferred)             00007ffa`ac190000 00007ffa`ac1ae000   win32u     (deferred)             00007ffa`ac1b0000 00007ffa`ac1f2000   cfgmgr32   (deferred)             00007ffa`ac8e0000 00007ffa`acaa9000   crypt32    (deferred)             00007ffa`acb60000 00007ffa`acc55000   ucrtbase   (deferred)             00007ffa`acc60000 00007ffa`accfc000   msvcp_win   (deferred)             00007ffa`acd60000 00007ffa`acdca000   bcryptPrimitives   (deferred)             00007ffa`ad120000 00007ffa`ad1df000   oleaut32   (deferred)             00007ffa`ad240000 00007ffa`ad508000   combase    (deferred)             00007ffa`ad5b0000 00007ffa`ad9d9000   setupapi   (deferred)             00007ffa`ad9e0000 00007ffa`adb01000   rpcrt4     (deferred)             00007ffa`adb10000 00007ffa`adb69000   sechost    (deferred)             00007ffa`adbe0000 00007ffa`adc14000   gdi32      (deferred)             00007ffa`adc20000 00007ffa`adcbe000   msvcrt     (deferred)             00007ffa`af330000 00007ffa`af3dc000   kernel32   (deferred)             00007ffa`af3e0000 00007ffa`af518000   ole32      (deferred)             00007ffa`af550000 00007ffa`af6b5000   user32     (deferred)             00007ffa`af6c0000 00007ffa`af762000   advapi32   (deferred)             00007ffa`af850000 00007ffa`af86c000   imagehlp   (deferred)             00007ffa`af870000 00007ffa`af878000   psapi      (deferred)             00007ffa`af8f0000 00007ffa`afac2000   ntdll      (pdb symbols)          c:\symbols\ntdll.pdb\3FED89B476364D33AA918AE74196DAF21\ntdll.pdb

x ntdll!a* 列出 ntdll 模块底下所有a開頭的symbol

0:000> x ntdll!ap*00007ffa`af9648b4 ntdll!AppModelPolicy_GetPolicy (void)00007ffa`af917250 ntdll!ApiSetQueryApiSetPresence (void)00007ffa`afa0d3b0 ntdll!AppModelLibraryLoadFailureSystemBinary = 00007ffa`afa0d420 ntdll!AppModelLibraryLoadFailureApplicationBinary = 00007ffa`af91767c ntdll!ApiSetResolveToHost ()00007ffa`afa0d450 ntdll!AppModelRuntimeProviderId = 00007ffa`afa0d3e0 ntdll!AppModelGenericLibraryLoadFailureNoTermination = 00007ffa`af9177a0 ntdll!ApiSetpSearchForApiSet ()00007ffa`afa0d390 ntdll!AppModelLibraryLoadFailureNgenBinary = 00007ffa`af916b68 ntdll!ApiSetpSearchForApiSetHost ()

指令!sym
獲取符號加載狀態
!sym noisy 讓調試器顯示符號搜索詳細信息
!sym quiet 默認項,不顯示符號搜索信息

指令.sympath
顯示和設置符號搜索路徑
.sympath+ 增加符號搜索路徑
.sympath+ C:\Symbols

指令.symfix
設置符號庫路徑
.sym+ DownstreamStore 添加符號庫路徑

指令 .reload
重新加載符號信息

Windbg 異常分析指令:

指令: dump
.dump d:/test.dump
也就是說可以透過windbg來產生dump檔案
e.g.
產生完整Kernel Mode Dump :
.dump /f C:\memory.dmp

產生 user mode Dump:
.dump /m C:\memory.dmp

產生 User mode + 其他資訊:
.dump /mfh C:\memory.dmp

指令: !analyze
!analyze -v
顯示當前異常的詳細信息
e.g. !analyze –v d:\test.dump

!analyze -hang
診斷線程調用棧上是否有任何線程阻塞了其他線程

!analyze -f
查看異常分析信息,儘管調試器並未診斷出異常

指令: .lastevent
显示最近一次发生的异常或事件

指令: .load wow64exts
指令: !wow64exts.sw
從64位模式切換到了32位

指令: !locks
顯示目前 locks 鎖

指令: !qlocks
顯示目前 spinlock鎖

Windbg 關於memory的指令

指令dt (Display Type)
dt ntdll!*IMAGE* :查找有什麼Headers
以下例子是 notepad在memory查找出PE header的位址, 然後透過dt指令就可以查到定義的結構內容:

指令: .Dvalloc
讓 Windows 以分配到目標進程的更多memory。

指令: r
显示或修改寄存器、浮点寄存器、标志位、伪寄存器和预定义别名。直接用r,会显示当前线程的寄存器状态

指令: d*
显示给定范围memory的内容。
da ASCII 字符
db 字节值和ASCII字符

指令: e*
e命令和d命令非常相似,一個讀取一個寫入編輯
ea ASCII 字符串(不以NULL结尾)。
eb 字节值。

0:000> .dvalloc 100Allocated 1000 bytes starting at 000800000:000> ea 00080000 "i am ansi "0:000> db 00080000 00080000  69 20 61 6d 20 61 6e 73-69 20 00 00 00 00 00 00  i am ansi ...... 

指令u* :
命令显示指定的内存中的程序代码的反汇编。如果要反汇编某一个地址,直接用u命令加地址
ub 指示要反汇编的区域是向后计算的。
uf 命令显示内存中指定函数的反汇编代码。

指令x:
命令显示所有上下文中匹配指定模板的符号。可用字符通配符

指令: s (Search Memory)
搜索内存查找指定模板

指令: dt:
命令显示局部变量、全局变量或数据类型的信息。它也可以仅显示数据类型。即结构和联合(union)的信息
dt最方便处是查找结构体,查找结构体一定要使用dt,不要使用x
PE文件解析
1.dos头:
0:001> dt IMAGE_DOS_HEADER 01230000
2.nt头
e_lfanew定义了真正的PE文件头的相对偏移量RVA
0:001> da 01230000 +0n224
012300e0 “PE”
0:001> dt IMAGE_NT_HEADERS 01230000 +0n224
3.文件头
0:001> dt IMAGE_FILE_HEADER 01230000 +0n224+0x4
4.扩展文件头
0:001> dt _IMAGE_OPTIONAL_HEADER 01230000 +0n224+0x18

指令: dh
!dh 擴展顯示指定映像的頭部。

指令:!address
顯示整個地址空間和使用摘要的信息

0:000> !address     Mapping file section regions...Mapping module regions...Mapping PEB regions...Mapping TEB and stack regions...Mapping heap regions...Mapping page heap regions...Mapping other regions...Mapping stack trace database regions...Mapping activation context regions...        BaseAddress      EndAddress+1        RegionSize     Type       State                 Protect             Usage--------------------------------------------------------------------------------------------------------------------------+        0`00000000        0`00010000        0`00010000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`00010000        0`00020000        0`00010000 MEM_MAPPED  MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 1; Handle: 0000000000010000; Type: Segment]+        0`00020000        0`00021000        0`00001000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                        [............NSDS]+        0`00021000        0`00030000        0`0000f000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`00030000        0`00046000        0`00016000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                      Other      [API Set Map]+        0`00046000        0`00050000        0`0000a000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`00050000        0`00143000        0`000f3000 MEM_PRIVATE MEM_RESERVE                                    Stack      [~0; b60.b64]         0`00143000        0`00146000        0`00003000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE|PAGE_GUARD          Stack      [~0; b60.b64]         0`00146000        0`00150000        0`0000a000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Stack      [~0; b60.b64]+        0`00150000        0`00154000        0`00004000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                      Other      [System Default Activation Context Data]+        0`00154000        0`00160000        0`0000c000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`00160000        0`00161000        0`00001000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                      Other      [Activation Context Data]+        0`00161000        0`00170000        0`0000f000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`00170000        0`00172000        0`00002000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                       [................]+        0`00172000        0`00180000        0`0000e000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`00180000        0`00183000        0`00003000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 0; Handle: 0000000000590000; Type: Front End]         0`00183000        0`0019a000        0`00017000 MEM_PRIVATE MEM_RESERVE                                    Heap       [ID: 0; Handle: 0000000000590000; Type: Front End]+        0`0019a000        0`001a0000        0`00006000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`001a0000        0`001a1000        0`00001000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 2; Handle: 0000000000860000; Type: Front End]         0`001a1000        0`001ba000        0`00019000 MEM_PRIVATE MEM_RESERVE                                    Heap       [ID: 2; Handle: 0000000000860000; Type: Front End]+        0`001ba000        0`001c0000        0`00006000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`001c0000        0`001c1000        0`00001000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                       [................]+        0`001c1000        0`001d0000        0`0000f000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`001d0000        0`001d1000        0`00001000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                       [................]+        0`001d1000        0`001e0000        0`0000f000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`001e0000        0`001e5000        0`00005000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                       [................]+        0`001e5000        0`001f0000        0`0000b000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`001f0000        0`001f4000        0`00004000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                        [RESCDIR.........]+        0`001f4000        0`00200000        0`0000c000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`00200000        0`003be000        0`001be000 MEM_PRIVATE MEM_RESERVE                                               0`003be000        0`003bf000        0`00001000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     PEB        [b60]         0`003bf000        0`003c1000        0`00002000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     TEB        [~0; b60.b64]         0`003c1000        0`003c5000        0`00004000 MEM_PRIVATE MEM_RESERVE                                               0`003c5000        0`003c7000        0`00002000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     TEB        [~1; b60.dc4]         0`003c7000        0`003c9000        0`00002000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     TEB        [~2; b60.e28]         0`003c9000        0`003cb000        0`00002000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     TEB        [~3; b60.e2c]         0`003cb000        0`00400000        0`00035000 MEM_PRIVATE MEM_RESERVE                                      +        0`00400000        0`004c1000        0`000c1000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                        [................]+        0`004c1000        0`004d0000        0`0000f000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`004d0000        0`004ed000        0`0001d000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                        [..........0.5...]         0`004ed000        0`00590000        0`000a3000 MEM_MAPPED  MEM_RESERVE                                      +        0`00590000        0`0068f000        0`000ff000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 0; Handle: 0000000000590000; Type: Segment]         0`0068f000        0`00690000        0`00001000 MEM_PRIVATE MEM_RESERVE                                      +        0`00690000        0`006b0000        0`00020000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                       [................]+        0`006b0000        0`006b3000        0`00003000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                        [MZ..............]+        0`006b3000        0`00790000        0`000dd000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`00790000        0`00791000        0`00001000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 3; Handle: 0000000000cc0000; Type: Front End]         0`00791000        0`007aa000        0`00019000 MEM_PRIVATE MEM_RESERVE                                    Heap       [ID: 3; Handle: 0000000000cc0000; Type: Front End]+        0`007aa000        0`007d0000        0`00026000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`007d0000        0`007d1000        0`00001000 MEM_MAPPED  MEM_COMMIT  PAGE_READWRITE                       [RESCHIT.........]+        0`007d1000        0`00860000        0`0008f000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`00860000        0`00867000        0`00007000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 2; Handle: 0000000000860000; Type: Segment]         0`00867000        0`0086a000        0`00003000 MEM_PRIVATE MEM_RESERVE                                    Heap       [ID: 2; Handle: 0000000000860000; Type: Segment]         0`0086a000        0`0086f000        0`00005000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 2; Handle: 0000000000860000; Type: Segment]         0`0086f000        0`00870000        0`00001000 MEM_PRIVATE MEM_RESERVE                                      +        0`00870000        0`00872000        0`00002000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                        [................]         0`00872000        0`009f0000        0`0017e000 MEM_MAPPED  MEM_RESERVE                                               0`009f0000        0`009f5000        0`00005000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                        [............H...]         0`009f5000        0`009f8000        0`00003000 MEM_MAPPED  MEM_RESERVE                                      +        0`009f8000        0`00a00000        0`00008000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`00a00000        0`00b81000        0`00181000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                      Other      [GDI Shared Handle Table]+        0`00b81000        0`00cc0000        0`0013f000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`00cc0000        0`00ccf000        0`0000f000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 3; Handle: 0000000000cc0000; Type: Segment]         0`00ccf000        0`00cd0000        0`00001000 MEM_PRIVATE MEM_RESERVE                                      +        0`00cd0000        0`00dca000        0`000fa000 MEM_PRIVATE MEM_RESERVE                                    Stack      [~1; b60.dc4]         0`00dca000        0`00dcd000        0`00003000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE|PAGE_GUARD          Stack      [~1; b60.dc4]         0`00dcd000        0`00dd0000        0`00003000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Stack      [~1; b60.dc4]+        0`00dd0000        0`00dfd000        0`0002d000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 3; Handle: 0000000000cc0000; Type: Segment]         0`00dfd000        0`00ecf000        0`000d2000 MEM_PRIVATE MEM_RESERVE                                    Heap       [ID: 3; Handle: 0000000000cc0000; Type: Segment]         0`00ecf000        0`00ed0000        0`00001000 MEM_PRIVATE MEM_RESERVE                                      +        0`00ed0000        0`00fca000        0`000fa000 MEM_PRIVATE MEM_RESERVE                                    Stack      [~2; b60.e28]         0`00fca000        0`00fcd000        0`00003000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE|PAGE_GUARD          Stack      [~2; b60.e28]         0`00fcd000        0`00fd0000        0`00003000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Stack      [~2; b60.e28]+        0`00fd0000        0`010cb000        0`000fb000 MEM_PRIVATE MEM_RESERVE                                    Stack      [~3; b60.e2c]         0`010cb000        0`010ce000        0`00003000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE|PAGE_GUARD          Stack      [~3; b60.e2c]         0`010ce000        0`010d0000        0`00002000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Stack      [~3; b60.e2c]+        0`010d0000        0`01280000        0`001b0000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`01280000        0`012da000        0`0005a000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 2; Handle: 0000000000860000; Type: Segment]         0`012da000        0`0137f000        0`000a5000 MEM_PRIVATE MEM_RESERVE                                    Heap       [ID: 2; Handle: 0000000000860000; Type: Segment]         0`0137f000        0`01380000        0`00001000 MEM_PRIVATE MEM_RESERVE                                      +        0`01380000        0`0177f000        0`003ff000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                        [RESCSEG.........]+        0`0177f000        0`01780000        0`00001000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`01780000        0`0197f000        0`001ff000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 0; Handle: 0000000000590000; Type: Segment]         0`0197f000        0`01980000        0`00001000 MEM_PRIVATE MEM_RESERVE                                      +        0`01980000        0`019f0000        0`00070000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`019f0000        0`01aef000        0`000ff000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 0; Handle: 0000000000590000; Type: Segment]         0`01aef000        0`01af0000        0`00001000 MEM_PRIVATE MEM_RESERVE                                      +        0`01af0000        0`01e84000        0`00394000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                        [RESCSEG.........]+        0`01e84000        0`01e90000        0`0000c000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`01e90000        0`01ea6000        0`00016000 MEM_PRIVATE MEM_COMMIT  PAGE_READWRITE                     Heap       [ID: 0; Handle: 0000000000590000; Type: Segment]         0`01ea6000        0`0228f000        0`003e9000 MEM_PRIVATE MEM_RESERVE                                    Heap       [ID: 0; Handle: 0000000000590000; Type: Segment]         0`0228f000        0`02290000        0`00001000 MEM_PRIVATE MEM_RESERVE                                      +        0`02290000        0`6a030000        0`67da0000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`6a030000        0`6a031000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [msvcr80; "C:\Windows\WinSxS\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9268_none_88e0de612fadfb38\msvcr80.dll"]         0`6a031000        0`6a0cd000        0`0009c000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [msvcr80; "C:\Windows\WinSxS\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9268_none_88e0de612fadfb38\msvcr80.dll"]         0`6a0cd000        0`6a0e9000        0`0001c000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [msvcr80; "C:\Windows\WinSxS\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9268_none_88e0de612fadfb38\msvcr80.dll"]         0`6a0e9000        0`6a0ee000        0`00005000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [msvcr80; "C:\Windows\WinSxS\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9268_none_88e0de612fadfb38\msvcr80.dll"]         0`6a0ee000        0`6a0ef000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [msvcr80; "C:\Windows\WinSxS\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9268_none_88e0de612fadfb38\msvcr80.dll"]         0`6a0ef000        0`6a0f9000        0`0000a000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [msvcr80; "C:\Windows\WinSxS\amd64_microsoft.vc80.crt_1fc8b3b9a1e18e3b_8.0.50727.9268_none_88e0de612fadfb38\msvcr80.dll"]+        0`6a0f9000        0`7ffe0000        0`15ee7000             MEM_FREE    PAGE_NOACCESS                      Free       +        0`7ffe0000        0`7ffe1000        0`00001000 MEM_PRIVATE MEM_COMMIT  PAGE_READONLY                      Other      [User Shared Data]         0`7ffe1000        0`7fff0000        0`0000f000 MEM_PRIVATE MEM_RESERVE                                      +        0`7fff0000        1`40000000        0`c0010000             MEM_FREE    PAGE_NOACCESS                      Free       +        1`40000000        1`40001000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [valWBFPolicyService; "C:\Windows\System32\valWBFPolicyService.exe"]         1`40001000        1`4000b000        0`0000a000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [valWBFPolicyService; "C:\Windows\System32\valWBFPolicyService.exe"]         1`4000b000        1`40011000        0`00006000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [valWBFPolicyService; "C:\Windows\System32\valWBFPolicyService.exe"]         1`40011000        1`40012000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [valWBFPolicyService; "C:\Windows\System32\valWBFPolicyService.exe"]         1`40012000        1`40013000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [valWBFPolicyService; "C:\Windows\System32\valWBFPolicyService.exe"]         1`40013000        1`40015000        0`00002000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [valWBFPolicyService; "C:\Windows\System32\valWBFPolicyService.exe"]         1`40015000        1`40016000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [valWBFPolicyService; "C:\Windows\System32\valWBFPolicyService.exe"]+        1`40016000     7ff5`ffec0000     7ff4`bfeaa000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ff5`ffec0000     7ff5`ffec5000        0`00005000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                      Other      [Read Only Shared Memory]      7ff5`ffec5000     7ff5`fffc0000        0`000fb000 MEM_MAPPED  MEM_RESERVE                                      +     7ff5`fffc0000     7ff5`ffff3000        0`00033000 MEM_MAPPED  MEM_COMMIT  PAGE_READONLY                      Other      [NLS Tables]+     7ff5`ffff3000     7ffa`a9110000        4`a911d000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`a9110000     7ffa`a9111000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [wevtapi; "C:\Windows\System32\wevtapi.dll"]      7ffa`a9111000     7ffa`a914f000        0`0003e000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [wevtapi; "C:\Windows\System32\wevtapi.dll"]      7ffa`a914f000     7ffa`a9168000        0`00019000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [wevtapi; "C:\Windows\System32\wevtapi.dll"]      7ffa`a9168000     7ffa`a9169000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [wevtapi; "C:\Windows\System32\wevtapi.dll"]      7ffa`a9169000     7ffa`a9171000        0`00008000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [wevtapi; "C:\Windows\System32\wevtapi.dll"]+     7ffa`a9171000     7ffa`aab40000        0`019cf000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`aab40000     7ffa`aab41000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [devobj; "C:\Windows\System32\devobj.dll"]      7ffa`aab41000     7ffa`aab59000        0`00018000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [devobj; "C:\Windows\System32\devobj.dll"]      7ffa`aab59000     7ffa`aab62000        0`00009000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [devobj; "C:\Windows\System32\devobj.dll"]      7ffa`aab62000     7ffa`aab63000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [devobj; "C:\Windows\System32\devobj.dll"]      7ffa`aab63000     7ffa`aab68000        0`00005000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [devobj; "C:\Windows\System32\devobj.dll"]+     7ffa`aab68000     7ffa`aada0000        0`00238000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`aada0000     7ffa`aada1000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [mintdh; "C:\Windows\System32\mintdh.dll"]      7ffa`aada1000     7ffa`aadd9000        0`00038000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [mintdh; "C:\Windows\System32\mintdh.dll"]      7ffa`aadd9000     7ffa`aaded000        0`00014000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [mintdh; "C:\Windows\System32\mintdh.dll"]      7ffa`aaded000     7ffa`aadee000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [mintdh; "C:\Windows\System32\mintdh.dll"]      7ffa`aadee000     7ffa`aadf4000        0`00006000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [mintdh; "C:\Windows\System32\mintdh.dll"]+     7ffa`aadf4000     7ffa`aae00000        0`0000c000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`aae00000     7ffa`aae01000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [tdh; "C:\Windows\System32\tdh.dll"]      7ffa`aae01000     7ffa`aae1a000        0`00019000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [tdh; "C:\Windows\System32\tdh.dll"]      7ffa`aae1a000     7ffa`aae75000        0`0005b000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [tdh; "C:\Windows\System32\tdh.dll"]      7ffa`aae75000     7ffa`aae76000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [tdh; "C:\Windows\System32\tdh.dll"]      7ffa`aae76000     7ffa`aaea0000        0`0002a000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [tdh; "C:\Windows\System32\tdh.dll"]      7ffa`aaea0000     7ffa`aaea2000        0`00002000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [tdh; "C:\Windows\System32\tdh.dll"]      7ffa`aaea2000     7ffa`aaea5000        0`00003000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [tdh; "C:\Windows\System32\tdh.dll"]      7ffa`aaea5000     7ffa`aaeae000        0`00009000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [tdh; "C:\Windows\System32\tdh.dll"]+     7ffa`aaeae000     7ffa`ab940000        0`00a92000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`ab940000     7ffa`ab941000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [bcrypt; "C:\Windows\System32\bcrypt.dll"]      7ffa`ab941000     7ffa`ab960000        0`0001f000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [bcrypt; "C:\Windows\System32\bcrypt.dll"]      7ffa`ab960000     7ffa`ab966000        0`00006000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [bcrypt; "C:\Windows\System32\bcrypt.dll"]      7ffa`ab966000     7ffa`ab967000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [bcrypt; "C:\Windows\System32\bcrypt.dll"]      7ffa`ab967000     7ffa`ab96b000        0`00004000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [bcrypt; "C:\Windows\System32\bcrypt.dll"]+     7ffa`ab96b000     7ffa`abde0000        0`00475000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`abde0000     7ffa`abde1000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [msasn1; "C:\Windows\System32\msasn1.dll"]      7ffa`abde1000     7ffa`abde9000        0`00008000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [msasn1; "C:\Windows\System32\msasn1.dll"]      7ffa`abde9000     7ffa`abdec000        0`00003000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [msasn1; "C:\Windows\System32\msasn1.dll"]      7ffa`abdec000     7ffa`abded000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [msasn1; "C:\Windows\System32\msasn1.dll"]      7ffa`abded000     7ffa`abdf0000        0`00003000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [msasn1; "C:\Windows\System32\msasn1.dll"]+     7ffa`abdf0000     7ffa`abdf1000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [KERNELBASE; "C:\Windows\System32\KERNELBASE.dll"]      7ffa`abdf1000     7ffa`abec1000        0`000d0000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [KERNELBASE; "C:\Windows\System32\KERNELBASE.dll"]      7ffa`abec1000     7ffa`abfde000        0`0011d000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [KERNELBASE; "C:\Windows\System32\KERNELBASE.dll"]      7ffa`abfde000     7ffa`abfe2000        0`00004000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [KERNELBASE; "C:\Windows\System32\KERNELBASE.dll"]      7ffa`abfe2000     7ffa`abfe3000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [KERNELBASE; "C:\Windows\System32\KERNELBASE.dll"]      7ffa`abfe3000     7ffa`ac00d000        0`0002a000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [KERNELBASE; "C:\Windows\System32\KERNELBASE.dll"]+     7ffa`ac00d000     7ffa`ac010000        0`00003000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`ac010000     7ffa`ac011000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [gdi32full; "C:\Windows\System32\gdi32full.dll"]      7ffa`ac011000     7ffa`ac0cf000        0`000be000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [gdi32full; "C:\Windows\System32\gdi32full.dll"]      7ffa`ac0cf000     7ffa`ac170000        0`000a1000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [gdi32full; "C:\Windows\System32\gdi32full.dll"]      7ffa`ac170000     7ffa`ac174000        0`00004000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [gdi32full; "C:\Windows\System32\gdi32full.dll"]      7ffa`ac174000     7ffa`ac190000        0`0001c000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [gdi32full; "C:\Windows\System32\gdi32full.dll"]+     7ffa`ac190000     7ffa`ac191000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [win32u; "C:\Windows\System32\win32u.dll"]      7ffa`ac191000     7ffa`ac19a000        0`00009000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [win32u; "C:\Windows\System32\win32u.dll"]      7ffa`ac19a000     7ffa`ac1a7000        0`0000d000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [win32u; "C:\Windows\System32\win32u.dll"]      7ffa`ac1a7000     7ffa`ac1a8000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [win32u; "C:\Windows\System32\win32u.dll"]      7ffa`ac1a8000     7ffa`ac1ae000        0`00006000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [win32u; "C:\Windows\System32\win32u.dll"]+     7ffa`ac1ae000     7ffa`ac1b0000        0`00002000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`ac1b0000     7ffa`ac1b1000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [cfgmgr32; "C:\Windows\System32\cfgmgr32.dll"]      7ffa`ac1b1000     7ffa`ac1de000        0`0002d000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [cfgmgr32; "C:\Windows\System32\cfgmgr32.dll"]      7ffa`ac1de000     7ffa`ac1eb000        0`0000d000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [cfgmgr32; "C:\Windows\System32\cfgmgr32.dll"]      7ffa`ac1eb000     7ffa`ac1ec000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [cfgmgr32; "C:\Windows\System32\cfgmgr32.dll"]      7ffa`ac1ec000     7ffa`ac1f2000        0`00006000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [cfgmgr32; "C:\Windows\System32\cfgmgr32.dll"]+     7ffa`ac1f2000     7ffa`ac8e0000        0`006ee000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`ac8e0000     7ffa`ac8e1000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [crypt32; "C:\Windows\System32\crypt32.dll"]      7ffa`ac8e1000     7ffa`ac9d7000        0`000f6000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [crypt32; "C:\Windows\System32\crypt32.dll"]      7ffa`ac9d7000     7ffa`aca0e000        0`00037000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [crypt32; "C:\Windows\System32\crypt32.dll"]      7ffa`aca0e000     7ffa`aca15000        0`00007000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [crypt32; "C:\Windows\System32\crypt32.dll"]      7ffa`aca15000     7ffa`acaa9000        0`00094000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [crypt32; "C:\Windows\System32\crypt32.dll"]+     7ffa`acaa9000     7ffa`acb60000        0`000b7000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`acb60000     7ffa`acb61000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [ucrtbase; "C:\Windows\System32\ucrtbase.dll"]      7ffa`acb61000     7ffa`acc0c000        0`000ab000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [ucrtbase; "C:\Windows\System32\ucrtbase.dll"]      7ffa`acc0c000     7ffa`acc45000        0`00039000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [ucrtbase; "C:\Windows\System32\ucrtbase.dll"]      7ffa`acc45000     7ffa`acc48000        0`00003000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [ucrtbase; "C:\Windows\System32\ucrtbase.dll"]      7ffa`acc48000     7ffa`acc55000        0`0000d000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [ucrtbase; "C:\Windows\System32\ucrtbase.dll"]+     7ffa`acc55000     7ffa`acc60000        0`0000b000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`acc60000     7ffa`acc61000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [msvcp_win; "C:\Windows\System32\msvcp_win.dll"]      7ffa`acc61000     7ffa`accb2000        0`00051000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [msvcp_win; "C:\Windows\System32\msvcp_win.dll"]      7ffa`accb2000     7ffa`accf1000        0`0003f000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [msvcp_win; "C:\Windows\System32\msvcp_win.dll"]      7ffa`accf1000     7ffa`accf2000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [msvcp_win; "C:\Windows\System32\msvcp_win.dll"]      7ffa`accf2000     7ffa`accf5000        0`00003000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [msvcp_win; "C:\Windows\System32\msvcp_win.dll"]      7ffa`accf5000     7ffa`accfc000        0`00007000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [msvcp_win; "C:\Windows\System32\msvcp_win.dll"]+     7ffa`accfc000     7ffa`acd60000        0`00064000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`acd60000     7ffa`acd61000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [bcryptPrimitives; "C:\Windows\System32\bcryptPrimitives.dll"]      7ffa`acd61000     7ffa`acdb1000        0`00050000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [bcryptPrimitives; "C:\Windows\System32\bcryptPrimitives.dll"]      7ffa`acdb1000     7ffa`acdc4000        0`00013000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [bcryptPrimitives; "C:\Windows\System32\bcryptPrimitives.dll"]      7ffa`acdc4000     7ffa`acdc5000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [bcryptPrimitives; "C:\Windows\System32\bcryptPrimitives.dll"]      7ffa`acdc5000     7ffa`acdca000        0`00005000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [bcryptPrimitives; "C:\Windows\System32\bcryptPrimitives.dll"]+     7ffa`acdca000     7ffa`ad120000        0`00356000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`ad120000     7ffa`ad121000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [oleaut32; "C:\Windows\System32\oleaut32.dll"]      7ffa`ad121000     7ffa`ad1a9000        0`00088000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [oleaut32; "C:\Windows\System32\oleaut32.dll"]      7ffa`ad1a9000     7ffa`ad1ce000        0`00025000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [oleaut32; "C:\Windows\System32\oleaut32.dll"]      7ffa`ad1ce000     7ffa`ad1d1000        0`00003000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [oleaut32; "C:\Windows\System32\oleaut32.dll"]      7ffa`ad1d1000     7ffa`ad1df000        0`0000e000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [oleaut32; "C:\Windows\System32\oleaut32.dll"]+     7ffa`ad1df000     7ffa`ad240000        0`00061000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`ad240000     7ffa`ad241000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [combase; "C:\Windows\System32\combase.dll"]      7ffa`ad241000     7ffa`ad409000        0`001c8000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [combase; "C:\Windows\System32\combase.dll"]      7ffa`ad409000     7ffa`ad4be000        0`000b5000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [combase; "C:\Windows\System32\combase.dll"]      7ffa`ad4be000     7ffa`ad4bf000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [combase; "C:\Windows\System32\combase.dll"]      7ffa`ad4bf000     7ffa`ad4c0000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [combase; "C:\Windows\System32\combase.dll"]      7ffa`ad4c0000     7ffa`ad4c3000        0`00003000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [combase; "C:\Windows\System32\combase.dll"]      7ffa`ad4c3000     7ffa`ad4c4000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [combase; "C:\Windows\System32\combase.dll"]      7ffa`ad4c4000     7ffa`ad508000        0`00044000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [combase; "C:\Windows\System32\combase.dll"]+     7ffa`ad508000     7ffa`ad5b0000        0`000a8000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`ad5b0000     7ffa`ad5b1000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [setupapi; "C:\Windows\System32\setupapi.dll"]      7ffa`ad5b1000     7ffa`ad65e000        0`000ad000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [setupapi; "C:\Windows\System32\setupapi.dll"]      7ffa`ad65e000     7ffa`ad68c000        0`0002e000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [setupapi; "C:\Windows\System32\setupapi.dll"]      7ffa`ad68c000     7ffa`ad68d000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [setupapi; "C:\Windows\System32\setupapi.dll"]      7ffa`ad68d000     7ffa`ad68e000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [setupapi; "C:\Windows\System32\setupapi.dll"]      7ffa`ad68e000     7ffa`ad9d9000        0`0034b000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [setupapi; "C:\Windows\System32\setupapi.dll"]+     7ffa`ad9d9000     7ffa`ad9e0000        0`00007000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`ad9e0000     7ffa`ad9e1000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [rpcrt4; "C:\Windows\System32\rpcrt4.dll"]      7ffa`ad9e1000     7ffa`adac0000        0`000df000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [rpcrt4; "C:\Windows\System32\rpcrt4.dll"]      7ffa`adac0000     7ffa`adaea000        0`0002a000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [rpcrt4; "C:\Windows\System32\rpcrt4.dll"]      7ffa`adaea000     7ffa`adaec000        0`00002000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [rpcrt4; "C:\Windows\System32\rpcrt4.dll"]      7ffa`adaec000     7ffa`adb01000        0`00015000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [rpcrt4; "C:\Windows\System32\rpcrt4.dll"]+     7ffa`adb01000     7ffa`adb10000        0`0000f000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`adb10000     7ffa`adb11000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [sechost; "C:\Windows\System32\sechost.dll"]      7ffa`adb11000     7ffa`adb42000        0`00031000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [sechost; "C:\Windows\System32\sechost.dll"]      7ffa`adb42000     7ffa`adb60000        0`0001e000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [sechost; "C:\Windows\System32\sechost.dll"]      7ffa`adb60000     7ffa`adb61000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [sechost; "C:\Windows\System32\sechost.dll"]      7ffa`adb61000     7ffa`adb62000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [sechost; "C:\Windows\System32\sechost.dll"]      7ffa`adb62000     7ffa`adb63000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [sechost; "C:\Windows\System32\sechost.dll"]      7ffa`adb63000     7ffa`adb69000        0`00006000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [sechost; "C:\Windows\System32\sechost.dll"]+     7ffa`adb69000     7ffa`adbe0000        0`00077000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`adbe0000     7ffa`adbe1000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [gdi32; "C:\Windows\System32\gdi32.dll"]      7ffa`adbe1000     7ffa`adbf3000        0`00012000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [gdi32; "C:\Windows\System32\gdi32.dll"]      7ffa`adbf3000     7ffa`adc0e000        0`0001b000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [gdi32; "C:\Windows\System32\gdi32.dll"]      7ffa`adc0e000     7ffa`adc0f000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [gdi32; "C:\Windows\System32\gdi32.dll"]      7ffa`adc0f000     7ffa`adc14000        0`00005000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [gdi32; "C:\Windows\System32\gdi32.dll"]+     7ffa`adc14000     7ffa`adc20000        0`0000c000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`adc20000     7ffa`adc21000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [msvcrt; "C:\Windows\System32\msvcrt.dll"]      7ffa`adc21000     7ffa`adc96000        0`00075000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [msvcrt; "C:\Windows\System32\msvcrt.dll"]      7ffa`adc96000     7ffa`adcaf000        0`00019000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [msvcrt; "C:\Windows\System32\msvcrt.dll"]      7ffa`adcaf000     7ffa`adcb1000        0`00002000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [msvcrt; "C:\Windows\System32\msvcrt.dll"]      7ffa`adcb1000     7ffa`adcb4000        0`00003000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [msvcrt; "C:\Windows\System32\msvcrt.dll"]      7ffa`adcb4000     7ffa`adcb6000        0`00002000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [msvcrt; "C:\Windows\System32\msvcrt.dll"]      7ffa`adcb6000     7ffa`adcb7000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [msvcrt; "C:\Windows\System32\msvcrt.dll"]      7ffa`adcb7000     7ffa`adcbe000        0`00007000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [msvcrt; "C:\Windows\System32\msvcrt.dll"]+     7ffa`adcbe000     7ffa`af330000        0`01672000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`af330000     7ffa`af331000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [kernel32; "C:\Windows\System32\kernel32.dll"]      7ffa`af331000     7ffa`af3a4000        0`00073000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [kernel32; "C:\Windows\System32\kernel32.dll"]      7ffa`af3a4000     7ffa`af3d3000        0`0002f000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [kernel32; "C:\Windows\System32\kernel32.dll"]      7ffa`af3d3000     7ffa`af3d4000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [kernel32; "C:\Windows\System32\kernel32.dll"]      7ffa`af3d4000     7ffa`af3dc000        0`00008000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [kernel32; "C:\Windows\System32\kernel32.dll"]+     7ffa`af3dc000     7ffa`af3e0000        0`00004000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`af3e0000     7ffa`af3e1000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [ole32; "C:\Windows\System32\ole32.dll"]      7ffa`af3e1000     7ffa`af497000        0`000b6000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [ole32; "C:\Windows\System32\ole32.dll"]      7ffa`af497000     7ffa`af4ee000        0`00057000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [ole32; "C:\Windows\System32\ole32.dll"]      7ffa`af4ee000     7ffa`af4f0000        0`00002000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [ole32; "C:\Windows\System32\ole32.dll"]      7ffa`af4f0000     7ffa`af518000        0`00028000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [ole32; "C:\Windows\System32\ole32.dll"]+     7ffa`af518000     7ffa`af550000        0`00038000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`af550000     7ffa`af551000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [user32; "C:\Windows\System32\user32.dll"]      7ffa`af551000     7ffa`af5ee000        0`0009d000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [user32; "C:\Windows\System32\user32.dll"]      7ffa`af5ee000     7ffa`af60b000        0`0001d000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [user32; "C:\Windows\System32\user32.dll"]      7ffa`af60b000     7ffa`af60d000        0`00002000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [user32; "C:\Windows\System32\user32.dll"]      7ffa`af60d000     7ffa`af6b5000        0`000a8000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [user32; "C:\Windows\System32\user32.dll"]+     7ffa`af6b5000     7ffa`af6c0000        0`0000b000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`af6c0000     7ffa`af6c1000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [advapi32; "C:\Windows\System32\advapi32.dll"]      7ffa`af6c1000     7ffa`af720000        0`0005f000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [advapi32; "C:\Windows\System32\advapi32.dll"]      7ffa`af720000     7ffa`af754000        0`00034000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [advapi32; "C:\Windows\System32\advapi32.dll"]      7ffa`af754000     7ffa`af755000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [advapi32; "C:\Windows\System32\advapi32.dll"]      7ffa`af755000     7ffa`af756000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [advapi32; "C:\Windows\System32\advapi32.dll"]      7ffa`af756000     7ffa`af758000        0`00002000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [advapi32; "C:\Windows\System32\advapi32.dll"]      7ffa`af758000     7ffa`af759000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [advapi32; "C:\Windows\System32\advapi32.dll"]      7ffa`af759000     7ffa`af762000        0`00009000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [advapi32; "C:\Windows\System32\advapi32.dll"]+     7ffa`af762000     7ffa`af850000        0`000ee000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`af850000     7ffa`af851000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [imagehlp; "C:\Windows\System32\imagehlp.dll"]      7ffa`af851000     7ffa`af85c000        0`0000b000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [imagehlp; "C:\Windows\System32\imagehlp.dll"]      7ffa`af85c000     7ffa`af863000        0`00007000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [imagehlp; "C:\Windows\System32\imagehlp.dll"]      7ffa`af863000     7ffa`af864000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [imagehlp; "C:\Windows\System32\imagehlp.dll"]      7ffa`af864000     7ffa`af865000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [imagehlp; "C:\Windows\System32\imagehlp.dll"]      7ffa`af865000     7ffa`af867000        0`00002000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [imagehlp; "C:\Windows\System32\imagehlp.dll"]      7ffa`af867000     7ffa`af86a000        0`00003000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [imagehlp; "C:\Windows\System32\imagehlp.dll"]      7ffa`af86a000     7ffa`af86c000        0`00002000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [imagehlp; "C:\Windows\System32\imagehlp.dll"]+     7ffa`af86c000     7ffa`af870000        0`00004000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`af870000     7ffa`af871000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [psapi; "C:\Windows\System32\psapi.dll"]      7ffa`af871000     7ffa`af872000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [psapi; "C:\Windows\System32\psapi.dll"]      7ffa`af872000     7ffa`af874000        0`00002000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [psapi; "C:\Windows\System32\psapi.dll"]      7ffa`af874000     7ffa`af875000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [psapi; "C:\Windows\System32\psapi.dll"]      7ffa`af875000     7ffa`af878000        0`00003000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [psapi; "C:\Windows\System32\psapi.dll"]+     7ffa`af878000     7ffa`af8f0000        0`00078000             MEM_FREE    PAGE_NOACCESS                      Free       +     7ffa`af8f0000     7ffa`af8f1000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [ntdll; "C:\Windows\System32\ntdll.dll"]      7ffa`af8f1000     7ffa`af9f9000        0`00108000 MEM_IMAGE   MEM_COMMIT  PAGE_EXECUTE_READ                  Image      [ntdll; "C:\Windows\System32\ntdll.dll"]      7ffa`af9f9000     7ffa`afa3d000        0`00044000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [ntdll; "C:\Windows\System32\ntdll.dll"]      7ffa`afa3d000     7ffa`afa3e000        0`00001000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [ntdll; "C:\Windows\System32\ntdll.dll"]      7ffa`afa3e000     7ffa`afa40000        0`00002000 MEM_IMAGE   MEM_COMMIT  PAGE_WRITECOPY                     Image      [ntdll; "C:\Windows\System32\ntdll.dll"]      7ffa`afa40000     7ffa`afa46000        0`00006000 MEM_IMAGE   MEM_COMMIT  PAGE_READWRITE                     Image      [ntdll; "C:\Windows\System32\ntdll.dll"]      7ffa`afa46000     7ffa`afac2000        0`0007c000 MEM_IMAGE   MEM_COMMIT  PAGE_READONLY                      Image      [ntdll; "C:\Windows\System32\ntdll.dll"]+     7ffa`afac2000     7fff`fffe0000        5`5051e000             MEM_FREE    PAGE_NOACCESS                      Free       +     7fff`fffe0000     7fff`ffff0000        0`00010000 MEM_PRIVATE MEM_RESERVE PAGE_NOACCESS                        

指令: !vadump : 這個會顯示所有的虛擬內存區域和它的保護屬性

指令: !runaway : 顯示每個Thread消費的時間
  Bit 0 (0x1) 讓調試器顯示每個Thread消耗的用戶模式時間(user time),默認不加就是0x1
  Bit 1 (0x2) 顯示每個Thread消耗的內核時間(kernel time)。
  Bit 2 (0x4) 顯示每個Thread從創建開始經歷了多少時間。

Windbg 關於process的指令:

指令: |
顯示當前Process的信息

0:000> |.  0	id: b60	examine	name: C:\Windows\System32\valWBFPolicyService.exe

指令: !dml_proc
顯示當前Process的信息

0:000> !dml_procDbgId  PID    Image file name0      b60    C:\Windows\System32\valWBFPolicyService.exe

指令: .tlist
顯示本機當前所有Process

指令: process
!process 0 0 顯示進程列表

Windbg 關於thread的指令:

指令: ~ (Thread Status):
波形符(~) 命令显示指定线程或当前进程中的所有线程的信息, ~和~*还是有点区别的,~*会把入口函数和优先级都打印出来

指令: ~
顯示所有thread信息

0:000> ~.  0  Id: b60.b64 Suspend: 0 Teb: 00000000`003bf000 Unfrozen   1  Id: b60.dc4 Suspend: 0 Teb: 00000000`003c5000 Unfrozen   2  Id: b60.e28 Suspend: 0 Teb: 00000000`003c7000 Unfrozen   3  Id: b60.e2c Suspend: 0 Teb: 00000000`003c9000 Unfrozen

指令: ~*
顯示所有thread

.  0  Id: b60.b64 Suspend: 0 Teb: 00000000`003bf000 Unfrozen      Start: valWBFPolicyService+0x7710 (00000001`40007710)      Priority: 0  Priority class: 32  Affinity: f   1  Id: b60.dc4 Suspend: 0 Teb: 00000000`003c5000 Unfrozen      Start: sechost!ScSvcctrlThreadA (00007ffa`adb23db0)      Priority: 0  Priority class: 32  Affinity: f   2  Id: b60.e28 Suspend: 0 Teb: 00000000`003c7000 Unfrozen      Start: valWBFPolicyService+0x1087 (00000001`40001087)      Priority: 0  Priority class: 32  Affinity: f   3  Id: b60.e2c Suspend: 0 Teb: 00000000`003c9000 Unfrozen      Start: valWBFPolicyService+0x1064 (00000001`40001064)      Priority: 0  Priority class: 32  Affinity: f

指令: ~.
顯示當下thread

0:000> ~ ..  0  Id: b60.b64 Suspend: 0 Teb: 00000000`003bf000 Unfrozen      Start: valWBFPolicyService+0x7710 (00000001`40007710)      Priority: 0  Priority class: 32  Affinity: f

指令: ~# 引發當前事件或異常的thread
指令: ~Number 顯示指定序號的thread
指令: ~* k 顯示所有thread的調用棧
指令: ~2 f 凍結2號thread
指令: ~# f 凍結引發異常的thread
指令: ~3 u 解除對3號thread的凍結
指令: ~2 k 顯示2號thread的調用棧
指令: ~0s 切換到 thread 0

指令: !thread
擴展顯示目標系統中線程包括ETHREAD塊在內的摘要信息。該命令只能在內核模式調試下使用

Windbg 關於Stack的指令

指令: k*:
命令顯示給定Thread的調用Stack,以及其他相關信息
~0 k表示顯示0號Thread的調用Stack,直接用k表示打印當前Thread的調用堆棧
kb 顯示傳遞給Stack回溯中的每個函數的前三個參數
kp 顯示傳遞給Stack回溯中的每個函數的所有參數

指令: !findstack
擴展查找包含指定符號或模塊的所有stack

Windbg腳本

指令: .foreach
分析一個或多個命令的輸出並將該輸出中每一個值作為另一個或多個命令的輸入
.foreach [Options] ( Variable { InCommands } ) { OutCommands }

指令: .printf
和C中的printf 语句类似

各種分析情況劇情:

可參考: ephrain
分析 Stack overflow (recursive)
分析 .NET framework process crash
分析 WoW64 process
分析 memory leak
分析 infinite wait
分析 kernel dump
分析 kernel dump for memory problem
分析 complete kernel dump

2019/11/18

EFI/UEFI Shell 的常用命令列表 Command list

早期Legacy BIOS會在DOS環境下, 透過指令方式, 或集結成批次檔 *.bat 以完成特定的自動化需求; 現在推動UEFI環境, 這是Built-in的 EFI shell, 要自動化也是需要批次檔 *nsh

當系統開機到 EFI shell時, 此時嵌入式作業系統會透過搜尋已定義好的path 找尋此檔 startup.nsh, 所以基本上來說Startup.nsh相當於DOS/Windows環境下的autoexec.bat,當跑完這個startup script之後, 會顯示如下的指令提示介面: (翻譯引用自Intel文件:Basic Instructions for Using the Extensible Firmware Interface (EFI))
Shell>

下表引用自UEFI和Legacy BIOS的差異

Legacy BIOSUEFI
發明年代1975 by IBM2002 by Intel
程式語言組合語言C語言
CPU mode16-bit mode(Real mode)32/64-bit mode(Flat mode)
記憶體定址空間~1 MB>4 GB
支援硬碟分割格式MBRGPT
支援硬碟最大容量~2 TB~9 ZetaBytes
支援硬碟主分割區數量4128
Boot Speed
Boot ManagerBoot loader in MBRBoot loaders in ESP
硬體擴充方式Option ROMEFI driver
硬體資源控制InterruptProtocol/Driver
安全機制TPMSecure Boot
VGA BIOSVBIOSGOP
Bootable USB  Flash driveDOSEFI Shell

統一可延伸韌體介面(Unified Extensible Firmware Interface, UEFI)是一種個人電腦系統規格,用來定義作業系統與系統韌體之間的軟體介面,作為BIOS的替代方案。可延伸韌體介面負責加電自檢(POST)、連繫作業系統以及提供連接作業系統與硬體的介面。(參考自wiki)

可擴展韌體介面在軟體堆疊裡的位置

EFI開機管理員與 EFI drivers的溝通方式

EFI/UEFI Shell Command

列出EFI/UEFI 裡面 EFI Shell界面支持的命令。
對這些命令無法執行或出錯,在EFI shell提示符下輸入help命令。

可以使用的一些命令如下:

“Boot Commands — EFI Shell”.
“Configuration Commands — EFI Shell”.
“Device, Driver, and Handle Commands — EFI Shell”.
“Filesystem Commands — EFI Shell”.
“Memory Commands — EFI Shell”.
“Shell Navigation and Other Commands — EFI Shell”.
“Shell Script Commands / Programming Constructs — EFI Shell”.

CommandDescription
Boot Commands — EFI Shell. 

Commands related to nPartition booting. n分區啟動的相關命令

autobootSet/view autoboot timeout variable.
bcfgDisplay/modify the driver/boot configuration.
boottestSet/view BootTest bits.
dbprofileDisplay/modify direct boot profiles for use by lanboot.
lanbootBoot over the LAN.
reconfigresetReset the system (nPartition) for reconfiguration; the nPartition remains inactive, in the shutdown for reconfig state.
resetReset the system (nPartition).
searchConnect drivers for bootables devices.
Configuration Commands — EFI Shell. 

Commands for changing and retrieving system (nPartition) information.

acpiconfigSet/view ACPI configuration mode.
cellconfigDeconfigure/reconfigure cells. (Set cell use-on-next-boot values.)
cpuconfigDeconfigure/reconfigure processors and processor cores..
dateDisplay the current date or set the date of the system (nPartition).
dimmconfigDeconfigure/reconfigure memory (DIMMs).
errDisplay/change the error level.
errdumpView/clear logs.
fruView FRU data.
infoDisplay hardware information.
monarchSet/view a monarch processor.
palprocMake a PAL call.
romdriversEnable/disable PCI expansion ROM drivers.
rootcellSet/view preferred root cells. (Set nPartition core cell choices.)
salprocMake a SAL call.
tftpPerforms TFTP operation to a bootp/DHCP enabled Unix boot server.
timeDisplay the current time or set the time of the system (nPartition). EFI time is set and presented in GMT (Greenwich mean time).
variableSave/restore specific EFI variables.
verDisplay the version information.
Device, Driver, and Handle Commands — EFI Shell. 

Commands for managing devices, drivers, and handles.

baudView serial port com settings.
connectBind a driver to a device.
dblkHex dump of BlkIo devices.
devicesDisplay devices managed by EFI drivers.
devtreeDisplay tree of devices.
dhDump handle info.
disconnectDisconnect driver(s) from device(s).
driversDisplay list of drivers.
drvcfgInvoke the Driver Config Protocol.
drvdiagInvoke the Driver Diagnostics Protocol.
guidDump known GUID IDs.
lanaddressDisplay MAC address.
loadLoad EFI drivers.
mapMap shortname to device path.
openinfoDisplay the open protocols for given handle.
pciDisplay PCI devices or PCI function configuration space.
reconnectReconnect driver(s) from a device.
unloadUnload a protocol image.
Filesystem Commands — EFI Shell. 

Commands for managing files, directories, and attributes.

attribDisplay/change the attributes of files/directories.
cdUpdate/view the current directory.
compCompare the contents of two files.
cpCopy one or more files/directories to another location.
editEdit an ASCII or UNICODE file in full screen.
eficompressCompress infile and write to outfile.
efidecompressDecompress infile and write to outfile.
hexeditEdit a file, block device, or memory region using hex.
lsDisplay a list of files and subdirectories in a directory.
mkdirCreate one or more directories.
mountMount a filesystem on a block device.
rmDelete one or more files/directories.
setsizeSet the size of a file.
touchUpdate time of file/directory with current time.
typeDisplay the contents of a file.
volDisplay volume information of the file system.
Memory Commands — EFI Shell. 

Commands for listing and managing memory, EFI variables, and NVRAM details.

defaultSet the default NVRAM values.
dmemDump memory or memory mapped IO.
dmpstoreDisplay all EFI variables.
memmapDisplay the memory map.
mmDisplay/modify MEM/IO/PCI.
pdtView/clear nPartition or cell memory page deallocation table (PDT).
Shell Navigation and Other Commands — EFI Shell. 

Commands for basic EFI Shell navigation and customization.

aliasSet/get alias settings.
clsClear the standard output with an optional background color.
exitExit EFI Shell environment.
getmtcDisplay current monotonic counter value.
help or ?Display help.
modeDisplay the mode of the console output device.
setSet/Get environment variable.
xcharTurn on/off extended character features.
Shell Script Commands / Programming Constructs — EFI Shell. 

EFI shell-script commands.

echoEcho message to stdout or toggle script echo.
elseScript-only: Use with IF THEN.
endforScript-only: Delimiter for FOR loop construct.
endifScript-only: Delimiter for IF THEN construct.
forScript-only: Loop construct.
gotoScript-only: Jump to label location in script.
ifScript-only: IF THEN construct.
inputTake user input and place in EFI variable.
pauseScript-only: Prompt to quit or continue.
stallStall the processor for some microseconds.

其他指令

STALL (以微秒為單位的延遲)

Note:
1. STALL in emulation NT environment will sleep for ‘microseconds’.
2. STALL in some other platforms will wait for ‘microseconds’.
3. Microseconds is in decimal units.
Examples:
Shell> stall 1000000 //表示Stall for 1000000 uS