windbg 使用python寻找寄存器的值

来源:互联网 发布:淘宝店铺装修页头图片 编辑:程序博客网 时间:2024/05/21 13:21

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

安装pykd,具体可以参照其他博客

上次写到利用非挥发性寄存器寻找一些参数或者变量:windbg 调试bug

因为每个函数调用修改非挥发性寄存器都会push和pop,所以我们利用python来找到那个帧里面修改了寄存器。

from pykd import *from sys import argvkbn=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的接口文档参照:http://pykd.codeplex.com/