KBD-Audio : Tools For Capturing & Analysing Keyboard Input Paired With Microphone Capture

KBD-Audio is a collection of command-line and GUI tools for capturing and analyzing audio data. The most interesting tool is called keytap – it can guess pressed keyboard keys only by analyzing the audio captured from the computer’s microphone.

KBD-Audio Installation

git clone https://github.com/ggerganov/kbd-audio
cd kbd-audio
git submodule update --init
mkdir build && cd build
cmake ..
make

Also ReadNodeJsScan – Static Security Code Scanner For Node.js Applications

Tools

record-full

Record audio to a raw binary file on disk

Usage: ./record-full output.kbd

play-full

Playback a recording captured via the record-full tool

Usage: ./play-full input.kbd

record

Record audio only while typing. Useful for collecting training data for keytap

Usage: ./record output.kbd

play

Playback a recording created via the record tool

Usage: ./play input.kbd

keytap

Detect pressed keys via microphone audio capture in real-time. Uses training data captured via the record tool.

Usage: ./keytap-gui input0.kbd [input1.kbd] [input2.kbd] ...

Demo

keytap2

Detect pressed keys via microphone audio capture. Uses statistical information (n-gram frequencies) about the language. No training data is required. The ‘recording.kbd’ input file has to be generated via the record-full tool and contains the audio data that will be analyzed. The ‘n-gram.txt’ file has to contain n-gram probabilities for the corresponding language.

Usage: ./keytap2-gui recording.kbd n-gram.txt

view-full

Visualize waveforms recorded with the record-full tool. Can also playback the audio data.

Usage: ./view-full-gui input.kbd

view

Visualize training data recorded with the record tool. Can also playback the audio data.

Usage: ./view-gui input.kbd

You can follow us on LinkedinTwitterFacebook for daily Cybersecurity updates also you can take the Best Cybersecurity courses online to keep your self-updated.

R K

Recent Posts

git fetch vs git pull: How They Work and When to Use Each

Both git fetch and git pull talk to a remote repository, but they do very different things to your…

5 days ago

git cherry-pick Command: Apply Commits from Another Branch

Sometimes the change you need already exists, just on the wrong branch. A hotfix lands…

5 days ago

Best Email APIs for Secure Business Email: Why Developers Are Moving Beyond SMTP

Email is still one of the most important communication channels inside modern applications. Password resets,…

6 days ago

Nginx Commands in Linux: Start, Stop, Reload, Test, and Log

Nginx is a high-performance web server and reverse proxy trusted by some of the largest…

1 week ago

ufw Command in Linux: Manage Firewall Rules with Examples

ufw (Uncomplicated Firewall) sits on top of iptables (or nftables on newer systems) and replaces…

1 week ago

who Command in Linux: Show All Logged-In Users and Sessions

When you share a server with a team or investigate unexpected activity, the first question…

1 week ago