Maison > Article > interface Web > Utilisez le canevas HTML5 pour déchiffrer un code de vérification simple et les compétences du didacticiel application_html5 de l'interface getImageData
Le système de gestion académique de notre école (il semble être utilisé par plus que notre école), le serveur plante sans explication lorsqu'il s'agit de sélection de cours. Parfois, pour sélectionner un cours, je dois saisir à plusieurs reprises le code de vérification. Quand je pense aux milliers d'étudiants qui perdent leur temps après avoir entré le code de vérification, j'ai senti que j'avais l'obligation de sauver l'humanité.
Après recherche, j'ai vu cet article, qui a été écrit il y a 3 ans. J'ai fait référence à la première moitié et j'ai utilisé le plug-in TamperMonkey pour obtenir à peu près l'effet souhaité. Vous pouvez obtenir ce script sur Userscript, il est également disponible sur GitHub. Le code est moche, veuillez le déboguer, donnez-moi quelques conseils.
Parlons de l'idée : Le canevas en HTML 5 possède une interface getImageData qui peut être utilisée pour obtenir des données de pixels à partir de l'image du code de vérification. Chaque pixel a quatre valeurs correspondant à r, g, b et a. r, g et b sont les trois couleurs rouge, vert et bleu, et a est la transparence.
J'ai observé que le code de vérification du système de gestion éducative est à 5 chiffres et que la taille de la police reste la même. Bien qu'il y ait des interférences en arrière-plan, elle est évidemment très différente de la couleur de la police, j'ai donc utilisé. une très grande méthode approximative : nous savons que plus la couleur est claire, plus la valeur RVB est élevée, et plus la couleur est foncée, plus la valeur RVB est petite. J'ai donc jugé chaque pixel. Si la somme des RVB est inférieure à 350 (cette valeur est mesurée), c'est un pixel appartenant à la police. Pour la commodité de l'observation, je règle sa valeur RVB à 255, sinon elle est définie sur. 0. De cette façon, on obtient une image avec du texte blanc sur fond noir.