windbg 使用python尋找暫存器的值

2021-08-07 08:55:39 字數 792 閱讀 2081

安裝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...