# (搜尋反組譯碼模式)
數字符號 (#) 命令會在反組譯碼中搜尋指定的模式。
# [Pattern] [Address [ L Size ]]
參數
模式
指定要在反組譯碼中搜尋的模式。 模式 可以包含各種通配符和規範。 如需語法的詳細資訊,請參閱 字串通配符語法。 如果您想要在 Pattern 中包含空格,則必須以引號括住模式。 模式不區分大小寫。 如果您先前已使用 # 命令並省略 Pattern,命令會重複使用最近使用的模式。
位址
指定搜尋開始的位址。 如需語法的詳細資訊,請參閱 地址和地址範圍語法。
大小
指定要搜尋的指示數目。 如果您省略 Size,搜尋會繼續直到發生第一個相符項目為止。
環境
項目 | 描述 |
---|---|
模式 | 使用者模式、核心模式 |
目標 | 即時、損毀傾印 |
平台 | 全部 |
其他資訊
如需元件偵錯和相關命令的詳細資訊,請參閱 在元件模式中偵錯。
備註
如果您先前使用 # 命令,並省略 Address,則搜尋會從上一個搜尋結束的位置開始。
此命令的運作方式是搜尋所指定模式的反組譯文字。 您可以使用此命令來尋找快取器名稱、常數或任何其他出現在反組譯輸出中的字串。 您可以重複命令,而不使用 Address 參數來尋找模式的連續出現次數。
您可以使用 u (Unassemble) 命令,或使用 WinDbg 中的 [ 反組 譯碼] 視窗來檢視反組譯碼指示。 反組譯碼顯示最多包含四個部分:位址位移、二進位程式代碼、元件語言助記鍵和元件語言詳細數據。 下列範例顯示可能的顯示。
0040116b 45 inc ebp
0040116c fc cld
0040116d 8945b0 mov eax,[ebp-0x1c]
#此命令可以在反組譯碼顯示的任何單一部分內搜尋文字。 例如,您可以使用 #eax 0040116b 來尋找 mov eax,[ebp-0x1c]
位址為 0040116d 的指示。 下列命令也會尋找此指示。
# [ebp?0x 0040116b
# mov 0040116b
# 8945* 0040116b
# 116d 0040116b
不過,您無法 mov eax*
搜尋為單一單位,因為 mov 和 eax 出現在顯示器的不同部分。 請改用 mov*eax
。
作為其他範例,您可以發出下列命令,在進入點主要之後搜尋 strlen 函式的第一個參考。
# strlen main
同樣地,您可以發出下列兩個命令,在位址0x779F9FBA之後尋找第一個 jnz 指令,然後在之後尋找下一個 jnz 指令。
# jnz 779f9fba#
當您省略 Pattern 或 Address 時,其值會以先前的命令用法 # 為基礎。 如果您在第一次發出 # 命令時省略任一參數,則不會執行任何搜尋。 不過,即使在此情況下, 模式 和 位址 的值也會初始化。
如果您包含 Pattern 或 Address,其值會設定為輸入的值。 如果您省略 Address,它會初始化為程式計數器的目前值。 如果您省略 Pattern,則會將其初始化為空白模式。