
bad_usb_ch552+437243R
简介
复合hid设备,实现键盘+鼠标+U盘的功能。
简介:复合hid设备,实现键盘+鼠标+U盘的功能。开源协议
:Public Domain
描述
硬件设计
- 使用ch552g作为主控芯片;
- 使用flash芯片(W25Q64)和tf卡作为存储载体,伪装成u盘/读卡器;
- 通过按键进行外部人机交互,使用led闪烁反馈执行情况。
软件设计
- hid设备通信协议:当设备插入电脑时作为鼠标/键盘/u盘复合设备,自动打开cmd命令行窗口并输入命令;
- spi通信协议:通过spi通信协议读写tf卡和flash芯片;
- FAT32文件管理系统:管理tf卡和flash数据;
- txt文件读取:保存特定名称的文件,设备插入电脑会自动执行里面的指令。
已实现功能
- 如下图所示,本设备复合了键盘、鼠标和U盘的功能
2.鼠标/键盘的执行程序可以在烧录时写入,也可以将数据文件拷贝到U盘进行保存
3.设备有3个按键,暂时使用一个,在插入U盘时,如果按住key0,则不执行保存的鼠标/键盘执行程序,否则将在初始化USB完成1s后自动执行
4.鼠标/键盘的执行程序可以用python程序(见附件)生成,有延时、按键、字符串、鼠标移动/按下/滚轮、绘制图片等函数,基本满足所有操作需求,现阶段的python程序按代码生成鼠标/键盘的可执行程序,其可视化的工作正在进行中
5.设备还存在bug(不影响基本功能),其U盘内存较小,内存卡的功能暂时没加上,接下来将会解决这些问题,并将其伪装为读卡器,只有按下key0才能显示flash的U盘并进行鼠标/键盘可执行程序的更改,并将key1/key2对应上其他执行代码的程序,另外,使用cc2540带蓝牙的badusb也在测试中,将实现使用手机蓝牙连接模拟鼠标/按键、蓝牙读取tf卡等功能。
设计图
BOM
ID | Name | Designator | Footprint | Quantity |
---|---|---|---|---|
1 | TF-012 | TF1 | TF-SMD_TF-012 | 1 |
2 | W25Q128JWSIQ | U2 | SOIC-8_L5.3-W5.3-P1.27-LS8.0-BL | 1 |
3 | 30K | R1,R2,R3 | R0402 | 3 |
4 | 10K | R4,R5,R6,R7,R8 | R0402 | 5 |
5 | FC-DA1608BK-470H10 | LED3 | LED0603-RD | 1 |

评论