16 puntos por soulee 2023-04-11 | 5 comentarios | Compartir por WhatsApp

El teclado virtual (vKeyboard), ampliamente usado como programa de seguridad en sitios web financieros, gubernamentales y otros, es uno de los principales factores que dificultan las tareas de crawling. En respuesta a esto, presentamos una biblioteca de Python que ofrece una forma de evadir el teclado virtual.

La evasión del teclado virtual se realiza analizando la similitud con imágenes capturadas previamente. Para ello, primero se preparan la imagen y los datos del teclado virtual usando vKeypad-Studio.

Cómo usar vKeypad-Studio

  1. Prepara la imagen del teclado virtual.
  2. Sube la imagen del teclado virtual a Figma.
  3. En Figma, usa la herramienta de rectángulo para cubrir cada tecla del teclado virtual.
  4. Exporta el trabajo hecho en Figma como un archivo SVG.
  5. En la terminal, ingresa el comando vkeypad-studio [archivo de imagen] [archivo SVG].
  6. En la nueva ventana que aparece, presiona las teclas del teclado correspondientes a la imagen.
  7. Guarda por separado los archivos de imagen de la carpeta assets generada y el archivo data.json.

Ahora puedes usar la biblioteca de Python que permite evadir el teclado virtual con los datos preparados. Con esto, es posible evadir los teclados virtuales de sitios gubernamentales o financieros y realizar tareas de crawling de forma más fluida.

5 comentarios

 
roxie 2023-04-12

¿No se puede aplicar en los casos en que la distribución de teclas sigue cambiando?

 
soulee 2023-04-12

Está hecha asumiendo, básicamente, casos en los que la disposición de las teclas cambia constantemente.
Si generas imágenes con anticipación usando vkeypad-studio, es posible reconocerlas mediante análisis de similitud con esas imágenes aunque cambie la disposición de las teclas.

 
roxie 2023-04-12

Ah, ya veo... Solo con el README y el video me costó entender cómo funciona. Tampoco parecía que necesariamente tuviera que ser Figma, pero como se mencionaba explícitamente Figma también resultaba confuso. En fin, lo probaré más adelante. Gracias.

 
soulee 2023-04-12

Para dar una explicación adicional, básicamente reconoce qué tecla está en qué posición mediante análisis de similitud de imágenes.

Para realizar ese análisis de similitud de imágenes, se necesita una imagen para cada tecla, y la herramienta creada para automatizar eso es vkeypad-studio.
Si se apilan rectángulos sobre la imagen del teclado mediante Figma, se acumulan capas en el SVG. Se extraen las coordenadas de esas capas para recortar la imagen y registrar las coordenadas y el keycode.
Y luego, con las imágenes guardadas de esta forma y las coordenadas, es posible analizar las teclas.

En realidad, hacer que se usara Figma fue simplemente por comodidad para el usuario. Como la mayoría de los teclados virtuales tienen ancho fijo y el auto-align que ofrece Figma es tan bueno, pensé que podía ofrecer este flujo de trabajo así, pero ahora creo que incluso podría sentirse más difícil.

 
soulee 2023-04-12

Fue un error de mi parte no explicarlo correctamente en el README... Con las opiniones que me compartieron, voy a revisarlo para que quede más claro.