windbg 使用python寻找寄存器的值
程序员文章站
2022-07-15 14:22:30
...
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/
推荐阅读
-
使用Python的Dataframe取两列时间值相差一年的所有行方法
-
windbg 使用python寻找寄存器的值
-
python使用openpyxl读取合并单元格的值
-
使用python3编写程序,生成10个随机数,每个元素的值介于1到100之间,并计算所有元素的和、平均值。
-
python使用分治法实现求解最大值的方法
-
Python使用min、max函数查找二维数据矩阵中最小、最大值的方法
-
python 使用值来排序一个字典的方法
-
python使用threading获取线程函数返回值的实现方法
-
python寻找list中最大值、最小值并返回其所在位置的方法
-
Python中返回字典键的值的values()方法使用