郑州大学校园网自动认证

try to take over the world!

// ==UserScript==
// @name         郑州大学校园网自动认证
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  try to take over the world!
// @author       You
// @match        http://202.196.64.82:8080/
// @match        http://202.196.64.82
// @match        http://202.196.64.82/*
// @grant        none
// ==/UserScript==

(function (){
setTimeout(
   function (){
       var str=window.location.href;
    if (str.indexOf("http://202.196.64.82/?userip=")=== 0||str=="http://202.196.64.82/")
    {
    window.location.href="http://202.196.64.82:8080";
    }
    else
    {
        document.getElementsByName('uid')[0].value=''; //此处填账号
    document.getElementsByName('upw')[0].value='';  //此处填密码

var image = document.querySelector("img");
var canvas = document.createElement('canvas');
var ctx = canvas.getContext("2d");
var numbers = ["111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
"110000111100000001000110001001111001111111001111110011111100111111001111110011111100111111000000001000000001111111111111111111111111111111111111",
"110000011000000011001111001111111001111110001110000011110000011111110001111111001111111001000000011100000011111111111111111111111111111111111111",
"111100011111100011111000011110010011110010011100010011001110011000000001000000001111110011111000001111000001111111111111111111111111111111111111",
"100000001100000001100111111100111111100000111100000011100110001111111001111111001100110001100000011110000111111111111111111111111111111111111111",
"111000011110000001100011111000111111001000111000000011000110001001111001001111001100110011100000011110000111111111111111111111111111111111111111",
"000000001000000001111111001111110001111110011111110011111100011111100111111100111111000111111001111111001111111111111111111111111111111111111111",
"110000111100000011001111001001111001001111001100000011100000011001111001001111001001111001100000011110000111111111111111111111111111111111111111",
"110000111100000011000110001001111001001111001000110001100000001110000001111110011111100011000000111000011111111111111111111111111111111111111111",
"111111111111111111111111111110000011100000011111111001110000001100000001000111001000111001000000000100000000111111111111111111111111111111111111",
"001111111001111111001111111001000011000000001000111001001111100001111100001111100000111000000000001001000011111111111111111111111111111111111111",
"111111111111111111111111111110000001100000000000111100001111100001111111001111111000111110100000000110000001111111111111111111111111111111111111",
"111111100111111100111111100110000100100000000000111000001111100001111100001111100000111000100000000110000100111111111111111111111111111111111111",
"111111111111111111111111111110000011100000001001111100000000000000000000001111111000111100100011000110000001111111111111111111111111111111111111",
"111000001110000001110011111000000001000000001110011111110011111110011111110011111110011111000000001000000001111111111111111111111111111111111111",
"111111111111111111111111111110000000100000000000111000001111100001111100001111100000111000000000000110000000111111000111111100110000001110000011",
"000111111000111111100111111100100001100000000100011100100111100100111100100111100100111100000011000000011000111111111111111111111111111111111111",
"111100111111100111111111111100000111100000111111100111111100111111100111111100111111100111100000000100000000111111111111111111111111111111111111",
"111100111111100111111111111000000011000000011111110011111110011111110011111110011111110011111110011111110011111100011111000011000000111000001111",
"000111111000111111000111111000110000100110000100100111100001111100000111100100111100110011000111000000111000111111111111111111111111111111111111",
"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
"111111111111111111111111111000011000000000000001100110001100110001100110001100110001100110000100110000100110111111111111111111111111111111111111",
"111111111111111111111111111000100001000000000100011100100111100100111100100111100100111100000011000000011000111111111111111111111111111111111111",
"111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111",
"111111111111111111001111111001000011000000001000111000001111100001111100001111100000111000000000001001000011001111111001111111000011111000011111",
"111111111111111111111111111110000100100000000000111000001111100001111100001111100000111000100000000110000100111111100111111100111110000111110000",
"111111111111111111111111111000110001000010000100001100110011100110011111110011111110011111000000001000000001111111111111111111111111111111111111",
"111111111111111111111111111111000000100000000100111100100001111100010001111110000100111100100000000100000011111111111111111111111111111111111111",
"110011111110011111110011111000000001000000001110011111110011111110011111110011111110011100110000000111000011111111111111111111111111111111111111",
"111111111111111111111101111000111000000111000100111100100111100100111100100111100100111000100000000110000000111111111111111111111111111111111111",
"111111111111111111111111111000111000000111000001111100100111001100111001110010011110010011111000111111000111111111111111111111111111111111111111",
"111111111111111111111111111000111000000111000001101100001101100001000100000010000100010001100111001100111001111111111111111111111111111111111111",
"111111111111111111111111111000011000000011000110011001111000011111100111111000011110011001000011000000011000111111111111111111111111111111111111",
"111111111111111111111111111000111000000111000001111100100111001100111001110010001110010011110000011111000111111000111111000111000000011000000011",
"111111111111111111111111111100000000100000000100111001111110011111100111110001111110011100100000000100000000111111111111111111111111111111111111"];//模板,依次是0-9,a-z对应的明暗值字符串


var captcha = "";//存放识别后的验证码
canvas.width = 60;
canvas.height = 25;
//document.body.appendChild(canvas);
ctx.drawImage(image, 0, 0);
for (var i = 0; i < 4; i++) {
    //var pixels = ctx.getImageData(13 * i + 7, 3, 9, 16).data;
    var pixels = ctx.getImageData(14 * i + 4, 5, 9, 16).data;
    var ldString = "";
    for (var j = 0,length = pixels.length; j < length; j += 4) {
        ldString = ldString + (+(pixels[j] * 0.3 + pixels[j + 1] * 0.59 + pixels[j + 2] * 0.11 >= 140));}
    var comms = numbers.map(function (value) {//为了100%识别率,这里不能直接判断是否和模板字符串相等,因为可能有个别0被计算成1,或者相反
        return ldString.split("").filter(function (v, index) {
            return value[index] === v;
        }).length;
    });
 //   captcha += comms.indexOf(Math.max.apply(null, comms));          //添加到识别好的验证码中
  var temp;
 	if (comms.indexOf(Math.max.apply(null, comms))>9)
    {
 	temp=String.fromCharCode(comms.indexOf(Math.max.apply(null, comms))+87);
    }
 	else
    {
        temp=comms.indexOf(Math.max.apply(null, comms));
    }
 	captcha +=temp;
}
//document.getElementById('code').value = captcha; //写入目标文本框
//alert(captcha);
    document.getElementsByName('ver6')[0].value=captcha;
    document.getElementsByTagName('form')[0].submit();

    }},500)



})();