Это набор инструментов командной строки и графического интерфейса для захвата и анализа аудиоданных.
Самый интересный инструмент называется KeyTap - он может догадаться нажатыми клавишами клавиатуры только путем анализа звука, захваченного с микрофона компьютера.
Проверьте этот пост в блоге для получения более подробной информации:
KeyTap: описание и некоторые случайные мысли
Видео: короткая демонстрация KeyTap в действии
Попробуйте онлайн:
Инструмент KeyTap2 - еще один интересный инструмент для восстановления текста из аудио. Это не требует учебных данных - вместо этого он использует статистическую информацию о частотах букв и N -граммов на английском языке.
Более подробное описание инструмента доступно здесь: обсуждение keytap2
Видео: короткая демонстрация KeyTap2 в действии
CTF: Можете ли вы догадаться, что текст печатается?
Попробуйте онлайн:
Эта версия вводит значительные улучшения алгоритма и лучшую статистику N-граммы по сравнению с KeyTAP2. Атака в настоящее время полностью автоматизирована и не требует каких -либо ручных интерваций во время процесса восстановления текста.
Видео: короткая демонстрация использования keytap3
Видео: еще один пример использования KeyTap3
GUI для KeyTAP3
Проверьте, уязвима ли ваша клавиатура для KeyTap:
"Это работает невероятно хорошо.
Я надеюсь, что вы поймете, что вы создали (и предоставлены каждому человеку в мире). " - FFPIP
«Я просто попробовал это, и это работает невероятно хорошо. Это заставляет меня хотеть прекратить использовать механическую клавиатуру». - Karawebnetwork
«Эта атака и фракция Ван Эка - вот почему Эдвард Сноуден, набирая пароли и другую конфиденциальную информацию, потянула одеяло над собой и своим ноутбуком». - Архи
«Это то, чего заслуживают пользователи механической клавиатуры» - Super Guy
"Черт .." - Lluis Franco
Зависимости:
SDL2 - используется для захвата звука и открытия GUI Windows Libsdl
[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 (необязательно) - Некоторые из вспомогательных инструментов выполняют преобразования Фурье FFTW
Linux, FreeBSD, Mac OS, Windows (MSYS2 + Mingw)
git clone https://github.com/ggerganov/kbd-audio
cd kbd-audio
git submodule update --init
mkdir build && cd build
cmake ..
make
Краткое краткое изложение доступных инструментов. Если статус инструмента не является стабильным , ожидайте проблем и не оптимальных результатов.
Имя | Тип | Статус |
---|---|---|
записывать | текст | стабильный |
Запись | текст | стабильный |
играть | текст | стабильный |
Играть | текст | стабильный |
View-Gui | графический интерфейс | стабильный |
Просмотр-искупаемые | графический интерфейс | стабильный |
ключевой детектор | текст | стабильный |
KeyTap | текст | стабильный |
keytap-gui | графический интерфейс | стабильный |
keytap2-gui | графический интерфейс | стабильный |
keytap3 | текст | стабильный |
keytap3-gui | графический интерфейс | стабильный |
- | дополнительный | - |
Угадай Кп | текст | эксперимент |
Угадайте qp2 | текст | эксперимент |
keytap3-multi | текст | эксперимент |
шкала | текст | эксперимент |
подкрипт | текст | эксперимент |
Ключевой средний-gui | графический интерфейс | эксперимент |
keytap2 | текст | эксперимент |
Запись
Запишите звук в необработанном двоичном файле на диске
./record-full output.kbd [-cN]
Играть
Воспроизведение записи, снятую с помощью инструмента полного записи
./play-full input.kbd [-pN]
записывать
Записывайте аудио только во время печати. Полезно для сбора обучающих данных для KeyTap
./record output.kbd [-cN] [-CN]
играть
Воспроизведение записи, созданной с помощью инструмента записи
./play input.kbd [-pN]
KeyTap
Обнаружение нажатых клавиш с помощью микрофона Аудио захвата в режиме реального времени. Использует учебные данные, полученные через инструмент записи .
./keytap input0.kbd [input1.kbd] [input2.kbd] ... [-cN] [-CN] [-pF] [-tF]
keytap-gui
Обнаружение нажатых клавиш с помощью микрофона Аудио захвата в режиме реального времени. Использует учебные данные, полученные через инструмент записи . Версия GUI.
./keytap-gui input0.kbd [input1.kbd] [input2.kbd] ... [-cN] [-CN]
Онлайн демо: https://keytap.ggerganov.com
keytap2-gui record.kbd n-gram-dir [-pn] [-cn] [-cn]
Обнаружение нажатых клавиш с помощью микрофона. Использует статистическую информацию (частоты N-грамма) о языке. Данные обучения не требуются . Входной файл «record.kbd» должен быть сгенерирован с помощью инструмента Record-Full и содержит аудиодатику, которые будут проанализированы. Файл папки «n-gram-dir» должен содержать файлы вероятности N-грамма для соответствующего языка.
./keytap2-gui record.kbd ../data
Онлайн демо: https://keytap2.ggerganov.com
keytap3
Полностью автоматизированное восстановление неизвестного текста из аудиозаписей.
./keytap3 input.kbd ../data [-cN] [-CN] [-pF] [-tF] [-FN] [-fN]
Онлайн демо: https://keytap3.ggerganov.com
keytap3-gui
GUI версия инструмента KeyTap3 .
./keytap3-gui input.kbd ../data [-cN] [-CN] [-pF] [-tF] [-FN] [-fN]
Онлайн демо: https://keytap3-gui.ggerganov.com
Просмотр-искупаемые
Визуализируйте сигналы, записанные с помощью рекордного инструмента. Также может воспроизводить аудиоданные.
./view-full-gui input.kbd [-pN]
View-Gui
Визуализировать учебные данные, записанные с помощью инструмента записи . Также может воспроизводить аудиоданные.
./view-gui input.kbd [-pN]
Любые отзывы о производительности инструментов высоко ценится. Пожалуйста, оставьте комментарий здесь.