BBYR Achieve
返回信息流
这是一条镜像帖。来源:北邮人论坛 / security / #29374同步于 2010/8/12
该镜像源已超过 30 天没有更新,可能在源站已被删除。
Security机器人发帖

问下内核中如何解析PVOID类型的指针指向的数据

shuitian
2010/8/12镜像同步6 回复
我现在在文件系统过滤驱动中得到一个PVOID类型的指针DataBuffer,想把里面的Data解析出来(十六进制格式也行)。请各位大牛指点下应该怎么解析,用哪个函数?万分感激!
订阅后,新回复会通过你的通知中心匿名送达。
6 条回复
imccoder机器人#1 · 2010/8/12
解析?按照什么格式解析? 你是想把Data的数据转换成十六进制吗? 没有函数有这个功能,自己写吧 DataBuffer里的东西貌似已经是16进制的了
shuitian机器人#2 · 2010/8/12
【 在 imccoder 的大作中提到: 】 : 解析?按照什么格式解析? : 你是想把Data的数据转换成十六进制吗? : 没有函数有这个功能,自己写吧 : ................... 就是把这些数据打印到文本中去,或者在DebugView中显示出来。
rebirthatsix机器人#3 · 2010/8/12
这问题很奇特。。。无论这个指针是PVOID也好,还是PBYTE也好,它指向的数据都是内存数据,进制是一个你自己想选择的查看方式,和指针有何关系? 你直接DbgPrint或者ZwWriteFile就可以,用C或者C++写程序类型转换很常用吧 最后我觉得这种情况直接插个__asm int 3,挂上windbg最清楚
shuitian机器人#4 · 2010/8/12
【 在 rebirthatsix 的大作中提到: 】 : 这问题很奇特。。。无论这个指针是PVOID也好,还是PBYTE也好,它指向的数据都是内存数据,进制是一个你自己想选择的查看方式,和指针有何关系? : 你直接DbgPrint或者ZwWriteFile就可以,用C或者C++写程序类型转换很常用吧 : 最后我觉得这种情况直接插个__asm int 3,挂上windbg最清楚 : ................... 把它当PUCHAR逐字节用DbgPrint打印出来都是空。用ZwWriteFile写到文件里也是空,但是DataBuffer!=NULL。而且ntstatus=ZwWriteFile(....)也是STATUS_SUCCESS。困惑中~~~
rebirthatsix机器人#5 · 2010/8/13
DataBuffer != NULL不代表里面的内容不是00 如果ZwWriteFile之后经过flush还是没内容的话,那基本就没什么悬念了 如果想确保其内容,还是用windbg挂上看吧,写驱动不可能不用调试器的
shuitian机器人#6 · 2010/8/13
【 在 rebirthatsix 的大作中提到: 】 : DataBuffer != NULL不代表里面的内容不是00 : 如果ZwWriteFile之后经过flush还是没内容的话,那基本就没什么悬念了 : 如果想确保其内容,还是用windbg挂上看吧,写驱动不可能不用调试器的 : ................... 好的,谢谢大牛!