0x00基礎命令
.sympath //顯示設置的符號表路徑
.reload //此命令主要用於加載符號表。 .reload /f //重新裝載模塊
.reload /i //強制加載mismatched symbol
U //這個命令主要用於反匯編某個地址,其后面可以跟函數名和地址。
//U命令后面可以加L表示延長反匯編長度
db/dw/dd/dq/dD/df //這四個命令主要用於查看某地址所儲存的數據。他們的不同在於所顯示的數據長度。 db //顯示一字節的長度。 dw //顯示兩字節的長度。 dd //顯示四字節的長度。 dq //顯示八字節的長度。 dD //顯示double實數(8字節的長度)。 df //顯示float實數(4字節的長度)。
da/du/ds/dS da //顯示asscii值 du //顯示unicode值 ds //顯示ANI_STRING值 dS //顯示UNICODE_STRING的值
eb/ew/ed/eq eb address value //在address 這個地址寫入一個字節value ew address value //在address 這個地址寫入兩字節value ed address value //在address 這個地址寫入四字節字節value eq address value //在address 這個地址寫入八字節字節value
//同樣可以用eb/ew命令改回來
0x01對象相關命令
dt //dt命令主要用於查看結構體。
lm lm //列出模塊。 lm vm 模塊名 //查看模塊詳細信息。
!process !process 0 0 //列出系統進程信息 !process 0 0 進程名 //列出該進程的信息 !process 0 1 進程名 //列出該進程更加的信息 !process 0 7 進程名 //列出該進程的詳細信息,包括線程的
.process .process EPROCESS //切入該進程中
!object !object 地址 //顯示該地址的對象信息。
0x02斷點命令
bp/ba bp命令是通過向指定地址插入int 3 指令來完成的,這種方式容易被發現。 bp address //在地址address插入斷點。 ba命令是是硬件斷點命令,通過設置cpu的dx寄存器來攔截線程。 ba access size 地址 //access 是訪問的方式,比如 e (執行),r (讀/寫),w (寫) ,size是監控訪問的位置 的大小,以字節為單位。值 為 1、2或4,在64位機器上還可以是8。 bd/be/bc bd 斷點號 //此命令是關閉斷點號所對應的斷點 。 be 斷點號 //此命令是開啟斷點號所對應的斷點 。 bc * //去除所有斷點。
//關閉0號斷點
//開啟0號斷點
0x03其他命令
x //x命令用來模糊查詢。例如可以這樣查看SSDT表的地址: x nt!kes*des*table*
dds dds 地址 //此命令用來解析某連續地址的函數名。