首页
社区
课程
招聘
[原创]Pnp即插即用设备驱动自动化安装程序
发表于: 2019-11-28 16:45 6086

[原创]Pnp即插即用设备驱动自动化安装程序

2019-11-28 16:45
6086

VMware Workstation 14 Pro

win10Pro x64 虚拟机

VS2019

 

虚拟机中安装:

VS远程调试程序 msvsmon

x64dbg


Windows驱动程序样本/devcon(源码)

下载后,在VS中打开,报一大堆错误,是因为缺少msg.h文件,无需理会,直接 release x64编译

会在生成目录生成msg.h文件,拷贝到代码目录,添加到头文件中,

Notepad++打开devcon.vcxproj,找到 <ClInclude Include="msg.h" /> 删掉 保存,再次加载项目就不会出现以下错误:



这些搞定,即可正常阅读代码。


将编译好的 devcon.exe 拷贝到虚拟机中

管理员权限启动 cmd

cd 到 devcon.exe 所在目录




查看 安装 帮助 

这里我插一条示例




设备的硬件ID,打开inf文件,找到 Install 节,根据系统选择 [Standard.NTamd64] 或 [Standard.NTx86]



安装成功 返回:Drivers installed successfully.


查看 设备管理器 找到自己安装的驱动


因为最早,没找到源码,是逆向的整体逻辑,上IDA截图

devcon 有个巧妙的结构


我猜测的结构




devcon中定义的为:

DispatchEntry结构的后两个DWORD为帮助语,

其中shortHelp,显示于 键入:`devcon.exe help`

其中longHelp, 显示于 键入:`devcon.exe help install(对应操作)`


main 函数中,v15 是输入的操作命令 如:install v17 是 DispatchTable[] 的序号


cmdInstall 中



cmdUpdate 中


驱动在安装中弹出 windows 安全提示框,手动安装没有丝毫影响,但是当线上大规模部署时,就会产生效率问题


开始,猜测这个弹窗类似于 用户账户控制(UAC)  弹窗运行在“安全桌面”,整个桌面进入了 SYSTEM 账户,原用户账户下的所有程序都无法得知此时 UAC 弹窗的情况,也无法通过模拟用户操作来跳过这个 UAC 框


尝试发现,弹出 Windows 安全弹窗时,Spy++ 任务管理器 x64dbg都可以正常运行,获取窗口信息



[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

最后于 2020-7-29 18:10 被随风行编辑 ,原因:
收藏
免费 3
支持
分享
最新回复 (5)
雪    币: 1613
活跃值: (2827)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
怎样才能转正呀
2019-11-28 19:14
0
雪    币: 1613
活跃值: (2827)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
3
路过的大佬,方便指点一下,枚举窗口为什么枚举不到安装按钮呢?拜谢!
2019-12-2 13:48
1
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
4
感谢分享~
2019-12-2 15:44
0
雪    币: 26205
活跃值: (63302)
能力值: (RANK:135 )
在线值:
发帖
回帖
粉丝
5
随风行 怎样才能转正呀[em_31]
请看临时会员转正指南
2019-12-2 15:45
0
雪    币: 1613
活跃值: (2827)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
Editor 请看临时会员转正指南
已经转正了,谢谢!
帖子加优,Rank值+10
2019-12-2 17:09
0
游客
登录 | 注册 方可回帖
返回
//