bibi地址:
haidragonx的个人空间-haidragonx个人主页-哔哩哔哩视频 (bilibili.com)
目前有的课程有:
ebpf
linux/android漏洞
windows二进制安全/usb虚拟化
ios逆向
usb虚拟化大纲
目录:
公众号:安全狗的自我修养
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总线、根设备、主控制器、控制器、集线器)
### 虚拟总线
* 121.源码调试分析与adddevice函数简单了解
* 122.vhci-初步了解usbip设备栈
* 123.vhci-各FDO和PDO设备数据类型
* 124.vhci-虚拟根设备初始化源码分析
* 125.vhci-虚拟控制器设备初始化源码分析(上)
* 126.vhci-虚拟控制器设备初始化源码分析(下)
* 127.vhci-虚拟集线器设备初始化源码分析(上)
* 128.vhci-虚拟集线器设备初始化源码分析(下)
* 129.vhci-集线器设备了设备管理源码分析
* 130.vhci-根设备io操作
* 131.vhci-控制器设备io操作
* 132.vhci-集线器设备io操作
* 133.vhci-根设备pnp操作
* 134.vhci-控制器设备pnp操作
* 135.vhci-集线器设备pnp操作
* 136.vhci-根设备io操作
* 137.vhci-控制器设备io操作
* 138.vhci-集线器设备io操作
* 139.vhci-读写操作
* 140.vhci-打开与关闭
* 141.vhci-不同设备电源管理
* 142.vhci-根设备pnp操作(MN_START)
* 143.vhci-根设备pnp操作(MN_STOP)
* 144.vhci-根设备pnp操作(MN_REMOVE)
* 145.vhci-根设备pnp操作(QUERY_ID/TEXT/INTERFACE)
* 146.vhci-根设备pnp操作(MN_QUERY_DEVICE_RELATIONS)
* 147.vhci-根设备pnp操作(MN_QUERY_CAPABILITIES)
* 148.vhci-根设备pnp操作(MN_OTHER)
* 149.vhci-控制器设备pnp操作(MN_START)
* 150.vhci-控制器设备pnp操作
* 151.vhci-控制器设备pnp操作
* 150.vhci-集线器设备pnp操作
* 151.vhci-集线器设备pnp操作
* ...
### 虚拟客户端
* 12.stub-创建与关闭源码分析
* 13.stub-adddevice源码分析
* 14.stub-读写例程源码分析
* 15.stub-控制io源码分析
* 16.stub-电源管理分析分析
* 17.stub-pnp源码分析
* 18.用户程序-安装信息获取分析
* ...
### 通信协议
* 19.网络通信协议分析
* 20.总结
* ...
* 补1.usbdk源码分析-所有设备列表
ios 逆向大纲
漏洞 大纲
ebpf大纲