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/