hcesar / captcha-solver-js

45 stars 23 forks source link

Ajuda #1

Open kotik1998 opened 7 years ago

kotik1998 commented 7 years ago

Ola, eu gostava de perguntar se da para decifrar este tipo de captcha, se for possivel obrigado download transferir

hcesar commented 7 years ago

Com o código da forma como está, certamente que não funcionaria.

Esse CAPTCHA possui alguns elementos que faz ele parecer ser muito difícil, mas não é.

O background você deve conseguir remover apenas testando o pixel mais comum coluna a coluna.

Feito isso, basta separar cada elemento pela sua cor, pois não há nenhuma variação de cor em cada objeto.

Daí você pode descartar os objetos que são apenas ruídos olhando apenas para a largura (os ruídos São sempre bem mais largos que as letras)

Por último tem o trabalho mais difícil que é traduzir os objetos detectados em letras (mas não deve ser tão difícil assim, porque eles usam a mesma fonte e não aplicam nenhuma distorção).

De onde é esse captcha?

kotik1998 commented 7 years ago

Ola de novo, muito obrigado por responder! Este captcha é de um site de apostas de skins de csgo, nesse site temos moedas gratuitas hora a hora e para as colher necessito de escrever estes captchas, mas queria fazer isso auto. Existe possiblidade de fazer isso? Obrigado.

kotik1998 commented 7 years ago

Eu por acaso reparei na mesma fonte que as imagem tem, parece ser arial, mas não tenho a certeza. Aqui mostro mais imagens do website: sss sssss ss ssss ssssss

hcesar commented 7 years ago

Como eu imaginei, o background é bem fácil de remover. Veja em:

https://jsfiddle.net/row3vcoL/4/

O próximo passo é separar cada objeto por cor (uma vez que, aparentemente, nenhum objeto tem a mesma cor que o outro).

Se você olhar no código (e nos logs do console) você vai ver que todos os pixels distintos já estão identificados.

O ideal é que tivesse retornado apenas o número de objetos na imagem (+- 11), porém, existem pequenas variações (provavelmente sobras nas bordas) então está retornando 2884. será necessário filtrar isso, para então extrair objeto por objeto.

Depois disso você poderia aplicar algum tipo de OCR ou fazer um pattern matching simples, uma vez que estão usando a mesma fonte e sem nenhuma distorção.

kotik1998 commented 7 years ago

Olá. Então é mesmo possivel "descodificar" esses captchas, da para usar esse descodificador como você tem no seu website ( http://hcesar.github.io/captcha-solver-js/ ), para descodificar estes captchas e escrever o resultado delas sem espaços?