安裝pykd,具體可以參照其他部落格
上次寫到利用非揮發性暫存器尋找一些引數或者變數:windbg 除錯bug
因為每個函式呼叫修改非揮發性暫存器都會push和pop,所以我們利用python來找到那個幀裡面修改了暫存器。
from pykd import *
from sys import argv
kbn=dbgcommand('kbn').split('\n')
for s in kbn[1:-1] :
func = s.split(' ')[8].split('+')[0]
print
'uf '+ func
try:
modules=dbgcommand('uf '+func)
except dbgexception,e:
print e.message
continue
print modules.find(argv[1])
輸入: 需要尋找的暫存器
輸出:列出每個幀是否有使用此暫存器
如圖:
按照上次講的方式,來獲取r14的值
主要是為了開始使用python來簡化一些查詢的步驟
關於pykd的介面文件參照:
windbg使用技巧
dt v dms server datarow 376c4b58 8 轉存出資料結構 dt s 4c n dms server 查詢結構體大小 回答本文標題中的問題,步驟如下 第一步,開啟日誌記錄 logopen d output.txt 第二步,執行你想要輸出到文字檔案中的命令 第三步,關閉日誌記...
windbg使用技巧
一 64位系統下分析32位程式 windbg版本 跟windbg的版本無關 32位 or 64位 崩潰程式 32位 system型別 64位 此時需要轉到x86模式下,命令如下 1 load wow64exts 2 sw 二 自動分析命令 analyze v 三 symbol path 作業系統 四...
WinDbg使用基礎
啟動windbg後發現以一般的軟體並沒有什麼差別,選單工具欄,客戶區,狀態列都有,估計作用也差不多 為了學習windbg,讓整個過程盡量可控,我們自己編寫被除錯程式 生成release版本的exe檔案,為模擬一般情況下的除錯我們將exe檔案拷貝到乙個單獨的路徑上。通過windbg的file open...