鼠标流量
基础知识
USB协议鼠标数据部分在Leftover Capture Data域中,数据长度为四个字节
第一个字节,代表按键
当取00时,代表没有按键
当取01时,代表按左键
当取02时,代表当前按键为右键
当值为正时,代表鼠标右移像素位;
值为负时,代表鼠标左移像素位。
计算步骤
**(1) 将十六进制转换为二进制**
示例:
0x02 → 00000010,
0xFE → 11111110。
**(2) 判断符号位**
最高位(第7位)为符号位:
0 → 正数(直接转换)。
1 → 负数(需计算补码)。
**(3) 正数直接转换**
示例:
0x02(二进制 00000010)→ **+2**。
**(4) 负数补码转换**
取反:所有二进制位翻转(0→1,1→0)。
加1:结果加1。
添加负号:最终值为负数。
示例:
0xFE(二进制 11111110)符号位为 1 → 负数。
取反 →
00000001。加1 → 00000010(即十进制为2)。最终值 → **-2**。
3. 物理移动方向
正值:向右移动(例如 +2 → 右移2个单位)。
负值:向左移动(例如 -2 → 左移2个单位)。
常见值示例
|
|
|
|
---|---|---|---|
0x00 |
00000000 |
|
|
0x7F |
01111111 |
|
|
0x80 |
10000000 |
|
|
0xFE |
11111110 |
|
|
0xFF |
11111111 |
|
|
当值为正时,代表鼠标上移像素位;
值为负时,代表鼠标下移像素位。
标准8字节键盘数据格式
|
|
|
---|---|---|
字节1 |
|
|
字节2 |
|
0x00 ,部分设备可能用于扩展功能(如多媒体键)。 |
字节3-8 |
|
|
字节1:Modifier Keys(功能键位掩码)
|
|
|
|
---|---|---|---|
|
|
|
1 。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
字节3-8:普通按键码(HID Usage ID)
|
|
|
---|---|---|
0x00 |
|
|
0x04 |
|
|
0x05 |
|
|
0x06 |
|
|
0x07 |
|
|
0x08 |
|
|
0x09 |
|
|
0x0A |
|
|
0x0B |
|
|
0x0C |
|
|
0x0D |
|
|
0x0E |
|
|
0x0F |
|
|
0x10 |
|
|
0x11 |
|
|
0x12 |
|
|
0x13 |
|
|
0x14 |
|
|
0x15 |
|
|
0x16 |
|
|
0x17 |
|
|
0x18 |
|
|
0x19 |
|
|
0x1A |
|
|
0x1B |
|
|
0x1C |
|
|
0x1D |
|
|
0x1E |
|
|
0x1F |
|
|
0x20 |
|
|
0x21 |
|
|
0x22 |
|
|
0x23 |
|
|
0x24 |
|
|
0x25 |
|
|
0x26 |
|
|
0x27 |
|
|
0x28 |
|
|
0x29 |
|
|
0x2A |
|
|
0x2B |
|
|
0x2C |
|
|
0x2D |
|
|
0x2E |
|
|
0x2F |
|
|
0x30 |
|
|
0x31 |
|
|
0x33 |
|
|
0x34 |
|
|
0x35 |
|
|
0x36 |
|
|
0x37 |
|
|
0x38 |
|
|
0x39 |
|
|
0x3A |
|
|
0x3B |
|
|
|
|
|
0x52 |
|
|
0x51 |
|
|
0x50 |
|
|
0x4F |
|
|
python run_GUI.py
数据包工具
原文始发于微信公众号(信安一把索):流量分析 - USB流量分析基础篇 (带一把梭工具)
免责声明:文章中涉及的程序(方法)可能带有攻击性,仅供安全研究与教学之用,读者将其信息做其他用途,由读者承担全部法律及连带责任,本站不承担任何法律及连带责任;如有问题可邮件联系(建议使用企业邮箱或有效邮箱,避免邮件被拦截,联系方式见首页),望知悉。
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论