Перейти к содержимому

 Друзья: Всё для вебмастера | [ Реклама на форуме ]


Rutor


PHP, Perl, Asp и др. скрипты


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 11

#1
$iD

$iD

    Админ

  • root
  • PipPipPipPipPipPip
  • 3785 сообщений
Код взят из phpRemoteView шелла и выведен в отдельный скрипт. В отдельном скрипте работает быстрее чем в шелле :)
<?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>   ";
		 $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)==1 && $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<0 || $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>";

   }
?>


#2
$iD

$iD

    Админ

  • root
  • PipPipPipPipPipPip
  • 3785 сообщений
Скрипт для бана IP'шников =)
<?php
/* ]]>[url="http://forum.prologic.su/go.php?http://wm-help.net/"]http://wm-help.net/[/url]]]> */
/* Сообщение при банне ip */
define("bann_message", "Для вашего IP: %ip% доступ к сайту закрыт.");

/* Предупреждение о возможности банна по ip */
define("wrong_message", "Вы предупреждены администратором данного сайта о возможной блокировке вашего IP: %ip% в случае дальнейшего нарушения правил.");

/* массив с ip и типом блокировки. в ключе массива IP, в значении тип блокировки */
$bann_array = array(
					"195.66.203.247"=>"bann", // реальный плохой IP
					"220.94.220.60"=>"bann",  // реальный плохой IP
					//"127.0.0.1"=>"wrong"	  // Test
					);

