-
-
[原创]国庆假期很闲之针对 VS2019 + WDK10 生成驱动关不掉pdb符号文件的研究
-
发表于:
2022-10-2 01:32
13192
-
[原创]国庆假期很闲之针对 VS2019 + WDK10 生成驱动关不掉pdb符号文件的研究
引用自:WDK10 + VS2019 关不掉符号开关
两年前,这个问题一直就这样挂起了,本着闲来无事找事的心态,把事情的前因后果从头分析了一遍
玩过VS的应该都知道,这样一来,不管是创建dll或者exe就不会生成pdb符号文件了
但是用WDK10创建驱动就不一定了,创建sys始终会生成pdb文件,那么问题来了,pdb符号文件是谁生成的呢?
可能有些人不知道,VS的开发工具里面有一个mspdbsrv.exe,看这个进程名字大概可以猜出来,就是它生成pdb符号文件的
那么继续反推,VS是如何调用这个进程的呢?
看到这里,link.exe有没有熟悉的感觉呢?没错,就是link调用的mspdbsrv,那就继续回溯,来看一下堆栈
link通过CreateProcess调用了mspdbsrv,有了这条线索,那么接下来就好办了,直接用OD附加link
根据上面的截图来对比分析,来到 link.exe + 0x30d60
也就是说,判断 cmp byte ptr ds:[0x6980F9],0x0 里面的值不为0,才会调用mspdbsrv
IDA可以发现这里面的初始值就是1,那意思就是,如果不生成pdb文件,就需要调用一段代码去把这里面的值写成0,继续回溯分析
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2022-10-2 01:37
被luskyc编辑
,原因: