LinksPRO - Заламать!

Статус
В этой теме нельзя размещать новые ответы.
A

ArtemZ

Прохожие
Нашёл тут скрипт для обмена ссылками- LinksPRO. По параметрам - ну очень отличный скрипт, проверяет Тиц, PR, ну много ещё что. (Все параметры здесь - _http://linkspro.web-artis.ru/) . Стоит такое чудо от 20 баков, но ессественно платить я за него не собираюсь))) На сайте предалагают скачать бесплатную версию скрипта, он полнофункциональный, но есть один недостаток - нельзя создать больше 5 категорий, в каждую из которых можно добавить до 5 ссылок. Поэтому сразу возникает гадкая идея - убрать скрипт, который запрещает добавление больше 5 ссылок. Я первым делом облазил весь код, но нихрена такого не нашёл. Нашёл зашифрованный файл - зашифрован в MIME, расшифровал(cfg.php) :
$_000O=Array();
for ($_0OOO=97;
$_0OOO<123;
$_0OOO++) $_000O[]=chr($_0OOO);
for ($_0OOO=65;$_0OOO<91;$_0OOO++) $_000O[]=chr($_0OOO);
$_0000=implode("",$_000O);$_OO0=fopen($_0OO,"rb");
fseek($_OO0,$_O0O,SEEK_SET);$_000=fread($_OO0,$_OOO);
fclose($_OO0);
$_00OO="/*LPR".str_pad($_O0O,6,STR_PAD_LEFT,"0");
$_0O0=strpos($_000,$_00OO);
$_00O=substr($_000,$_0O0+11,52);
$_000=substr($_000,$_0O0+63,strpos($_000,"*/",$_0O0+63)-$_0O0-63);
$_000=base64_decode(strtr($_000,$_0000,$_00O));
eval($_000);

Если знаете как убрать защиту, помогите пожалуйста + получите классный каталог ссылок.
 
Ёпс. Забыл прикрепить сам скрипт. ;)
 

Вложения

  • demo.zip
    88,4 KB · Просмотры: 19
20$ и естественно не собираюсь. Ну **я было бы дело в крупной сумме....
Забирай свой файл cfg.php

PHP:
<?
error_reporting (0);
session_start();

require_once("classes.php");

$dn = $_SERVER["SCRIPT_NAME"];
if (!empty($_SERVER["DOCUMENT_NAME"]))
 {$dn = $_SERVER["DOCUMENT_NAME"];}

$_cfg = parse_ini_file("config.ini", false);
$_tpl = parse_ini_file("admin/templates.ini", false);

$change_conditions = implode("", file($_cfg["conditions_filename"]));


 // подсчитываем количество страниц для отображения
