验证码识别工具的使用

2021-11-26  本文已影响0人  migrate_

遵纪守法

任何个人和组织使用网络应当遵守宪法法律,遵守公共秩序,尊重社会公德,不得危害网络安全,不得利用网络从事危害国家安全、荣誉和利益

验证码识别

需要3款工具配合

  1. https://github.com/smxiazi/NEW_xp_CAPTCHA
  2. 暴力猴(chrome 插件)
  3. 验证码识别端
1.jpg 2.jpg

使用方法

// ==UserScript==
// @name        自动输入简单验证码
// @namespace   Violentmonkey Scripts
// @match       *://*/*
// @grant        GM_xmlhttpRequest
// @version     1.0
// @author      顾北
// @description 2021/7/2下午4:08:51
// ==/UserScript==

//这里是填写验证码
function yzm(s){
  let form = document.getElementsByTagName('input');
for (let i = 0; i < form.length; i++) {
if (form[i].name=="seccodeverify" ) {
      form[i].value = s


  }else  if (form[i].type == 'password'){
    
    c = i+1
    form[c].value = s
       console.log("写入验证码");

  }
};
 
}

function sleep (time) {
 return new Promise((resolve) => setTimeout(resolve, time));
} 

function checkPictureName(str)
        {
            var strRegex = "(.jpg|.png|.jpeg|.gif|.ico|.svg|==)$"; //用于验证图片扩展名的正则表达式
            var re= new RegExp(strRegex);
            if (re.test(str.toLowerCase())){
              return "s"
            
            } else{
                return str;
            }
        }

sleep(700).then(() => {
  var img="";
var arrImg = document.images;
for (let i = 0; i < arrImg.length; i++){
  let url=arrImg[i].src

  let ss=checkPictureName(url)
  
  if (ss =="s"){
    
  } else{
    
          img = ss

  }
}
var dd = document.images;
for (let i = 0; i < dd.length; i++){

                        if (dd[i].src.includes(img)) { 
                            console.log("获取唯一验证码链接成功");


                            dd[i].setAttribute("crossOrigin",'Anonymous');// 设置允许跨域
                          img = dd[i];
                          img.onload = function(){
                              var canvas = document.createElement("canvas");
                          canvas.width = img.width;
                          canvas.height = img.height;
                          var ctx = canvas.getContext("2d");
                            ctx.drawImage(arrImg[i], 0, 0, arrImg[i].width, arrImg[i].height);
                            var ext = arrImg[i].src.substring(arrImg[i].src.lastIndexOf(".") + 1).toLowerCase();
                            var dataURL = canvas.toDataURL("image/" + ext)
                          // ctx.drawImage(img, 0, 0, img.width, img.height);
                          // var dataURL = canvas.toDataURL("image/png");     
                            // var ss= dataURL

                            console.log(dataURL)

//这里就是发送到本地api 接口的代码,如果需要对接打码按照类似的格式修改
    GM_xmlhttpRequest({
             url: 'http://192.168.66.93:1111/api',
             method: 'POST',
             headers: {'Content-Type': 'application/x-www-form-urlencoded'},
              data:'url='+dataURL,
             responseType: "text",
             onload: obj => {
                 var data=obj.responseText;
               yzm(data)
                console.log(data);

                 
                }
             })
                          }
                         
                            }
                        };

 } )
3.jpg 4.jpg 5.jpg 6.jpg 7.jpg 8.jpg 9.jpg 10.jpg

全部配置完成就开始

11.jpg
上一篇下一篇

猜你喜欢

热点阅读