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

输入: 需要寻找的寄存器
输出:列出每个帧是否有使用此寄存器
如图:
这里写图片描述

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

这里写图片描述

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值