其他
搭建自己的符号服务器
本文为看雪论优秀文章
看雪论坛作者ID:comor
目录
0x00. 常规分析示例
1. 当没有pdb时
2. 当只有pdb时
3. 当既有pdb又有源码时
0x01. 原理
1. dump和pdb
2. pdb与源码
3. pdb和exe
4. 进一步
5. 应用场合
一般常规分析步骤:使用Windbg打开dump文件,设置符号路径、源码路径,输入!analyze -v,完事!
当崩溃次数不是很经常时,常规做法并不是很麻烦。但是,当你维护的应用或者驱动很多,手边活儿又很多时,这样一边查看版本,一边扒拉源码,既耗时,又劳心。特别当你忘了备份pdb文件时,挠头去吧……
0x00. 常规分析示例
1. 当没有pdb时
2. 当只有pdb时
3. 当既有pdb又有源码时
0x01. 原理
1. dump和pdb
首先看dump文件信息,使用文本工具打开,搜索.pdb,可以找到:
2. pdb与源码
3. pdb和exe
怎么办?——pdb和exe也有对应关系,找到了对应的exe,对应的源码版本也就知道了(如果把发布的版本和对应的源码对应也搞混了……猜吧)。
...MSVC\14.16.27023\bin\Hostx86\x86>.\dumpbin.exe /headers D:\桌面\Release\DumpDemo.exe
Microsoft (R) COFF/PE Dumper Version 14.16.27040.0
Copyright (C) Microsoft Corporation. All rights reserved.
……
Debug Directories
Time Type Size RVA Pointer
-------- ------- -------- -------- --------
5F55D0B2 cv 3E 00002218 1218 Format: RSDS, {A3CC46D4-F10E-4703-A393-DA7288A713C1}, 3, D:\Work\DumpDemo\Release\DumpDemo.pdb
5F55D0B2 feat 14 00002258 1258 Counts: Pre-VC++ 11.00=0, C/C++=23, /GS=23, /sdl=2, guardN=0
……
4. 进一步
如果将pdb文件中的源码信息定制为我们的版本控制系统——源文件索引
再将pdb文件存入集中的一个位置——符号服务器。那么,分析dump就
会变的更便利,只需要在Windbg中配置好符号服务器路径,保证源码服务器可以正常连接,便可以分析dump了(windbg自动会寻找下载符号文件和源码)。
5. 应用场合
参考网址
https://www.codeproject.com/Articles/37883/Symbols-File-Locator
看雪ID:comor
https://bbs.pediy.com/user-home-809870.htm
*本文由看雪论坛 comor 原创,转载请注明来自看雪社区。
推荐文章++++
* Linux Kernel Pwn_1_Double fetch
求分享
求点赞
求在看