返回列表 发帖

破解校内网验证码的PHP程序

破解校内网验证码的PHP程序


校内网的验证码很简单,没有任何的干扰素,所以读起来也很方便,一下是程序

<?
set_time_limit(0);
$content=file_get_contents(http://xiaonei.com/RandImageServlet?post=doodle_224467352′);
$f=fopen(’a.gif’,'w’);
fwrite($f,$content);
fclose($f);
$gif=’a.gif’;
$yzm=”;
for($x=5;$x<=29;$x+=8){
$n=”;
    for($y=0;$y<=15;$y++){
     color(read($x,$y))==true?$n.=$y:”;
    }
    switch($n){
     case ‘56789′:
      $num=chk($x+4);
         break;
     case ”:
      $num=1;
         break;
     case ‘31011′:
     $num=2;
         break;
     case ‘312′:
     $num=3;
         break;
     case ‘78′:
     $num=4;
         break;
     case ‘345611′:
     $num=5;
         break;
     case ‘3′:
     $num=7;
         break;
    case ‘458910′:
       $num=8;
         break;
     case ‘5611′:
     $num=9;
         break;
    }
    $yzm.=$num;
}
echo $yzm;
function read($x,$y){
global $gif;
    $im=ImageCreateFromgif($gif);
    $rgb=ImageColorAt($im,$x,$y);
    $color=imagecolorsforindex($im,$rgb);
return $color;
}
function color($c){
if($c[’red’]>200&&$c[’green’]>200&&$c[’blue’]>200){
   return true;
}else{
   return false;
}
}
function chk($x){
if(color(read($x,4))){
   return 0;
}else{
   return 6;
}
}
?>

    其中程序先远程读入验证码图片,并保存到本地,然后进行破解,破解的部分也很简单.本来ImageCreateFromgif()函数也可以远程读取图片内容的,但是我发现特别慢,所以就采用了保存到本地的方法

顶,支持一下!

顶,支持一下!

TOP

学到内容是最关键的。。。。。。

TOP

返回列表