find 和 findp 次指令

find 和 findp 次指令

find 和 findp 次指令會搜尋記憶體中的特定型樣。

格式find [-s string]

find effectiveaddress pattern [mask | delta]

findp [-sstring]

findpphysicaladdress pattern [mask | delta]

參數

項目

說明

-s

指出要搜尋的型樣是 ASCII 字串。

EffectiveAddress

指定有效或虛擬位址。 可使用符號、十六進位值或十六進位表示式來指定位址。

PhysicalAddress

指定實體或實際位址。 可使用符號、十六進位值或十六進位表示式來指定位址。

指定指定 -s 選項時要搜尋的 ASCII 字串。 句點 (.) 用來符合任何字元。

型樣

指定要搜尋之型樣的十六進位值。 型樣長度限制為一個單字。

面具

如果指定型樣,則可以指定遮罩,以從符合的目的考量中排除位元。 此參數是一個單字十六進位值。

德爾塔

指定在不成功的相符項之後要向前移動的增量。 此參數是一個單字十六進位值。

如果使用 -s 選項,則搜尋的型樣可以是 ASCII 字串,也可以是一個單字十六進位值。 如果搜尋是針對 ASCII 字串,則可以使用句點 (.) 來符合任何字元。

如果搜尋是針對十六進位值,則可以使用遮罩參數。 遮罩用來從考量中刪除位元。 當它在檢查是否符合時,來自記憶體的值會以遮罩結束,然後與指定的型樣進行比較以進行符合。 例如,遮罩 7fffffff 表示不考量高位元。 如果指定的型樣是 0000000d 且遮罩是 7fffffff,則值 0000000d 和 8000000d 都視為相符。

也可以指定參數來指出所套用的差異,以決定要檢查是否符合的下一個位址。 這可確保在特定界限上出現相符型樣。 例如,如果您要尋找在 64 位元組界限上對齊的 0f0000ff 型樣,則可以使用下列次指令:

find 0f0000ff ffffffff 40

預設差異是一個位元組 (用於比對字串) 和一個單字 (用於比對指定的十六進位型樣)。

如果 find 或 findp 次指令找到指定的型樣,則會顯示資料及位址。 按 Enter 鍵從該點繼續搜尋。

其他沒有別名。

範例以下是如何使用 find 和 findp 次指令的範例:

KDB(0)> tpid //print current thread

SLOT NAME STATE TID PRI CPUID CPU FLAGS WCHAN

thread+002F40 63*nfsd RUN 03F8F 03C 000 00000000

KDB(0)> find lock_pinned 03F8F 00ffffff 20 //search TID in the lock area

//compare only 24 low bits, on cache aligned addresses (delta 0x20)

lock_pinned+00D760: 00003F8F 00000000 00000005 00000000

KDB(0)> //repeat last command

Invalid address E800F000, skip to (^C to interrupt)

............... E8800000

Invalid address E8840000, skip to (^C to interrupt)

............... E9000000

Invalid address E9012000, skip to (^C to interrupt)

............... F0000000

KDB(0)> findp 0 E819D200 //search in physical memory

00F97C7C: E819D200 00000000 00000000 00000000

KDB(0)> //repeat last command

05C4FB18: E819D200 00000000 00000000 00000000

KDB(0)> //repeat last command

0F7550F0: E819D200 00000000 E60009C0 00000000

KDB(0)> //repeat last command

0F927EE8: E819D200 00000000 05E62D28 00000000

KDB(0)> //repeat last command

0FAE16E8: E819D200 00000000 05D3B528 00000000

KDB(0)> //repeat last command

kdb_get_real_memory: Out of range address 1FFFFFFF

KDB(0)>

KDB(0)>find -s 01A86260 pse //search "pse" in pse text code

01A86ED4: 7073 655F 6B64 6200 8062 0518 8063 0000 pse_kdb..b...c..

KDB(0)> //repeat last command

01A92952: 7073 6562 7566 6361 6C6C 735F 696E 6974 psebufcalls_init

KDB(0)> //repeat last command

01A939AE: 7073 655F 6275 6663 616C 6C00 0000 BF81 pse_bufcall.....

KDB(0)> //repeat last command

01A94F5A: 7073 655F 7265 766F 6B65 BEA1 FFD4 7D80 pse_revoke....}.

KDB(0)> //repeat last command

01A9547E: 7073 655F 7365 6C65 6374 BE41 FFC8 7D80 pse_select.A..}.

KDB(0)> find -s 01A86260 pse_....._thread //how to use '.'

01A9F586: 7073 655F 626C 6F63 6B5F 7468 7265 6164 pse_block_thread

KDB(0)> //repeat last command

01A9F6EA: 7073 655F 736C 6565 705F 7468 7265 6164 pse_sleep_thread

相关推荐

IDEA vs Eclipse:使用体验对比
365bet提款规则

IDEA vs Eclipse:使用体验对比

📅 06-27 👁️ 3238
這就是破解你的密碼需要多長時間 ▷➡️
365bet提款规则

這就是破解你的密碼需要多長時間 ▷➡️

📅 07-19 👁️ 5128
【思域怎么样】思域口碑好不好
365bet提款规则

【思域怎么样】思域口碑好不好

📅 06-28 👁️ 7025