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

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

2023-5-5 17:52
17100

如题,今天在完善一个驱动
(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根本不导出!
如图
图片描述
好吧好吧,问题到这就算解决了
图片描述


[CTF入门培训]顶尖高校博士及硕士团队亲授《30小时教你玩转CTF》,视频+靶场+题目!助力进入CTF世界

收藏
点赞5
打赏
分享
最新回复 (12)
雪    币: 1641
活跃值: (3601)
能力值: (RANK:15 )
在线值:
发帖
回帖
粉丝
はつゆき 2023-5-5 18:06
2
0
微软文档已经写的很清楚了,编译器的警告也都有,写代码一个都不看吗?
雪    币: 2378
活跃值: (9195)
能力值: ( LV13,RANK:385 )
在线值:
发帖
回帖
粉丝
TkBinary 5 2023-5-5 18:55
3
0
哈哈哈哈, 坑坑就变强.
雪    币: 5581
活跃值: (5105)
能力值: ( LV6,RANK:92 )
在线值:
发帖
回帖
粉丝
0xC5 1 2023-5-5 19:31
4
0
这就是现在为什么某些产品仍旧使用wdk7600编写的原因。
雪    币: 907
活跃值: (3454)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
逆向爱好者 2023-5-6 19:48
5
0
怎么解决的,获取函数地址吗还是直接声明这个函数。看了你这个坑我感觉我驱动的分配内存函数都是不可靠的了,有没有全系统版本可用的分配内存方式函数
雪    币: 6113
活跃值: (4016)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
黑洛 1 2023-5-7 03:06
6
0
这怎么是坑呢,这种xxxx2的函数一看就是高版本才支持的
雪    币: 405
活跃值: (1850)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
wowocock 1 2023-5-8 12:12
7
1
ifs2003用到天荒地老。
雪    币: 4438
活跃值: (2304)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
Foodie 2023-5-8 13:02
8
1

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

ExAllocateFromNPagedLookasideList


雪    币: 149
活跃值: (1998)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
saloyun 2023-5-10 09:54
9
0
Foodie 新函数在低版本系统不能用不算坑。旧函数在新WDK上内联改导出,导致低版本系统不能用才算坑。ExAllocateFromNPagedLookasideList
这个真的坑。。。
雪    币: 285
活跃值: (3054)
能力值: ( LV5,RANK:75 )
在线值:
发帖
回帖
粉丝
囧囧 2023-5-10 17:42
10
0

备忘:

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