Ищем ошибки, потом исправлю: Code: <? //PHP socks proxyhunter by nerezus(ICQ 547097), 2005, GPL v.2 $from =$_GET['from']; $to =$_GET['to']; $pfrom =$_GET['pfrom']; $pto =$_GET['pto']; $outfile =$_GET['outfile']; $timeout =$_GET['timeout']; if ($outfile=='') $outfile='out.txt'; if ($timeout=='') $timeout=3; function hex2bin($dump){ $dump=str_replace(' ', '', $dump); $res=''; $dumplen=strlen($dump); for ($i=0; $i<$dumplen; $i+=2){ $bt=$dump[$i].$dump[$i+1]; $res=$res.chr(hexdec($bt));} return $res; } function hexlen($s) { $s=str_replace(' ', '', $s); if (strlen($s)/2 <16) $v='0'; if (strlen($s)/2 <256) $v.='0'; if (strlen($s)/2 <4096) $v.='0'; $v.=dechex(strlen($s)/2); return $v; } function sockcheck( $sockip, $sockport, $timeout=10) { $sres=0; $f=fsockopen($sockip, $sockport, $ern, $ers, $timeout); if (!$f) { return 0; } else { $s=hex2bin('05 02 00 02'); fputs ($f, $s); $g=fgets ($f,2); $list= bin2hex($g); if (($g[0]==hex2bin('04')) or ($g[0]==hex2bin('05'))) $sres=1; fclose($f); return $sres; } } $form = "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"get\"> <center> <b>PHP socks proxyhunter by nerezus(ICQ 547097),<br> 2005, GPL v.2</b><br> IP range:<br> <input type=\"text\" name=\"from\" size=\"15\" maxlength=\"15\"> <input type=\"text\" name=\"to\" size=\"15\" maxlength=\"15\"><br> Port range:<br> <input type=\"text\" name=\"pfrom\" size=\"5\" maxlength=\"5\"> <input type=\"text\" name=\"pto\" size=\"5\" maxlength=\"5\"><br> Timeout: <input type=\"text\" name=\"timeout\" size=\"2\" maxlength=\"2\"><br> Outfile: <br> <input type=\"text\" name=\"outfile\" size=\"16\" maxlength=\"255\"><br> <input type=\"submit\" value=\".: GO! :.\"> </form></center>"; if ($from == '' or $to == '' or $pfrom=='' or $pto=='') echo $form; else { $flist=explode('.', $from); $tlist=explode('.', $to); $fip=$flist[0]*256*256*256+$flist[1]*256*256+$flist[2]*256+$flist[3]; $tip=$tlist[0]*256*256*256+$tlist[1]*256*256+$tlist[2]*256+$tlist[3]; for ($i=$fip; $i<=$tip; $i++) { $tmp=$i; $d1=floor($tmp / (256*256*256)); $tmp=$tmp-$d1*(256*256*256); $d2=floor($tmp / (256*256)); $tmp=$tmp-$d2*(256*256); $d3=floor($tmp / 256); $tmp=$tmp-$d3*256; $d4=$tmp; $ip="$d1.$d2.$d3.$d4"; if (($d4!=0) && ($d4!=255)){ for ($prt=$pfrom; $prt<=$pto; $prt++) { if (sockcheck($ip, $prt, $timeout)) { $file = fopen ($outfile, "a"); echo "$ip:$prt<br>\n"; fputs ($file, "$ip:$prt\n"); fclose($file); flush(); } } } } }?>
ну вообще кода очень много. Можно уместить такое дело в 10-20 строк. А вообще, чесно то говоря =) Не для этого был создан php, чтобы прокси на валидность проверять. Для такой задачи perl больше подходит.
Строк много, т.к. это побочный продукт. =) например, там совсем не нужна ф-ия hexlen и форма не нужна... например брут мд5 - я в 5 строк(9 операторов т.к. 5 строка - 5 мелких операторов) вроде уложился Code: for ($t=1; $t<=$l; $t++) $code.='for ($a'.$t.'=0; $a'.$t.' < strlen($s); $a'.$t.'++)'."\n"; $code.='{ $p="";'."\n"; for ($i=1; $i<=$l; $i++) $code.= 'if ($s[$a'.$i.'] != "|") $p=$p.$s[$a'.$i.'];'."\n"; $code.='if (md5($p) == $h) {mail("$email", "md5", "Password checked! $p"); echo "Password checked!<br>$p"; break ('.$l.');} } ?>'; $fn='c:/md5'; $fh=fopen($fn,"w"); fwrite($fh, $code); fclose($fh); include($fn); "это" НЕ предназначено для работы, ведь нет потоков а на пхп это не реализуемо(на 4ом по крайней мере)
Вообще php не преднозначен для подобных задач. Это уже изврат. Хотя кто его знает... Ну короче все равно что отверкой макароны мешать, когда их варишь. Т.е. как бы можно, но выглядеть это со стороны будет все равно глупо.
А насчет md5 брутфорса... Чет я немного невъезжаю... куча переменных и не одного ввода данных... Он перебирает все символы включая латиницу, цифры итп?
Не, я ни в коем случае не в упрек. Увлекаешься и молодец! Рад что хоть кто-то еще пишет сам а не юзает чужое. Просто мне интересно =)
=))))))) ага. Все равно что на эксковаторе на дачу ездить. Ребят, php это скриптовый язык для управления web-ресурсами, а не для брута асек.
Если дадите кнугу по ДжБилдеру и кряк к последней, то перепишу на ней >А насчет md5 брутфорса... Чет я немного невъезжаю... >куча переменных и не одного ввода данных... Code: <? // MD5 simple pass checker // // GNU GENERAL PUBLIC LICENSE // Version 2, June 1991 // // Copyright (C) 2005 nerezus $form = "<form action=\"".$_SERVER['PHP_SELF']."\" method=\"post\"> <b>Input here your info:</b><br> Your md5 hash:<br> <input type=\"text\" name=\"h\" size=\"32\" maxlength=\"32\" value=\"34823136d0dd91d0f5d22db740f7679c\"><br> Symbols:<br> <input type=\"text\" name=\"s\" size=\"86\" maxlength=\"120\" value=\"1234567890abcdefghijklmnopqrstuvwxyz ABCDEFGHIJKLMNOPQRSTUVWXYZ.,!@#$%^&*()_-=+\"><br> Length:<br> <input type=\"text\" name=\"l\" size=\"1\" maxlength=\"1\" value=\"4\"><br> Your Email:<br> <input type=\"text\" name=\"email\" size=\"20\" maxlength=\"40\" value=\"[email protected]\"><br> <input type=\"submit\" value=\"Check!\"> </form>"; $nl=ignore_user_abort (1); set_time_limit(0); if(!isset($h)) $h=''; if ($h == "") echo "$form"; else {$s="|".$s; $code="<? \n"; for ($t=1; $t<=$l; $t++) $code.='for ($a'.$t.'=0; $a'.$t.' < strlen($s); $a'.$t.'++)'."\n"; $code.='{ $p="";'."\n"; for ($i=1; $i<=$l; $i++) $code.= 'if ($s[$a'.$i.'] != "|") $p=$p.$s[$a'.$i.'];'."\n"; $code.='if (md5($p) == $h) {mail("$email", "md5", "Password checked! $p"); echo "Password checked!<br>$p"; break ('.$l.');} } ?>'; $fn='md5.inf'; $fh=fopen($fn,"w"); fwrite($fh, $code); fclose($fh); include($fn); } ?>
О блин... фига наваратил то... А я зато вон че заню: a = a xor b b = a xor b a = a xor b =) перестановка значений пересенных местами не юзая третью.
xor в школе не изучают. Вся прелесь в том, что выражения то одно и тоже в трех случаях "a xor b". Короче просто красиво =)
>xor в школе не изучают я еще в школе учусь =) изучали... правда нам его для ознакомления дали, т.к. учителя сами в него не врубаются =)