Показать сообщение отдельно

  #7  
Старый 19.11.2008, 16:22
N1K70
Banned
Регистрация: 02.01.2008
Сообщений: 195
С нами: 9661106

Репутация: 301
По умолчанию

heretic1990:
PHP код:
<?php 
set_time_limit
(0); 
ini_set('max_execution_time',0); 
ini_set('output_buffering',0); 
$from=$_REQUEST['from']; 
$text=$_REQUEST['text']; 
$php=$_REQUEST['php']; 
$go=$_REQUEST['go']; 
$fulltime=$_REQUEST['fulltime']; 
$fullqty=$_REQUEST['fullqty']; 
$self=basename($_SERVER['PHP_SELF']); 
echo 
"<html>\n"
echo 
"<head>\n"
echo 
"<title>MD5 crack</title>\n"
echo 
"</head>\n"
echo 
"<body bgcolor='#181818' text='#FFFFFF'>\n"
echo 
"<form action=$self name=main>\n"
echo 
"<center><h1>MD5 crack</h1></center>"

 if (empty(
$go)) { 
echo 
"<b>MD5</b>: <input type=text name=text value='$text' size=40> (только 32 знака: 0,1,2,3,4,5,6,7,8,9,a,b,c,d,e,f)<br>"
echo 
"<b>Диапазон</b>: <input type=text name=php value=\"".htmlspecialchars($php)."\" size=90><br>"
$chars=array( 
'a-z'=>"abcdefghijklmnopqrstuvwxyz"
'a-z,A-Z'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ"
'a-z,0-9'=>"abcdefghijklmnopqrstuvwxyz0123456789"
'a-z,A-Z,0-9'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"
'a-z,A-Z,0-9,other'=>"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789~`!@#\$%^&*()_+-=[]{};:,<.>/\"'\\"); 
$i=0
foreach (
$chars as $k=>$v) { 
 echo 
"<script>str$i=\"".str_replace("\"","\\\"",str_replace("\\","\\\\",$v))."\"</script> 
 <a href='' onclick=\"document.main.php.value=str
$i;return false\">$k</a> &nbsp; "
 
$i++; 

echo 

<br><b>Начальная позиция</b>: <input type=text size=70 name=from value='
$from'><br> 
<input type=hidden name=go value=1> 
<input type=hidden name=fullqty value=
$fullqty
<input type=hidden name=fulltime value=
$fulltime
<input type=submit value=\"СТАРТ\"></form>"

 } 
 else { 

function 
mdgetword() { 
 global 
$php,$from,$word
 
$word=""
 for (
$i=0$i<count($from); $i++) $word.=$php[$from[$i]]; 


$fulltime=intval($fulltime); 
$fullqty=intval($fullqty); 

$text=strtolower($text); 
if (!
preg_match("!^[0-9a-f]{32}$!",$text)) exit("Неправильный формат MD5! Должен быть: Только 32 знака - 0-9,a,b,c,d,e,f"); 
if (empty(
$php) || strlen($php)==0$php="qwertyuiopasdfghjklzxcvbnm"
if (empty(
$from) || !preg_match("!^([0-9]+):(([0-9]+,)*[0-9]+)$!",$from,$ok)) { 
 
$pos=0
 
$from=0

else { 
 
$pos=$ok[1]; 
 
$from=$ok[2]; 

$from=explode(",",$from); 
if (!
is_array($from) || !count($from) || count($from)==&& $from[0]==0) {
 
$from=array(0); 
 if (
md5("")===$text) exit("** DONE **<br><br>md5('')=$text<br><br>(Пустая строка!)"); 

$phplen=strlen($php); 
mdgetword(); 
$poslen=strlen($word); 
if (
$pos<|| $pos>=$poslen$pos=0

for (
$i=0$i<10$i++) { echo "<!-- -->\r\n"flush(); } 

echo 
"<h3><a href='$self"
 
"?from=".urlencode("$pos:".implode(",",$from)). 
 
"&text=".urlencode($text). 
 
"&php=".urlencode($php). 
 
"&fulltime=$fulltime&fullqty=$fullqty"
 
"'>Сохранить позицию и выйти</a></h3>"
flush(); 

echo 

MD5 HASH=
$text<br> 
CURRENT WORD=
$word<br> 
CURRENT DIGIT=
$pos:".implode(",",$from)."<br> 
RANGE="
.htmlspecialchars($php)."<br> 
Process Time=
$fulltime sec (".(floor($fulltime/60/60))."h)<br> 
Calculation (qty)=
{$fullqty}0000<br><br>"
flush(); 


$fullsum=pow($phplen,$poslen); 
$time1=time(); 
$i=0

while (
1) { 

 
$i++; 
 if (
$i>50000) { 
$time=time()-$time1
if (
$time>20) break; 
$i=0
$sum=0
for (
$j=1$j<count($from); $j++) $sum+=$from[$j]*pow($phplen,$j); 
printf("<nobr><b>%02.2f%%</b> ($word) %02dsec |</nobr> \r\n"
 
$sum*100/$fullsum,$time); 
flush(); 
$fullqty+=5
 } 

 if (
md5($word)===$text)
exit(
"<br><font color=red size=+1><b>** DONE **<br><br><tt>$word = $text</tt></b></font> 
<script> window.focus();window.focus(); setTimeout(\"alert('Done!')\",100);</script></body></html>"
); 
 
$from[$pos]++; 
 if (
$from[$pos]==$phplen) { 
$flag=1
$from[$pos]=0
$word[$pos]=$php[0]; 
for (
$pos=$pos+1$pos<$poslen$pos++) { 
 if (
$from[$pos]+1<$phplen) { 
$from[$pos]++; 
$word[$pos]=$php[$from[$pos]]; 
$flag=0
$pos=0
break; 
 } 
 else { 
$from[$pos]=0
$word[$pos]=$php[0]; 
 } 

if (
$flag) { 
 
$from[]=0
 
$poslen=count($from); 
 
$word.=$php[0]; 
 
$pos=0
 
$fullsum=pow($phplen,$poslen); 

 } 
 
$word[$pos]=$php[$from[$pos]]; 


$fulltime+=time()-$time1
if (
$i>5000$fullqty++; 
$url="$self"
 
"?from=".urlencode("$pos:".implode(",",$from)). 
 
"&text=".urlencode($text). 
 
"&php=".urlencode($php). 
 
"&fulltime=$fulltime&fullqty=$fullqty&go=1"
echo 
"<script>location.href=\"$url\"</script><a href='$url'>click here</a></body></html>"

 }
?>
 
Ответить с цитированием