Keytap – escucha acústica a la entrada del teclado.
Herramientas para capturar y analizar entradas de teclado combinadas con captura de micrófono
El objetivo principal es utilizar el sonido producido presionando las teclas del teclado como un canal lateral para adivinar el contenido del texto escrito.
Para hacer esto, el algoritmo toma como datos de entrada un conjunto de entrenamiento que consiste en grabaciones de audio, junto con las teclas correspondientes marcadas durante esta grabación.
Usando estos datos, el algoritmo estudia el sonido de varias pulsaciones y luego intenta reconocer los sonidos solo con la ayuda del sonido capturado.
El conjunto de entrenamiento es muy específico, en el sentido de que está dirigido a una configuración: el teclado, el micrófono y la posición relativa entre ellos.
Cambiar cualquiera de estos factores hace que este enfoque sea inútil.
Como beneficio adicional, la implementación actual hace un pronóstico en tiempo real.
Las principales etapas de implementación son las siguientes:
- recopilación de datos de entrenamiento
- Creación de un modelo de previsión (etapa de formación).
- detección de pulsaciones de teclas
- predicción clave para pulsaciones de teclas detectadas
En la implementación actual, el sonido de pulsación de teclas intermedio simplemente se descarta.
Solo guardamos el sonido durante 75-100 ms antes y después del clic real.
Esto es un poco complicado, ya que parece que hay retrasos aleatorios entre las pulsaciones de teclas y un evento registrado por el programa; lo más probable es que estén involucrados factores de hardware y software.
- SDL2: se utiliza para capturar audio y abrir ventanas GUI de libsdl
- FFTW3: algunas herramientas auxiliares realizan transformaciones de FFT fourier
¯ \ _ (ツ) _ / ¯
Nota: Información para la investigación, formación o auditoría. La aplicación en los fines mercenarios está castigada por la legislación Española.