前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >kbd-audio:通过麦克风来捕获和分析键盘输入的工具

kbd-audio:通过麦克风来捕获和分析键盘输入的工具

作者头像
FB客服
发布2018-12-28 11:26:34
9760
发布2018-12-28 11:26:34
举报
文章被收录于专栏:FreeBuf

前言

kbd-audio项目是一系列用于捕获和分析音频数据的命令行和GUI工具的集合。其中我认为最有意思的一款工具是keytap,它可以通过麦克风来捕获和分析键盘的输入,从而猜测出按键内容。

有关keytap的更多信息,可以参阅以下博文及演示视频:

Keytap: description and some random thoughts

构建说明

相关依赖

SDL2 - 用于捕获音频和打开GUI windows libsdl

FFTW3 - 一些辅助工具执行傅里叶变换(Fourier Transformation)fftw

Linux & Mac OS

代码语言:javascript
复制
git clone https://github.com/ggerganov/kbd-audio
cd kbd-audio
git submodule update --init
mkdir build && cd build
cmake ..
make

Windows

代码语言:javascript
复制
(todo, PRs welcome)

工具集

record-full

将音频录制到磁盘上的原始二进制文件

代码语言:javascript
复制
./record-full output.kbd

play-full

播放通过record-full捕获的录制内容

代码语言:javascript
复制
./play-full input.kbd

record

仅在键入时录制音频。用于收集keytap的训练数据

代码语言:javascript
复制
./record output.kbd

play

播放通过record创建的录制内容

代码语言:javascript
复制
./play input.kbd

keytap

通过麦克风音频实时检测并捕获按下的键。使用record捕获的训练数据。

代码语言:javascript
复制
./keytap-gui input0.kbd [input1.kbd] [input2.kbd] ...

Live demo(需要启用WebAssembly pthreads和SharedArrayBuffer)

keytap2(正在开发中)

通过麦克风音频实时检测并捕获按下的键。使用关于语言的统计信息(n-gram频率)。无需训练数据。recording.kbd输入文件必须通过record-full生成,并包含将要分析的音频数据。n-gram.txt文件必须包含相应语言的n-gram概率。

代码语言:javascript
复制
./keytap2-gui recording.kbd n-gram.txt

反馈

如果你对该工具有任何的疑问或建议,欢迎在此处留下你的评论。

*参考来源:GitHub,FB小编secist编译,转载请注明来自FreeBuf.COM

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2018-12-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 FreeBuf 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 构建说明
    • 相关依赖
      • Linux & Mac OS
        • Windows
        • 工具集
          • record-full
            • play-full
              • record
                • play
                  • keytap
                    • keytap2(正在开发中)
                    • 反馈
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档