Skip to content
KitploitKITPLOIT
ToolsBlog
Submit
ToolsBlog
Submit

Hacking, PenTest, and Cybersecurity Tools for Your Security Arsenal!

Kitploit is a directory of hacking, cybersecurity, and pentesting tools. Discover the latest project updates to find vulnerabilities, analyze systems, automate testing, and strengthen your security.

··Feeds·Contact·Privacy·© 2026 Kitploit

Tool Directory

Categories

View all categories
Loading categories
kbd-audio — 🎤⌨️ Acoustic keyboard eavesdropping | Kitploit
Tools/GitHubGitHub/ggerganov/kbd-audio
OSINT (Open Source Intelligence)ReconnaissanceInformation Gathering
GitHubggerganov/kbd-audio

kbd-audio

🎤⌨️ Acoustic keyboard eavesdropping

View RepositoryWebsite
9.0k60833 years agoReviewed by Kitploit

Most Popular

View all →

Discover the most used tools by our community.

Explore all tools

Browse our collection of tools

View all tools →
Share

kbd-audio

Actions Status

This is a collection of command-line and GUI tools for capturing and analyzing audio data.

Keytap

The most interesting tool is called keytap - it can guess pressed keyboard keys only by analyzing the audio captured from the computer's microphone.

Check this blog post for more details:

Keytap: description and some random thoughts

Video: short demo of Keytap in action

Try it online:

Keytap2

The keytap2 tool is another interesting tool for recovering text from audio. It does not require training data - instead it uses statistical information about the frequencies of the letters and n-grams in the English language.

A more detailed description of the tool is available here: Keytap2 discussion

Video: short demo of Keytap2 in action

CTF: can you guess the text being typed?

Try it online:

Keytap3

This version introduces significant algorithm improvements and better n-gram statistics compared to keytap2. The attack is now fully automated and does not require any manual intervation during the text recovery process.

Video: short demo of using Keytap3

Video: another example of using Keytap3

GUI for Keytap3

Check if your keyboard is vulnerable to Keytap:

What people say about Keytap

"This works incredibly well.
I hope you realize what you've created (and made available to every person in the world)."
-- ffpip

"I just tried it and it works incredibly well. It kind of makes me want to stop using a mechanical keyboard." -- Karawebnetwork

"This attack and Van Eck phreaking are why Edward Snowden, while typing passwords and other sensitive information, would pull a blanket over himself and his laptop." -- aarchi

"This is what mechanical keyboard users deserve" -- super guy

"fuck.." -- Lluis Franco

Build instructions

Dependencies:

  • SDL2 - used to capture audio and to open GUI windows libsdl

    root@kitploit:~
    [Ubuntu]
    $ sudo apt install libsdl2-dev
    
    [Mac OS with brew]
    $ brew install sdl2
    
    [MSYS2]
    $ pacman -S git cmake make mingw-w64-x86_64-dlfcn mingw-w64-x86_64-gcc mingw-w64-x86_64-SDL2
    
  • FFTW3 (optional) - some of the helper tools perform Fourier transformations fftw

Linux, FreeBSD, Mac OS, Windows (MSYS2 + MinGW)

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

Tools

Short summary of the available tools. If the status of the tool is not stable, expect problems and non-optimal results.

Tool details

  • record-full

    Record audio to a raw binary file on disk

    root@kitploit:~
    ./record-full output.kbd [-cN]
    

  • play-full

    Playback a recording captured via the record-full tool

    root@kitploit:~
    ./play-full input.kbd [-pN]
    

  • record

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

    root@kitploit:~
    ./record output.kbd [-cN] [-CN]
    

  • play

    Playback a recording created via the record tool

    root@kitploit:~
    ./play input.kbd [-pN]
    

  • keytap

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

    root@kitploit:~
    ./keytap input0.kbd [input1.kbd] [input2.kbd] ... [-cN] [-CN] [-pF] [-tF]
    

  • keytap-gui

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

    root@kitploit:~
    ./keytap-gui input0.kbd [input1.kbd] [input2.kbd] ... [-cN] [-CN]
    

    Online demo: https://keytap.ggerganov.com


  • keytap2-gui record.kbd n-gram-dir [-pN] [-cN] [-CN]

    Detect pressed keys via microphone audio capture. Uses statistical information (n-gram frequencies) about the language. . The input file has to be generated via the tool and contains the audio data that will be analyzed. The folder file has to contain n-gram probability files for the corresponding language.

Feedback

Any feedback about the performance of the tools is highly appreciated. Please drop a comment here.

Download Tool
NameTypeStatus
recordtextstable
record-fulltextstable
playtextstable
play-fulltextstable
view-guiguistable
view-full-guiguistable
key-detectortextstable
keytaptextstable
keytap-guiguistable
keytap2-guiguistable
keytap3textstable
keytap3-guiguistable
-extra-
guess-qptextexperiment
guess-qp2textexperiment
keytap3-multitextexperiment
scaletextexperiment
subreaktextexperiment
key-average-guiguiexperiment
keytap2textexperiment
No training data is required
'record.kbd'
record-full
'n-gram-dir'
root@kitploit:~
./keytap2-gui record.kbd ../data

Online demo: https://keytap2.ggerganov.com


  • keytap3

    Fully automated recovery of unknown text from audio recordings.

    root@kitploit:~
    ./keytap3 input.kbd ../data [-cN] [-CN] [-pF] [-tF] [-FN] [-fN]
    

    Online demo: https://keytap3.ggerganov.com


  • keytap3-gui

    GUI version of the keytap3 tool.

    root@kitploit:~
    ./keytap3-gui input.kbd ../data [-cN] [-CN] [-pF] [-tF] [-FN] [-fN]
    

    Online demo: https://keytap3-gui.ggerganov.com


  • view-full-gui

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

    root@kitploit:~
    ./view-full-gui input.kbd [-pN]
    

    view-full-gui


  • view-gui

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

    root@kitploit:~
    ./view-gui input.kbd [-pN]
    

    view-full-gui