4个版本 (2个重大更新)

0.3.0 2024年6月24日
0.2.1 2024年5月31日
0.2.0 2024年5月23日
0.1.0 2024年5月16日

硬件支持 中排名第176

MIT许可证

46KB
1K SLoC

hid-recorder

HID Recorder是一个工具,用于从/dev/hidraw设备记录HID数据,并以人类和机器可读的格式打印HID报告描述符和HID报告。此输出可用于分析和/或重放设备和它们的事件。

这是从hid-tools重写的hid-recorder的Rust实现。

安装

最简单的方法是使用cargo安装

$ cargo install hid-recorder
$ hid-recorder

这将在$CARGO_HOME(通常是$HOME/.cargo)中安装,对于只需分析HID报告描述符(不是设备的事件)的情况就足够了

对于需要记录事件(HID报告)的情况,hid-recorder需要读取相应/dev/hidraw设备的访问权限。通常这意味着您需要以root身份运行。最简单的方法是使用pkexec运行,这将要求您输入用户密码

$ pkexec hid-recorder

或者,您可以安装hid-recorder,以便通过sudo访问它

sudo兼容安装

在$CARGO_HOME中以用户身份安装

这是默认的cargo安装,但需要在运行hid-recorder时手动添加路径

$ cargo install hid-recorder
$ sudo $HOME/.cargo/bin/hid-recorder

在/usr/local中以root身份安装

将hid-recorder安装到/usr/local/,这通常是默认的$PATH的一部分。

$ sudo CARGO_INSTALL_ROOT=/usr/local cargo install hid-recorder
$ sudo hid-recorder

允许非root用户访问设备

这是最不安全的选项,因为一旦授予读取访问权限,任何进程都可以读取设备的事件。如果设备是键盘,这允许键盘记录器读取所有事件。

$ cargo install hid-recorder
$ sudo chmod o+r /dev/hidraw0
$ hid-recorder

推荐在录音完成后移除这些权限

$ sudo chmod o-r /dev/hidraw0

记录设备

典型用法是在问题中请求“附加hid记录”。为此,无需参数运行hid-recorder,并选择相关的设备,例如:

$ sudo hid-recorder
# Available devices:
# /dev/hidraw0:     Microsoft Microsoft® 2.4GHz Transceiver v9.0
# /dev/hidraw1:     Microsoft Microsoft® 2.4GHz Transceiver v9.0
# /dev/hidraw2:     Microsoft Microsoft® 2.4GHz Transceiver v9.0
# /dev/hidraw3:     Logitech USB Receiver
# /dev/hidraw4:     HUION Huion Tablet_H641P
# /dev/hidraw5:     HUION Huion Tablet_H641P
# /dev/hidraw6:     HUION Huion Tablet_H641P
# /dev/hidraw7:     Yubico YubiKey OTP+FIDO+CCID
# /dev/hidraw8:     Logitech ERGO K860
# /dev/hidraw9:     Yubico YubiKey OTP+FIDO+CCID
# Select the device event number [0-9]:

或者直接提供/dev/hidraw路径

$ sudo hid-recorder /dev/hidraw0

使用--help选项查看更多选项。

依赖项

约5-13MB
约145K SLoC