16 pontos por soulee 2023-04-11 | 5 comentários | Compartilhar no WhatsApp

O teclado virtual (vKeyboard), amplamente usado como programa de segurança em sites financeiros, governamentais e outros, é um dos principais fatores que dificultam tarefas de crawling. Para lidar com isso, apresentamos uma biblioteca Python que fornece uma forma de contornar teclados virtuais.

O desvio do teclado virtual é feito analisando a similaridade com imagens capturadas previamente. Para isso, primeiro use o vKeypad-Studio para preparar as imagens e os dados do teclado virtual.

Como usar o vKeypad-Studio

  1. Prepare a imagem do teclado virtual.
  2. Envie a imagem do teclado virtual no Figma.
  3. No Figma, use a ferramenta de retângulo para cobrir cada tecla do teclado virtual.
  4. Exporte o trabalho feito no Figma como um arquivo SVG.
  5. No terminal, digite o comando vkeypad-studio [arquivo de imagem] [arquivo SVG].
  6. Na nova janela exibida, pressione as teclas do teclado correspondentes à imagem.
  7. Guarde separadamente os arquivos de imagem e o arquivo data.json gerados na pasta assets.

Agora, você pode usar a biblioteca Python para executar o desvio do teclado virtual com os dados preparados. Com isso, é possível contornar os teclados virtuais de sites governamentais ou financeiros e realizar tarefas de crawling com mais fluidez.

5 comentários

 
roxie 2023-04-12

Isso não pode ser aplicado em casos em que a disposição das teclas continua mudando?

 
soulee 2023-04-12

Foi criado basicamente assumindo casos em que a disposição das teclas continua mudando.
Se você gerar imagens com antecedência usando vkeypad-studio, é possível reconhecê-las por meio de análise de similaridade com essas imagens, mesmo que a disposição das teclas mude.

 
roxie 2023-04-12

Ah, entendi... Só com o README e o vídeo foi difícil entender como funciona. Também não parecia que precisava ser necessariamente o Figma, então o fato de mencionar claramente o Figma acabou sendo meio confuso. Enfim, vou experimentar depois. Obrigado.

 
soulee 2023-04-12

Explicando melhor, basicamente ele reconhece em que posição está cada tecla por meio de análise de similaridade de imagem.

Para fazer a análise de similaridade de imagem, é necessária uma imagem de cada tecla, e a ferramenta criada para automatizar isso é o vkeypad-studio.
Ao sobrepor retângulos na imagem do teclado pelo Figma, camadas são empilhadas no SVG. Extraímos as coordenadas dessas camadas para recortar a imagem e registrar as coordenadas e o keycode.
E então, com essas imagens salvas e as coordenadas, é possível analisar as teclas.

Na verdade, a decisão de fazer usar o Figma foi simplesmente pela conveniência do usuário. A maioria dos teclados virtuais tem largura fixa, e como o auto-align oferecido pelo Figma é muito bom, achei que daria para oferecer esse fluxo dessa forma, mas pode ser que isso acabe parecendo ainda mais difícil.

 
soulee 2023-04-12

Foi uma falha minha não ter conseguido explicar isso direito no README.. Com base nas opiniões que vocês deram, vou tentar revisar o README para deixá-lo mais claro.