windbg 使用python寻找寄存器的值

1.推荐一个插件blwdbgue.dll 用来标记相同地址或者寄存器

安装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])

输入: 需要寻找的寄存器
输出:列出每个帧是否有使用此寄存器
如图:
windbg 使用python寻找寄存器的值_第1张图片

按照上次讲的方式,来获取r14的值

windbg 使用python寻找寄存器的值_第2张图片

主要是为了开始使用python来简化一些查找的步骤
关于pykd的接口文档参照:http://pykd.codeplex.com/

你可能感兴趣的:(c++)