公众号:安全狗的自我修养
github.com/haidragon
# windows上usb过滤与透传(虚拟化)视频教程
0.windows上usb过滤与透传(虚拟化)视频介绍
## 基于usbview源码了解usb
1.usbview使用
2.usbview源码编译
3.打开显示描述信息
4.魔改后的命令行版
5.usbview源码分析
6.组织usb的知识与设备打开
7.模仿写个设备描述符demo
8.驱动层实现设备描述符获取
9.遍历物理设备对象名称
10.遍历所有winobj对象
11.wdf驱动usb操作介绍
12.驱动遍历接口描述符
13.驱动获取厂家字符串信息
公众号:安全狗的自我修养
github.com/haidragon
## 深入分析usb标准协议
https://mp.weixin.qq.com/s/YpA4YzNeiIjxu2RfyI-wew
14.usb技术概述
15.USB总线结构
16.usb电源管理
17.USB架构与重要概念
18.BusHound分析工具使用
19.USBlyzer分析工具使用
20.USBTrace分析工具使用
21.USB Monitor Pro使用
22.USB Monitor(Device Monitoring Studio)
23.wireshark与其它抓包工具
24.USB协议描述符介绍
25.USB协议设备描述符
26.USB协议配置描述符
27.USB协议接口描述符
28.字符串和语言ID描述符
29.USB协议端点描述符
30.USB设备其它描述符
31.USB帧和微帧
32.USB协议传输、事务与包
33.控制传输及事务组成
34.同步传输及事务组成
35.批量传输及事务组成
36.中断传输及事务组成
37.USB协议-事务总结
38.最小单位-包(组成与分类)
39.USB包-命令类包Token
40.USB包-数据类包DATA
41.USB包-握手类包Handshake
42.USB包-控制传输包结构
43.USB包-同步传输包结构
44.USB包-批量传输包结构
45.USB包-中断传输包结构
46.usb的枚举(基于windows)
47.usb的常用标准请求
48.通过libusb读取鼠标数据
公众号:安全狗的自我修养
github.com/haidragon
## USBPcap源码分析
49.USBPcap源码编译调试与使用
50.USBPcap入口函数分析
51.USBPcap注册成过滤驱动
52.AddDevice函数分析
53.USBPcap设备附加原理分析
54.png例程函数分析
55.动态调试验证设备附加原理
56.DkCreateClose函数分析
57.DkReadWrite函数分析
58.DkDevCtl函数分析
59.DkInDevCtl函数分析
60.USBPcap其它函数分析
61.用户层分析(遍历主控器并获取信息)
62.用户层分析(选择过滤主控器)
63.usbpcap数据包获取
64.不重启电脑附加设备分析
65.USBPcap过滤驱动总结
# 键盘鼠标过滤器
66.键盘过滤器原理分析
67.键盘过滤器代码讲解
68.鼠标过滤驱动
## usbdk源码分析
69.云桌面开源方案使用演示
70.usbdk源码编译与调试
71.单独提取usbdk项目源码
72.usbdk安装成过滤器分析
73.重写usbdk安装程序
74.usbdk与libusb操作介绍
75.libusb接口源码分析
76.usbdk整体结构跟类介绍
77.usbdk入口函数分析
78.usbdk怎么附加设备
79.libusb的open操作源码分析
80.open时候句柄被占问题
81.libusb的遍历设备源码分析
82.libusb的close操作问题
83.adddevice函数分析
84.入队列前的SetCallbacks分析
85.Strategy的选择
86.NullFilterStrategy分析
87.FilterStrategy分析
88.HubFilterStrategy分析
89.HiderStrategy分析
90.RedirectorStrategy分析
91.usbdk的各种ioctls分析
92.usbdk的电源管理
93.重定向逻辑再次梳理与open问题
94.总结
## 虚拟总线
* 95.总线与虚拟总线介绍
* 96.虚拟总线案例演示
* 97.虚拟总线-adddevice源码分析
* 98.动态调试分析虚拟总线设备堆栈
* 99.虚拟总线-控制io源码分析
* 100.注册成虚拟总线原理分析
* 101.继续分析什么是查询总线关系
* 102.用户层简单控制代码分析
* 103.虚拟总线实现设备插源码分析
* 104.虚拟总线实现设备拔源码分析
* 105.虚拟总线实现设备弹出源码分析
* 106.pdo与fdo的pnp总结
* 107.虚拟总线-电源管理分析
* 108.虚拟总线-其它操作函数分析
* 109.功能驱动的安装问题
* 110.动态调试分析功能驱动设备堆栈
* 111.功能驱动的源码简单分析
* 112.整个设备栈过滤驱动介绍
* 113.各层上下过滤驱动介绍与代码分析(功能驱动、总线、class类驱动)
* 114.虚拟总线总结
## usbip源码分析(windows)
### 整体架构
* 115.usbip介绍(USB透传)
* 116.windows上usbip测试
* 117.回顾虚拟usb总线原理
* 118.usbip整个项目代码构架了解
* 119.设备的属性信息获取
* 120.再次理解(pci、usb总线、根设备、主控制器、控制器、集线器)
公众号:安全狗的自我修养
github.com/haidragon
### 虚拟总线
* 121.源码调试分析与adddevice函数简单了解
* 122.vhci-初步了解usbip设备栈
* 123.vhci-简单了解下各FDO和PDO设备数据类型
* 124.vhci-虚拟根设备FDO创建过程
* 125.vhci-虚拟控制器PDO创建过程
* 126.vhci-虚拟根设备png查询处理
* 127.vhci-虚拟控制器FDO创建过程
* 128.vhci-虚拟集线器PDO创建过程
* 129.vhci-虚拟控制器png查询处理
* 130.vhci-虚拟集线器FDO创建过程
* 131.vhci-虚拟集线器子设备PDO创建过程
* 132.vhci-虚拟集线器png查询处理
* 133.vhci-MN_START_DEVICE
* 134.vhci-MN_REMOVE_DEVICE
* 135.vhci-process_pnp_vpdo
* 136.vhci-RESOURCE相关
* 137.vhci-ioctl操作
* 138.vhci-读写操作
* 139.vhci-其它操作处理
### 客户端
* 140.stub-创建与关闭源码分析
* 141.stub-adddevice源码分析
* 142.stub-读写例程源码分析
* 143.stub-控制io源码分析
* 144.stub-电源与pnp源码分析
* 145.用户程序-安装信息获取分析
* 146.怎么透传设备(本地处理)
* 147.数据通信逻辑
公众号:安全狗的自我修养
github.com/haidragon
### usb安全管控
* 148.usb管控介绍
* 149.usb管控常用方案介绍
* 150.遍历所有usb设备路径与id
* 151.遍历所有硬盘(存储)设备路径
* 152.遍历所有盘符(卷)
* 153.安全弹出盘符对应的U盘
* 154.usb设备与盘符映射应问题
* 155.usb唯一标识符问题
* 156.多方案重置usb(restart)
* 157.usbtreeview逆向分析
* 158.usb用户层操作api注意事项
* 159.设备常规状态获取
* 160.从xp到win11通用性问题
* 161.驱动层-usb管控设计
* 162.驱动层-过滤层级问题
* 163.驱动层-单机版黑白名单问题
* 164.驱动层-联网版项目介绍
* 165.驱动层-usb管控绕过对抗问题
* 补1.usbdk源码分析-所有设备列表
* 补2.修复hub复合设备重向定后bug(拔掉设备usbdk设备列表还在)
* 补3.虚拟总线怎么出pdo的原理分析
* 补4.某sxf大厂usb透传客户端解决方案逆向分析
加微信进交流群