原
dump1keys
的值可以是組合值,比如,0x70
表示同時按下左側的alt + ctrl + shift
。每一項的意義請參考下表(摘自微軟官方文件):值意義
0x01
rightmost shift key
0x02
rightmost ctrl key
0x04
rightmost alt key
0x10
leftmost shift key
0x20
leftmost ctrl key
0x40
leftmost alt key
dump2key
是按鍵的掃瞄碼在陣列keytoscantbl[134]
中的索引值,keytoscantbl[134]
的定義如下(摘自微軟官方文件):
const uchar keytoscantbl[134] = ;
上面的例子中,`
鍵的掃瞄碼是0x29
,在keytoscantbl[134]
的索引是1
。
關於掃瞄碼,按下和抬起按鍵時會產生不同的掃瞄碼,我們需要關注的是按下時對應的掃瞄碼。同時,不同的鍵盤可能有不同的掃瞄碼。下面給出101/102鍵 鍵盤(pc/at 和 ps/2)
的掃瞄碼。
我們參考相關文件的時候需要注意 按下按鍵對應的術語是(make
),抬起按鍵對應的術語是(break
)。下面貼一張掃瞄碼表的部分截圖:
**最後的說明非常重要:
使用 ctrl + 手動藍屏
殺死系統關鍵程序導致的藍屏,對應的bug check code
是0xf4(critical_object_termination)
。 通過nmi
導致的藍屏,對應的bug check code
是0x80(nmi_hardware_failure)
,表示這個藍屏是由於硬體錯誤觸發的。通過系統快捷鍵導致的藍屏,對應的bug check code
是0xe2(manually_initiated_crash)
,表示這個藍屏是使用者手動觸發的。
我們可以用!analyze -show
來檢視轉儲檔案中的bug check code
資訊。
從輸出結果可知,這個藍屏是使用者手動觸發藍屏產生的。從呼叫棧可知,是i8042prt.sys
處理了我們的按鍵,從而導致的藍屏。
如果直接用windbg
開啟%systemroot%\memory.dmp
會提示許可權不夠。可以以管理員許可權執行windbg
後再開啟。或者拷貝轉儲檔案到其它目錄後再開啟即可。注意一定是拷貝,而不是剪下。
分析系統裝不了的幾種原因
裝系統相信很多人都會,但是有時候為什麼會裝不了呢?在這裡分析一下系統裝不了的幾種原因。系統映象檔案損壞。如果你的映象檔案存在問題,那麼在你複製映象檔案的過程中就會提示錯誤,進而裝不了系統。硬碟壞道。硬碟如果存在壞道,一般都是裝不了系統的,即使勉強將映象檔案複製好了,再安裝系統的過程也會出現問題,就算...
Upfile的幾種常見姿勢
記錄一下檔案上傳的常見姿勢,更全面的可以做upload labs。實驗環境 win2003 phpstudy 實驗平台 upfile 一 準備上傳的一句話木馬 eval函式將接受的字串當做 執行 二 實驗步驟 2.1 無防護上傳 可以直接上傳一句話木馬檔案 可以看到已經成功上傳,並返回了相關資訊。可...
找到系統藍屏的真正原因
說下正確使用windebug來debug方法 1.我的電腦點右鍵點屬性 高階 啟動,最下面的記憶體除錯選最後一項的全部,確定後重新啟動 2.藍屏後不要急著重啟,系統會儲存整個記憶體內容,然後會自動重啟 如果沒有自動重啟,可能是由於您的設定,請手動重新啟動 3.找到c windows minidump...