function num_pages($page, $messages_count, $messages_on_page)
{
 global $dn, $_cfg;

 if ($messages_count > $messages_on_page) {

 $pages = (int)($messages_count/$messages_on_page);
 if ($messages_count%($pages*$messages_on_page) != 0)
  {$pages++;}

 $start = ((int)(($page-1)/$_cfg["pages_on_row"]))*$_cfg["pages_on_row"];
 $end = $start+$_cfg["pages_on_row"];
 if ($pages < $start+$_cfg["pages_on_row"])
  {$end = $pages;}

 if (!empty($_SERVER["QUERY_STRING"])) {
   foreach ($_GET as $k => $v) {
    if ($k != "page") {
     if ($qs == "")
      {$qs .= $k."=".$_GET[$k];}
     else
      {$qs .= "&".$k."=".$_GET[$k];}
    }
   }
 }

 if (empty($qs))
  {$qs .= "?";}
 else
  {$qs = "?".$qs."&";}

 print "<p>";

 if ($start > 0)
  {print "<a class="part" href=".$dn.$qs."page=".$start.">...</a> &nbsp;|&nbsp; ";}

 for ($i = $start+1; $i <= $end; $i++) {
  if ($i == $page)
   {print "<span class="part"><b><font color="#DF0808">".$i."</font></b></span> &nbsp;|&nbsp; ";}
  else
   {print "<a class="part" href=".$dn.$qs."page=".$i.">".$i."</a> &nbsp;|&nbsp; ";}
 }

 if ($pages > $start+$_cfg["pages_on_row"])
  {print "<a class="part" href=".$dn.$qs."page=".($start+$_cfg["pages_on_row"]+1).">...</a>";}

 print "</p>";
 }

}

function CheckURL($url) {

 global $_cfg, $codes;

 $c = false;

 $data = implode("", file($url));

 $p = parse_url($_cfg["site_url"]);
 $site_url_1 = $p["scheme"]."://".$p["host"];

 $h = explode(".", $p["host"]);
 if ($h[0] == "www") {
  array_splice($h, 0, 1);
  $site_url_2 = $p["scheme"]."://".implode(".", $h);
 }
 else {
  array_unshift($h, "www");
  $site_url_2 = $p["scheme"]."://".implode(".", $h);
 }

 for ($i=0; $i<$codes->rows_count; $i++) {

  if (!$_cfg["check_all_urls"]) {
   if (eregi($codes->file_arrays["name"][$i], $data))
    {$c = true;}
  }
  else {
   if (eregi($site_url_1, $data))
    {$c = true;}
   if (eregi($site_url_2, $data))
    {$c = true;}
  }

  if ($c)
   {break;}
 }

 return $c;

}

function change_template($msg, $var_array)
{

foreach ($var_array as $k => $v) {
 $msg = eregi_replace("{".$k."}", (string)$v, $msg);
}

return $msg;

}

function send_mail($from, $to, $subject, $file_template, $var_array)
{
$body = change_template(implode("", file($file_template)), $var_array);
$body = eregi_replace("rn", "<br>", $body);

$body = $body."<br><br>".
              "--------------------<br>".
              "LinksPro - скрипт для обмена ссылками<br>";

$subject = change_template($subject, $var_array);

$headers = "(anti-spam-content-type:) text/html; charset=windows-1251 rnFrom: ".$from."rnX-Mailer: PHP/".phpversion();

return mail($to, $subject, $body, $headers);
}

function mail_form($links, $link, $parts, $part, $status, $from, $to, $subject, $file_template) {

  global $_cfg, $_tpl, $codes;

  $v = array();
  $v[$_tpl["linkspro_url"]]             = $_cfg["site_url"]."/".$_cfg["linkspro_dir"]."/index.htm";
  $v[$_tpl["linkspro_admin_url"]]       = $_cfg["site_url"]."/".$_cfg["linkspro_dir"]."/admin/admin.php";
  $v[$_tpl["linkspro_page_url"]]        = $_cfg["site_url"]."/".$_cfg["linkspro_dir"]."/index.htm?part=".$part."&page=".((int)(($links->get_position($link)-1)/$_cfg["messages_on_page"])+1);
  $v[$_tpl["linkspro_change_link"]]     = htmlspecialchars($links->get_value($link, "name"));
  $v[$_tpl["linkspro_change_page_url"]] = $links->get_value($link, "url_page");
  $v[$_tpl["linkspro_change_site_url"]] = $links->get_value($link, "url_site");
  $v[$_tpl["linkspro_change_num"]]      = $links->get_position($link);
  $v[$_tpl["linkspro_change_status"]]   = $status->get_value($links->get_value($link, "status"), "name");
  $v[$_tpl["linkspro_change_category"]] = $parts->get_value($part, "name");
  $v[$_tpl["linkspro_codes"]]           = $code_names;
  $v["site_url"]                        = $_cfg["site_url"];
  $v["admin_mail"]                      = $_cfg["admin_mail"];

  send_mail($from,
            $to,
            $subject,
            $file_template,
            $v);

}


$status = new class_filework;
$status->column_names = array("id", "name", "font");
$status->column_separator = $_cfg["column_separator"];
$status->filename = $_cfg["status_filename"];
$status->fill_arrays();

$parts = new class_part;
$parts->column_names = array("id", "name");
$parts->filename = $_cfg["parts_filename"];
$parts->column_separator = $_cfg["column_separator"];
$parts->parts_dir = $_cfg["parts_dir"];
$parts->fill_arrays();

$codes = new class_filework;
$codes->column_names = array("id", "name", "active");
$codes->filename = $_cfg["codes_filename"];
$codes->column_separator = $_cfg["column_separator"];
$codes->fill_arrays();

$code_names = "";
for ($i=0; $i<$codes->rows_count; $i++) {
 if ($codes->file_arrays["active"][$i] == "1") {
  if (strlen($code_names) + strlen($codes->file_arrays["name"][$i]) < 1300) {
   if ($i != 0)
    {$code_names = $code_names."rnrn".$codes->file_arrays["name"][$i];}
   else
    {$code_names = $code_names.$codes->file_arrays["name"][$i];}
  }
  else {
   $code_names = $code_names."rnrn"."...";
   break;
  }
 }
}
?>
 
Нихрена не пашет!
Parse error: syntax error, unexpected T_STRING in z:\home\localhost\www\trap\cfg.php on line 52
А как же с cfg.php, который в админке лежит?
 
Да забирай полную версию с открытым кодом. Если не запашет - лечи руки, потому что проверено!

Для просмотра ссылки Войди или Зарегистрируйся
 
Уважаемые посетители форума, не могли бы вы перезалить полную версию скрипта LinksPRO куда нибудь и дать ссылочку? Буду очень благодарен.
 
Кстати а в чем толк от него если не использовать модуль к нему для обмена сразу с нескольких сайтов...
там тоже есть демо и закодировано...

Вот мод: если возможно кто нить сделайте декод
 

Вложения

  • demo_module.zip
    34,2 KB · Просмотры: 17
SqR написал(а):
Кстати а в чем толк от него если не использовать модуль к нему для обмена сразу с нескольких сайтов...
там тоже есть демо и закодировано...

Вот мод: если возможно кто нить сделайте декод

У меня 1 сайт, зачем мне модуль?
 
kser написал(а):
У меня 1 сайт, зачем мне модуль?
Лично про вас ничего не говорю! вам может и не нужен... а вот появится второй,и вы передумаете...
Каталогов много и бесплатных для одного сайта и очень даже хороших. да и зануленых полно.. а вот который поддерживает в одной админки неограниченное число сайтов.. таких мало.

Поэтому и прошу.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху