首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用DbgHelp访问转储中的进程环境块

如何使用DbgHelp访问转储中的进程环境块
EN

Stack Overflow用户
提问于 2013-03-01 01:19:14
回答 2查看 3.7K关注 0票数 1

我发现了一个example,它使用调试器引擎API来获取转储中的PEB。这可以使用DbgHelp实现吗?有使用DbgHelp提取注释和异常信息的现有代码。如果可能的话,我想从PEB那里获取一些信息。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-04-21 00:11:42

您可以使用MiniDumpReadDumpStream函数从转储文件中读取流。只需将转储文件读取到内存中或将其映射到内存中,然后使用此函数。

来访问PEB。从转储文件中读取ThreadListStream。MINIDUMP_THREAD_LIST结构将包含一个MINIDUMP_THREAD结构数组,该数组具有具有该线程的Teb地址的TEB字段。

32位和64位的TEB和PEB的不同之处在于,64位的指针是8字节。

这意味着对于32位工艺,可以在TEB的0x30偏移量处找到PEB的地址。对于64位工艺,可在TEB的0x60偏移量处找到PEB的地址。

当从一个小型转储文件中读取内存时,您将需要使用自己的内存读取器函数。

票数 1
EN

Stack Overflow用户

发布于 2016-03-21 21:12:26

在WinDbg中有一个!peb命令,它适用于转储。另请参阅此处:http://windbg.info/doc/1-common-cmds.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15141706

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档