首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从Windbg中的崩溃转储中找到进程的图像基地址?

如何从Windbg中的崩溃转储中找到进程的图像基地址?
EN

Stack Overflow用户
提问于 2022-02-10 16:22:42
回答 2查看 563关注 0票数 0

我有一个内存崩溃转储,我可以用!process 0 0列出进程

我要做的是找到calc.exe的图像基地址,并从内存中获取它的内容。可能会把它保存到文件中。

我需要做些什么才能做到这一点?

编辑:我所拥有的转储类型是“自动转储”,但是我想知道其他类型的技术,比如完全核心转储。

EN

回答 2

Stack Overflow用户

发布于 2022-02-10 19:19:12

转储可以有多种类型,转储的类型是用户模式还是内核模式?这是完全倾倒的思想吗?

在许多情况下,页面可能不存在,或者被分页或有意丢弃模块的init部分。

无论如何,如果用户模式尝试!vadump或!address来定位感兴趣的模块,请找到它的起始地址和结束地址,然后使用.writemem尝试以页面大小增量(0x1000字节)转储。

在kmode !vad!

并通过lm或!dh这两个命令获得用户模式和内核模式下的模块信息。

这是一个用户模式转储!地址信息

代码语言:javascript
复制
F:\caldump>cdb -c "!address calculator;q" -z calc.dmp | awk "/Reading/,/quit/"

0:023> cdb: Reading initial command '!address calculator;q'


Usage:                  Image
Base Address:           00007ff7`04a30000
End Address:            00007ff7`04a31000
Region Size:            00000000`00001000 (   4.000 kB)
State:                  00001000          MEM_COMMIT
Protect:                00000002          PAGE_READONLY
Type:                   01000000          MEM_IMAGE
Allocation Base:        00007ff7`04a30000
Allocation Protect:     00000080          PAGE_EXECUTE_WRITECOPY
Image Path:             C:\Program Files\WindowsApps\Microsoft.WindowsCalculator_10.1906.55.0_x64__8wekyb3d8bbwe\Calculator.exe
Module Name:            Calculator
Loaded Image Name:
Mapped Image Name:
More info:              lmv m Calculator
More info:              !lmi Calculator
More info:              ln 0x7ff704a30000
More info:              !dh 0x7ff704a30000
票数 0
EN

Stack Overflow用户

发布于 2022-02-26 18:57:54

既然!process 0成功了,那么它就是一个内核转储。试着检查佩布

https://learn.microsoft.com/en-us/windows-hardware/drivers/debugger/-peb

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

https://stackoverflow.com/questions/71068642

复制
相关文章

相似问题

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