kbd-audio项目是一系列用于捕获和分析音频数据的命令行和GUI工具的集合。其中我认为最有意思的一款工具是keytap,它可以通过麦克风来捕获和分析键盘的输入,从而猜测出按键内容。
有关keytap的更多信息,可以参阅以下博文及演示视频:
Keytap: description and some random thoughts
SDL2 - 用于捕获音频和打开GUI windows libsdl
FFTW3 - 一些辅助工具执行傅里叶变换(Fourier Transformation)fftw
git clone https://github.com/ggerganov/kbd-audio
cd kbd-audio
git submodule update --init
mkdir build && cd build
cmake ..
make
(todo, PRs welcome)
将音频录制到磁盘上的原始二进制文件
./record-full output.kbd
播放通过record-full捕获的录制内容
./play-full input.kbd
仅在键入时录制音频。用于收集keytap的训练数据
./record output.kbd
播放通过record创建的录制内容
./play input.kbd
通过麦克风音频实时检测并捕获按下的键。使用record捕获的训练数据。
./keytap-gui input0.kbd [input1.kbd] [input2.kbd] ...
Live demo(需要启用WebAssembly pthreads和SharedArrayBuffer)
通过麦克风音频实时检测并捕获按下的键。使用关于语言的统计信息(n-gram频率)。无需训练数据。recording.kbd输入文件必须通过record-full生成,并包含将要分析的音频数据。n-gram.txt文件必须包含相应语言的n-gram概率。
./keytap2-gui recording.kbd n-gram.txt
如果你对该工具有任何的疑问或建议,欢迎在此处留下你的评论。
*参考来源:GitHub,FB小编secist编译,转载请注明来自FreeBuf.COM