首页
社区
课程
招聘
记录VS2022写驱动时候一次离谱的BUG
发表于: 2023-5-5 17:52 18796

记录VS2022写驱动时候一次离谱的BUG

2023-5-5 17:52
18796

如题,今天在完善一个驱动
(VS刚升级成VS2022,记住这句话,下面要考)
然后按照国际惯例,放到不同版本的虚拟机跑一下,看看会不会蓝屏,我先放到了WIN11 22H2里面(也是和我物理机一个版本),发现正常运行。
于是想着放到WIN 10 19044, WIN10 1903 WIN10 1909这几个经常用的版本跑一下;
然后离谱的事情出现了,在WIN 10 1909的时候,驱动死活加载不上,DrverEntry也进不了,一直返回加载失败;
图片描述
这个时候,我开始怀疑是不是TargetOsVersion写错了,因为有可能因为这个导致有些函数没有导出加载失败,然后找到DriverSetting,发现
图片描述
看起来没有任何问题,问了朋友,他告诉我
图片描述
于是我感觉把驱动拖到IDA里面,看看这个B Y D驱动导入了那些函数,然后发生下面的情况;
图片描述
我心想,这不看起来一切正常吗,这些导出函数无论哪个版本的Windows都应该有啊,看不出来任何端倪,我只能用最笨的方法,一个一个的查,看看这些函数到底到没导出;
其实,查到一半,我就基本上猜到了是啥出问题了,大家在用VS2022的时候,经常会有这个警告
图片描述
意思是让你别用ExAllocatePoolWithTag,作为一个懂事的好孩子,我从来都是最遵循警告爸爸的话了,但是没想到这东西坑了我,因为他在低版本的win10根本不导出!
如图
图片描述
好吧好吧,问题到这就算解决了
图片描述


[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 5
支持
分享
最新回复 (12)
雪    币: 1641
活跃值: (3601)
能力值: (RANK:15 )
在线值:
发帖
回帖
粉丝
2
微软文档已经写的很清楚了,编译器的警告也都有,写代码一个都不看吗?
2023-5-5 18:06
0
雪    币: 871
活跃值: (9841)
能力值: ( LV13,RANK:385 )
在线值:
发帖
回帖
粉丝
3
哈哈哈哈, 坑坑就变强.
2023-5-5 18:55
0
雪    币: 3297
活跃值: (5395)
能力值: ( LV6,RANK:92 )
在线值:
发帖
回帖
粉丝
4
这就是现在为什么某些产品仍旧使用wdk7600编写的原因。
2023-5-5 19:31
0
雪    币: 1532
活跃值: (4588)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
怎么解决的,获取函数地址吗还是直接声明这个函数。看了你这个坑我感觉我驱动的分配内存函数都是不可靠的了,有没有全系统版本可用的分配内存方式函数
2023-5-6 19:48
0
雪    币: 6124
活跃值: (4656)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
6
这怎么是坑呢,这种xxxx2的函数一看就是高版本才支持的
2023-5-7 03:06
0
雪    币: 405
活跃值: (2280)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
ifs2003用到天荒地老。
2023-5-8 12:12
1
雪    币: 4491
活跃值: (2484)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8

新函数在低版本系统不能用不算坑。旧函数在新WDK上内联改导出,导致低版本系统不能用才算坑。

ExAllocateFromNPagedLookasideList


2023-5-8 13:02
1
雪    币: 436
活跃值: (2668)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
Foodie 新函数在低版本系统不能用不算坑。旧函数在新WDK上内联改导出,导致低版本系统不能用才算坑。ExAllocateFromNPagedLookasideList
这个真的坑。。。
2023-5-10 09:54
0
雪    币: 284
活跃值: (3599)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
10

备忘:

WDK 7.1.0
https://download.microsoft.com/download/4/A/2/4A25C7D5-EFBE-4182-B6A9-AE6850409A78/GRMWDK_EN_7600_1.ISO

ddk 2003
http://download.microsoft.com/download/9/0/f/90f019ac-8243-48d3-91cf-81fc4093ecfd/1830_usa_ddk.iso

最后于 2023-5-10 17:47 被囧囧编辑 ,原因:
2023-5-10 17:42
0
雪    币: 493
活跃值: (1808)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
垃圾玩意,用VS2022跟打游戏一样,内存占用3G多,果然卸载,同样的项目VS2019,内存占用1G左右
2023-5-11 23:00
0
雪    币: 14
活跃值: (948)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
2022不支持编译w7驱动了吧
2023-5-12 19:40
0
雪    币: 3279
活跃值: (3326)
能力值: ( LV4,RANK:40 )
在线值:
发帖
回帖
粉丝
13
VS2022写驱动问题多多啊,还是回到VS2019吧
2023-5-17 16:29
0
游客
登录 | 注册 方可回帖
返回
//