/* Функция для почти 100% определения IP адреса посетителя. */
/* Перебирает все возможные переменные с IP. */
function _ip()
{
  if(isset($HTTP_SERVER_VARS)) {
	if(isset($HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"])) {
	$realip = $HTTP_SERVER_VARS["HTTP_X_FORWARDED_FOR"];
	}elseif(isset($HTTP_SERVER_VARS["HTTP_CLIENT_IP"])) {
	  $realip = $HTTP_SERVER_VARS["HTTP_CLIENT_IP"];
	}else{
	  $realip = $HTTP_SERVER_VARS["REMOTE_ADDR"];
	}
  }else{
  if(getenv( 'HTTP_X_FORWARDED_FOR' ) ) {
	$realip = getenv( 'HTTP_X_FORWARDED_FOR' );
  }elseif ( getenv( 'HTTP_CLIENT_IP' ) ) {
	$realip = getenv( 'HTTP_CLIENT_IP' );
  }else {
	$realip = getenv( 'REMOTE_ADDR' );
  }
}
return $realip;
}

/* Определяет, что делать с владельцем того или иного ip адреса */
function bann_on_not_to_bann()
{
	global $bann_array; // получаем массив с ip адресами
	$user_ip = _ip();   // получаем ip

/* разбираем массив на ключ и значение */
foreach($bann_array as $ip=>$type)
{
	if ($ip == $user_ip) // проверяем
	{
		switch($type) // если ip совпал то смотрим что делать
		{
			case "wrong": // предупреждение
			{
				echo str_replace("%ip%", $user_ip, wrong_message); // выводим предупреждение
				break; // выход из switch
			}
			case "bann": // блокировка
			{
				die(str_replace("%ip%", $user_ip, bann_message)); // Сообщение о том, что доступ закрыт + завершение работы php
				// break не требуется т.к. дальше уже ничего не выполняется
			}
		}
	}
}
}

/* проверяем владельца ip и блокируем\предупреждаем если это спамер */
bann_on_not_to_bann();
?>


#3
$iD

$iD

    Админ

  • root
  • PipPipPipPipPipPip
  • 3785 сообщений
Простейший IRC бот на PHP
<?php

  // Config
  $authuser = ':Canuck!adok.adok@40.yearold.virgin'; //In this format :name!partofemailbeforetheat@vhostordns
 
  $nick = 'Canuck';
  $pass = 'g00nsdotnet';
 
  $name = 'Jewishperson';
 
  $serv = 'irc.g00ns.net';
  $port = 6667;
 
  $chan = '#kodabot'; 

  // Prevent PHP from stopping the script after 30 sec
  set_time_limit(0);

  // make the socket
  $socket = fsockopen($serv, $port) or die();

  // send info
  fputs($socket,"USER $name g00ns.net Canuck :Canuck\n");
  fputs($socket,"NICK $nick\n");
  fputs($socket,"PRIVMSG NickServ IDENTIFY $pass\n");

  // Join channel
  fputs($socket,"JOIN $chan\n");

  // endless while
  while(1) {
   
	while($data = fgets($socket, 128)) {

	  echo nl2br($data);

	  flush();
	 
	  // Sparate all data by the spaces
	  $ex = explode(' ', $data);
	 
	  // Send PONG back to the server
	  if($ex[0] == "PING"){
		fputs($socket, "PONG ".$ex[1]."\n");
	  }
	 
	  $hostmask = str_replace(array(chr(10), chr(13)), '', $ex[0]);
	  $command = str_replace(array(chr(10), chr(13)), '', $ex[3]);

	  if($authuser == $hostmask){
	 
		// Message command
		if($command == ":!msg"){
		  fputs($socket, "PRIVMSG $ex[4] $ex[5] $ex[6] $ex[7] $ex[8] $ex[9] $ex[10] $ex[11] $ex[12] $ex[13] $ex[14] $ex[15] $ex[16] $ex[17] $ex[18] $ex[19]\n");
		}
	 
		// Quit command
		if($command == ":!water"){
		  fputs($socket,"PRIVMSG $ex[2] I'm melting! Oh what a world, what a world!\n");
		  fputs($socket,"QUIT *melts*\n");
		}

		// Kick command
		if($command == ":!kick"){
		  fputs($socket,"KICK $ex[2] $ex[4]\n");
		}
	 
		// join command
		if($command == ":!join"){
		  fputs($socket,"JOIN $ex[4]\n");
		}
	   
		// Op command
		if($command == ":!op"){
		  fputs($socket,"MODE $ex[2] +o $ex[4]\n");
		}
	   
		// Halfop command
		if($command == ":!hop"){
		  fputs($socket,"MODE $ex[2] +h $ex[4]\n");
		}
	   
		// Voice command
		if($command == ":!voice"){
		  fputs($socket,"MODE $ex[2] +v $ex[4]\n");
		}
	   
		// Kickban command
		if($command == ":!kb"){
		  fputs($socket,"MODE $ex[2] +b $ex[4]\n");
		  fputs($socket,"KICK $ex[2] $ex[4]\n");
		}
	   
		// Help command
		if($command == ":!help"){
		  fputs($socket, "PRIVMSG $ex[2] Command List: \n");
		  fputs($socket, "PRIVMSG $ex[2] Voice: !voice [name]\n");
		  fputs($socket, "PRIVMSG $ex[2] Halfop: !hop [name]\n");
		  fputs($socket, "PRIVMSG $ex[2] Op: !op [name]\n");
		  fputs($socket, "PRIVMSG $ex[2] Kick: !kick [name]\n");
		  fputs($socket, "PRIVMSG $ex[2] Kick ban: !kb [name]\n");
		  fputs($socket, "PRIVMSG $ex[2] Join a channel: !join [channel]\n");
		  fputs($socket, "PRIVMSG $ex[2] Message: !msg [name/channel] [messge]\n");
		}
	  }
	 
	}

  }
?>


#4
xedos

xedos

    пьяный мастер

  • Advanced
  • Pip
  • 68 сообщений
Скрипт выдерают из yandex курс валюты

Цитата

<?

// Функция извлечения данных
function xyStrRead($strp, $xp, $yp)
{
      $jumpx1 = stripos($strp, $xp) + strlen($xp);
      $jumpx = substr($strp, $jumpx1);
      if($yp === "null") return $jumpx;
      $XPos = 0;
      $YPos = stripos($jumpx, $yp) - $XPos;
      $ZPos = substr($jumpx, $XPos, $YPos);
      return $ZPos;
}

// функция получение курса валют
function valute()
{
      $ch = curl_init();
      curl_setopt($ch, CURLOPT_URL,"yandex.ru");
      curl_setopt($ch, CURLOPT_RETURNTRANSFER,1);
      curl_setopt($ch, CURLOPT_FOLLOWLOCATION, 1);
      $result = curl_exec ($ch);
      curl_close ($ch);

      $dollar = xyStrRead($result, 'Динамика курса USD', 'null');
      $dollar = xyStrRead($dollar, '<strong>', '</strong>');
      $euro = xyStrRead($result, 'Динамика курса EUR', 'null');
      $euro = xyStrRead($euro, '<strong>', '</strong>');
      $vl = $dollar . "::" . $euro;
      return $vl;
}

$vl = explode("::", valute());
echo "Доллар: " . $vl[0]. "<br>";
echo "Евро: " . $vl[1]. "<br>";

?>
© By Moнах.

#5
$iD

$iD

    Админ

  • root
  • PipPipPipPipPipPip
  • 3785 сообщений
[Perl] MD5 Bruter
#!/usr/bin/perl
# use strict; Sorry next time i'll use it;)
# MD5 Hash Bruteforce Kit
# by Iman Karim (iman.karim@smail.inf.fh-bonn-rhein-sieg.de)
# URL : ]]>[url="http://forum.prologic.su/go.php?http://home.inf.fh-rhein-sieg.de/~ikarim2s/"]http://home.inf.fh-r...~ikarim2s/[/url]]]>
# Date : 11.02.2007
# Info[0] : This Cracker is by far not the fastest! But it helped me alot to find "lost" passwords;)
# Info[1] : Written under Kubuntu Linux (Throw away Windows!)
# Info[2] : If you can code a bit perl, you can modify it to crack sha etc too...
# Greets to: Invisible!
$ver = "01";
$dbgtmr = "1"; #Intervall of showing the current speed + lastpassword in seconds.

if ($dbgtmr<=0){ die "Set dbgtmr to a value >=1 !\n";};
use Digest::MD5 qw(md5_hex);
use Time::HiRes qw(gettimeofday);

if ($ARGV[0]=~"a") {
 $alpha = "abcdefghijklmnopqrstuvwxyz";}
if ($ARGV[0]=~"A") {
 $alpha = $alpha. "ABCDEFGHIJKLMNOPQRSTUVWXYZ";}
if ($ARGV[0]=~"d") {
 $alpha = $alpha."1234567890";}
if ($ARGV[0]=~"x") {
 $alpha = $alpha. "!\"\$%&/()=?-.:\\*'-_:.;,";}

if ($alpha eq "" or $ARGV[3] eq "") {usage();};
if (length($ARGV[3]) != 32) { die "Sorry but it seems that the MD5 is not valid!\n";};

print "Selected charset for attack: '$alpha\'\n";
print "Going to Crack '$ARGV[3]'...\n";

for (my $t=$ARGV[1];$t<=$ARGV[2];$t++){
 crack ($t);
}

sub usage{
 print "\n\nMD5 Hash Bruteforce Kit v_$ver\n";
 print "by Iman Karim (iman.karim\@smail.inf.fh-bonn-rhein-sieg.de)\n";
 print "http:\/\/home.inf.fh-rhein-sieg.de\/~ikarim2s\/\n\n";
 print "USAGE\n";
 print "./md5crack <charset> <mincount> <maxcount> <yourMD5>\n";
 print " Charset can be: [aAdx]\n";
 print " a = {'a','b','c',...}\n";
 print " A = {'A','B','C',...}\n";
 print " d = {'1','2','3',...}\n";
 print " x = {'!','\"',' ',...}\n";
 print "EXAMPLE FOR CRACKING A MD5 HASH\n";
 print "./md5crack.pl ad 1 3 900150983cd24fb0d6963f7d28e17f72\n";
 print " This example tries to crack the given MD5 with all lowercase Alphas and all digits.\n";
 print " MD5 Kit only tries combinations with a length from 1 and 3 characters.\n-------\n";
 print "./md5crack.pl aA 3 3 900150983cd24fb0d6963f7d28e17f72\n";
 print " This example tries to crack the given MD5 with all lowercase Alphas and all uppercase Alphas.\n";
 print " MD5 Kit only tries passwords which length is exactly 3 characters.\n-------\n";
 print "./md5crack.pl aAdx 1 10 900150983cd24fb0d6963f7d28e17f72\n";
 print " This example tries to crack the given MD5 with nearly every character.\n";
 print " MD5 Kit only tries combinations with a length from 1 to 10 characters.\n";
 die "Quitting...\n";
}

sub crack{
 $CharSet = shift;
 @RawString = ();
 for (my $i =0;$i<$CharSet;$i++){ $RawString[i] = 0;}
 $Start = gettimeofday();
 do{
  for (my $i =0;$i<$CharSet;$i++){
   if ($RawString[$i] > length($alpha)-1){
	if ($i==$CharSet-1){
	print "Bruteforcing done with $CharSet Chars. No Results.\n";
	$cnt=0;
	return false;
   }
   $RawString[$i+1]++;
   $RawString[$i]=0;
   }
  }
###################################################
   $ret = "";
   for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
   $hash = md5_hex($ret);
   $cnt++;
   $Stop = gettimeofday();
   if ($Stop-$Start>$dbgtmr){
	$cnt = int($cnt/$dbgtmr);
	print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
	$cnt=0;
	$Start = gettimeofday();
   }
			print "$ARGV[3] != $hash ($ret)\n";
   if ($ARGV[3] eq $hash){
	die "\n**** Password Cracked! => $ret\n";
   }
###################################################
  #checkhash($CharSet)."\n";

  $RawString[0]++;
 }while($RawString[$CharSet-1]<length($alpha));
}

sub checkhash{
 $CharSet = shift;
 $ret = "";
 for (my $i =0;$i<$CharSet;$i++){ $ret = $ret . substr($alpha,$RawString[$i],1);}
 $hash = md5_hex($ret);
 $cnt++;
 $Stop = gettimeofday();
 if ($Stop-$Start>$dbgtmr){
  $cnt = int($cnt/$dbgtmr);
  print "$cnt hashes\\second.\tLast Pass '$ret\'\n";
  $cnt=0;
  $Start = gettimeofday();
 }

 if ($ARGV[3] eq $hash){
  die "\n**** Password Cracked! => $ret\n";
 }
 
}


#6
$iD

$iD

    Админ

  • root
  • PipPipPipPipPipPip
  • 3785 сообщений
PHP Cryptor от Kallisto
<?
	// 2:52 27.07.2007
	#######################################
	#######################################
	########	 PHPCrypt	 ####### public
	########	 Ver. 1.2	 #######
	#######################################
	#######################################
	########	 KALLISTO	 ####### 
	########	 98009800	 ####### 
	#######################################
	#######################################

	$jsCrypt	 = 0;			// 1 - on, 0 - off ява крипт
	$input	 = "1.php";		// файл который надо криптануть
	$output	 = "index.php";		// выходяший криптованный файл


	#################################
	///
	$f=join("", file($input));
	$key = rand(1,100);
	$find = 0;
	$start_pos = strpos($f, "<?php");
	if($start_pos === false )
	{
		$start_pos = strpos($f, "<?");
		if($start_pos !== false )
		{
			$find=1;
			$f= substr($f, $start_pos+2, strlen($f));
		}
	}
	else
	{
		$find=1;
		$f= substr($f, $start_pos+5, strlen($f));
	}

	if($find==0) exit("Крипт скрипта неполучится.");
	$start_pos = strrpos($f, "?>");
	if(is_int($start_pos))$f=substR($f, 0, $start_pos);

	$new = '';$len=strlen($f);
	for($i=0;$i<$len;$i++)
	{
		$new .= chr(ord($f[$i]) ^ $key);
	}
	$new = str_replace("<?", "[t1]", $new);
	$new = str_replace("'",  "[t3]", $new);

	$jsPre='';
	$jsAfter='';

	if($jsCrypt == 1)
	{
		$jsPre="
function jsCrypt(\$buffer) 
{
	\$return = \$buffer;
	\$new = '';
	for(\$i=0;\$i<strlen(\$buffer);\$i++)
	{
		\$tmp = ord(\$buffer[\$i]);
		if(\$tmp<100) \$tmp = \"0\".\$tmp;
		if(\$tmp<10) \$tmp = \"0\".\$tmp;
		\$new .= \$tmp;
	}
	\$return = \"<script>
	var len = \".strlen(\$buffer).\";
	var str = '\$new';
	var tmp = '';

	for(i=0;i<len;i++)
	{
		// String.fromCharCode(str.substr(i*3, 3) )

		document.write(  String.fromCharCode(str.substr(i*3, 3) ) );
	}
	</script>\";
	return \$return;

}
ob_start(\"jsCrypt\");";
		$jsAfter="ob_end_flush();";


	}



$code = "<?
$jsPre
\$key=$key;
\$res ='$new';
\$str=str_replace(\"[t1]\", \"<?\", \$res);
\$str=str_replace(\"[t3]\", \"'\", \$str);
\$len=strlen(\$str);
\$ev='';
for(\$i=0;\$i<\$len;\$i++)
\$ev .= chr(ord(\$str[\$i]) ^ \$key);
eval(\$ev);
$jsAfter;
?>";

@fwrite( fopen($output, "w"), $code) or die("Не удалось создать файлик...");
?>


#7
Urbis

Urbis

    EternalStone

  • Moderator
  • PipPip
  • 177 сообщений
Есть у кого парсер грабер сайтовна php? ато влом писать пока нормальных не нашел все какие то косячные если ни у кого нету придется тогда написать самому
Цитата

#8
Urbis

Urbis

    EternalStone

  • Moderator
  • PipPip
  • 177 сообщений
понял...придется самому писать )))))))
Цитата

#9
retorin

retorin

    Бит

  • Members
  • 31 сообщений

Просмотр сообщенияUrbis (22.4.2009, 13:41) писал:

Есть у кого парсер грабер сайтовна php? ато влом писать пока нормальных не нашел все какие то косячные если ни у кого нету придется тогда написать самому

Вряд ли ты найдешь хороший, да еще и бесплатно. Купить если только. Хотя можно посмотреть на форуме вебмастеров  armadaboard

#10
adultrik

adultrik

    Бит

  • Members
  • 23 сообщений

Просмотр сообщенияUrbis (26.4.2009, 2:27) писал:

понял...придется самому писать )))))))
Как напишешь не забудь поделиться с нами!= ))

#11
XPraptor

XPraptor

    Бит

  • Members
  • 2 сообщений
Вам хоть какого типа сайты нужно грабить? У меня есть граб DLE шных движков ан php.

#12
Urbis

Urbis

    EternalStone

  • Moderator
  • PipPip
  • 177 сообщений
XPraptor , грабер еще есть?
Цитата


Количество пользователей, читающих эту тему: 0

0 пользователей, 0 гостей, 0 анонимных