PDA

Просмотр полной версии : Dezend end Hack для скрипта каталога Scripto


StaLkerexe
13.07.2008, 22:11
Есть в интернете такая "тема" - скрипт каталога Scripto (официальный сайт тут (http://www.scripto.ru/)) каталог замечательный можете посмотреть demo.
Так вот за него, тобишь за лицензию денег просят, но платить за енто не хочется...
Скачать то можно, для тестирования цитирую что пишут афтары:

Внимание! Если Вы хотите протестировать коммерческие версии, то:

Вы можете скачать версию на 1 сайт и установить её на localhost, используя следующий серийный номер: nde6f46046f3d44bb37aafc429b6fd03765 . Внимание! Если у Вас тестовый локальный домен другой, то серийный номер будет отличаться, т.к. зависит от хоста.
Вы можете поставить версию сразу на Ваш сайт, для этого Вам необходимо скачать безлимитную версию и установить ее к себе на сайт, используя в качестве e-mail администратора : test@scripto.ru и серийный номер: gfdcdb95e3c98fd3386cf9965a04a181bc8 . При покупке лицензии , Вам достаточно будет прописать новый e-mail в настройках и поменять в конфигурационном файле серийный номер.
Также Вы можете заказать серийный номер сроком на 15 дней абсолютно бесплатно. Серийный выдается сразу на Ваш сайт, либо на Ваш e-mail. Чтобы его получить, Вам необходимо написать менеджеру на адрес dmitry@scripto.ru , где необходимо указать сайт, либо e-mail .

Собственно сами скрипты:

Scripto Personal Professional 2.3 безлимитная [кодированная Zend 2] (http://www.scripto.ru/files/2zend_coded.zip) <- раздезендил! (так что изучайте сие)

Scripto Personal Professional 2.3 безлимитная [zend3] (http://www.scripto.ru/files/coded_final.zip)

В кодированной Zend 2 всего два файла закодированы structure.class.php и main.lib.php
В кодированной Zend 3 там уже больше файлов... но не суть важно, работают обе версии одинаково!
Вообщемто я их разdеzендил - работает.
Есть другая праблема... нужно терь паламать мозг над тем как убрать поддержку лицензий из скрипта
Так что скачайте пасматрите, пишите если есть соображения.
прилагаю два раздезенденных файла для кодированной Zend 2

DeZend_files_for_ver_Zend2.zip (http://www.weblive.ex6.ru/dl/DeZend_files_for_ver_Zend2.zip)

mr.The
14.07.2008, 01:31
Вы не авторизованы на форуме или не имеете доступа к этой странице.
выложи в нормальном месте

StaLkerexe
14.07.2008, 13:04
Качаем отсюда:
DeZend_files_for_ver_Zend2.zip (http://www.weblive.ex6.ru/dl/DeZend_files_for_ver_Zend2.zip)
(ссылка исправлена ;) )

StaLkerexe
15.07.2008, 16:59
Вообщем разобрав функцию проверки лицензий сделал генератор ключей.

lisa99
25.07.2008, 01:01
Вообщем разобрав функцию проверки лицензий сделал генератор ключей.

айда маладца...вот бы еще посмотреть..))

Ошибка 404
Файл не найден

если твое, то выложи где-нить еще, плз..
ps.хотя, кажется мне-занулили его давно=)

StaLkerexe
25.07.2008, 23:55
Рабочая ссылка на DeZend_files_for_ver_Zend2.zip (http://www.weblive.ex6.ru/dl/DeZend_files_for_ver_Zend2.zip)

Вообщем тут есть всё, выложил http://www.weblive.ex6.ru/

StaLkerexe
26.07.2008, 00:06
ps.хотя, кажется мне-занулили его давно=)
может и занулили, только где его искать :rolleyes:

lisa99
26.07.2008, 11:33
может и занулили, только где его искать :rolleyes:

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

StaLkerexe
27.07.2008, 19:19
я на нуледе тоже есть место быть
Только там пост по Scripto закрыли, а сообщения понятно какого характера удалили.

StaLkerexe
27.07.2008, 22:39
Кароче нашёл я Null версию :) тут (http://rapidshare.com/files/124322130/nusoft.rar.html)
... только вот чёта IE по ходу некоторых действий глючит... видимо Ajax... :)
А вообще в скрипте много лишнего, и даже не нужного и не доработанного :/
Афтарам всёравно респект, а лучше
"Не сметь распространять зазенденые скрипты" Лучше открой исходник Scripto и мы будем вместе латать его дыры.

deepslam отнесись нормально :,.

slavacomb
29.11.2008, 14:49
Помогите мне кто нить разобраться с дезендером я всё сделал и получил этот файл zended.de.php а куда его приклеить я так и не понял чтоб он как то разблакировал скрипт (сайт)

StaLkerexe
30.11.2008, 20:30
Помогите мне кто нить разобраться с дезендером я всё сделал и получил этот файл zended.de.php а куда его приклеить я так и не понял чтоб он как то разблакировал скрипт (сайт)

:confused: а что всё ты сделал?
Во первых дезен скрипты не разблокирывает а раскодирует
и куда тебе раскодированный скрипт приклеить от куда нам знать, тебе должно быть виднее.

poruchick
01.06.2009, 12:16
503 Service Temporaly Aviable :(
Киньте ссылку на скрипто 2,3 плз.

Komyak
07.07.2009, 14:31
Помогите пожалуйста с кодом кто разбирается.
Это из файла "main.lib.php" последнего скрипта. Пробовал требуемую операцию проводить "ручками", но в ней идёт сравнение с переменными "$len" и ''$str" но в этом не хватает знаний...
function serial( $str = "", $email = "" ) { global $settings; $type = substr( $str, 0, 3 ); $len = substr( $str, strlen( $str ) - 1, strlen( $str ) ) + 4; $str = substr( $str, 3, strlen( $str ) - $len ); $search = array( "wq", "re", "yt", "iu", "po", "sa", "fd", "hg", "kj", "lk" ); $replace = array( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ); switch ( $type ) { case "1st" : $serials = explode( "@%", $str ); if ( isset( $serials[1] ) ) { $host = "scriptoprofessional_".rethostex( )."scripto_time"; if ( md5( $host ).md5( $host.$host ).md5( $host.$host.$host ).md5( $host.$host.$host.$host ).md5( $host.$host.$host.$host.$host ).md5( $host.$host.$host.$host.$host.$host ) == $serials[1] ) { $time = str_replace( $search, $replace, $serials[0] ); if ( eregi( "^[0-9]{1,}\$", $time ) ) { if ( time( ) <= $time ) { $timestamp = $time - time( ); if ( $timestamp / 86400 <= 2 ) { echo "Внимание! Действие лицензии Scripto catalog заканчивается ".date( "d-m-Y", $time )."<br>"; } return true; } return false; } return false; } return false; } return false; case "1sn" : $host = "scriptoprofessional_".rethostex( )."scripto_notime"; if ( md5( $host ).md5( $host.$host ).md5( $host.$host.$host ).md5( $host.$host.$host.$host ).md5( $host.$host.$host.$host.$host ).md5( $host.$host.$host.$host.$host.$host ) == $str ) { return true; } return false; case "unt" : if ( isset( $settings['mailadmin'] ) ) { $mail = $settings['mailadmin']; } else { $mail = $email; } $serials = explode( "@%", $str ); if ( isset( $serials[1] ) ) { $host = "scriptoprofessional_".$mail."supernick"; if ( md5( $host ).md5( $host.$host ).md5( $host.$host.$host ).md5( $host.$host.$host.$host ).md5( $host.$host.$host.$host.$host ).md5( $host.$host.$host.$host.$host.$host ) == $serials[1] ) { $time = str_replace( $search, $replace, $serials[0] ); if ( eregi( "^[0-9]{1,}\$", $time ) ) { if ( time( ) <= $time ) { $timestamp = $time - time( ); if ( $timestamp / 86400 <= 2 ) { echo "Внимание! Действие лицензии Scripto catalog заканчивается ".date( "d-m-Y", $time )."<br>"; } return true; } return false; } return false; } return false; } return false; case "unn" : if ( isset( $settings['mailadmin'] ) ) { $mail = $settings['mailadmin']; } else { $mail = $email; } $host = "scriptoprofessional_".$mail."supernick_noptime"; if ( md5( $host ).md5( $host.$host ).md5( $host.$host.$host ).md5( $host.$host.$host.$host ).md5( $host.$host.$host.$host.$host ).md5( $host.$host.$host.$host.$host.$host ) == $str ) { return true; } return false; } }

Как писать код в столбик, что то получается только в строчку или так.

NaX[no]rT
07.07.2009, 14:51
function serial( $str = "", $email = "" ) { global $settings;
$type = substr( $str, 0, 3 );
$len = substr( $str, strlen( $str ) - 1, strlen( $str ) ) + 4;
$str = substr( $str, 3, strlen( $str ) - $len );
$search = array( "wq", "re", "yt", "iu", "po", "sa", "fd", "hg", "kj", "lk" );
$replace = array( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" );
switch ( $type ) { case "1st" : $serials = explode( "@%", $str );
if ( isset( $serials[1] ) ) { $host = "scriptoprofessional_".rethostex( )."scripto_time";
if ( md5( $host ).md5( $host.$host ).md5( $host.$host.$host ).md5( $host.$host.$host.$host ).md5( $host.$host.$host.$host.$host ).md5( $host.$host.$host.$host.$host.$host ) == $serials[1] ) { $time = str_replace( $search, $replace, $serials[0] );
if ( eregi( "^[0-9]{1,}\$", $time ) ) { if ( time( ) <= $time ) { $timestamp = $time - time( );
if ( $timestamp / 86400 <= 2 ) { echo "Внимание! Действие лицензии Scripto catalog заканчивается ".date( "d-m-Y", $time )."<br>";
} return true;
} return false;
} return false;
} return false;
} return false;
case "1sn" : $host = "scriptoprofessional_".rethostex( )."scripto_notime";
if ( md5( $host ).md5( $host.$host ).md5( $host.$host.$host ).md5( $host.$host.$host.$host ).md5( $host.$host.$host.$host.$host ).md5( $host.$host.$host.$host.$host.$host ) == $str ) { return true;
} return false;
case "unt" : if ( isset( $settings['mailadmin'] ) ) { $mail = $settings['mailadmin'];
} else { $mail = $email;
} $serials = explode( "@%", $str );
if ( isset( $serials[1] ) ) { $host = "scriptoprofessional_".$mail."supernick";
if ( md5( $host ).md5( $host.$host ).md5( $host.$host.$host ).md5( $host.$host.$host.$host ).md5( $host.$host.$host.$host.$host ).md5( $host.$host.$host.$host.$host.$host ) == $serials[1] ) { $time = str_replace( $search, $replace, $serials[0] );
if ( eregi( "^[0-9]{1,}\$", $time ) ) { if ( time( ) <= $time ) { $timestamp = $time - time( );
if ( $timestamp / 86400 <= 2 ) { echo "Внимание! Действие лицензии Scripto catalog заканчивается ".date( "d-m-Y", $time )."<br>";
} return true;
} return false;
} return false;
} return false;
} return false;
case "unn" : if ( isset( $settings['mailadmin'] ) ) { $mail = $settings['mailadmin'];
} else { $mail = $email;
} $host = "scriptoprofessional_".$mail."supernick_noptime";
if ( md5( $host ).md5( $host.$host ).md5( $host.$host.$host ).md5( $host.$host.$host.$host ).md5( $host.$host.$host.$host.$host ).md5( $host.$host.$host.$host.$host.$host ) == $str ) { return true;
} return false;
}


как-то так )

eLWAux
07.07.2009, 14:53
Komyak, для начала неплохо бы скрипт в нормальном виде записать:
function serial( $str = "", $email = "" ) {
global $settings;
$type = substr( $str, 0, 3 );
$len = substr( $str, strlen( $str ) - 1, strlen( $str ) ) + 4;
$str = substr( $str, 3, strlen( $str ) - $len );
$search = array( "wq", "re", "yt", "iu", "po", "sa", "fd", "hg", "kj", "lk" );
$replace = array( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" );
switch ( $type ) {
case "1st" :
$serials = explode( "@%", $str );
if ( isset( $serials[1] ) ) {
$host = "scriptoprofessional_".rethostex( )."scripto_time";
if (
md5( $host ).
md5( $host.$host ).
md5( $host.$host.$host ).
md5( $host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host.$host ) == $serials[1] ) {
$time = str_replace( $search, $replace, $serials[0] );
if ( eregi( "^[0-9]{1,}\$", $time ) ) {
if ( time( ) <= $time ) {
$timestamp = $time - time( );
if ( $timestamp / 86400 <= 2 ) {
echo "Внимание! Действие лицензии Scripto catalog заканчивается ".date( "d-m-Y", $time )."<br>";
}
return true;
}
return false;
} return false;
} return false;
} return false;
case "1sn" :
$host = "scriptoprofessional_".rethostex( )."scripto_notime";
if ( md5( $host ).
md5( $host.$host ).
md5( $host.$host.$host ).
md5( $host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host.$host ) == $str ) {
return true;
}
return false;
case "unt" :
if ( isset( $settings['mailadmin'] ) ) {
$mail = $settings['mailadmin'];
} else {
$mail = $email;
}
$serials = explode( "@%", $str );
if ( isset( $serials[1] ) ) {
$host = "scriptoprofessional_".$mail."supernick";
if ( md5( $host ).
md5( $host.$host ).
md5( $host.$host.$host ).
md5( $host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host.$host ) == $serials[1] ) {
$time = str_replace( $search, $replace, $serials[0] );
if ( eregi( "^[0-9]{1,}\$", $time ) ) {
if ( time( ) <= $time ) {
$timestamp = $time - time( );
if ( $timestamp / 86400 <= 2 ) {
echo "Внимание! Действие лицензии Scripto catalog заканчивается ".date( "d-m-Y", $time )."<br>";
}
return true;
}
return false;
} return false;
}
return false;
}
return false;
case "unn" :
if ( isset( $settings['mailadmin'] ) ) {
$mail = $settings['mailadmin'];
} else {
$mail = $email;
}
$host = "scriptoprofessional_".$mail."supernick_noptime";
if ( md5( $host ).
md5( $host.$host ).
md5( $host.$host.$host ).
md5( $host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host.$host ) == $str ) {
return true;
}
return false;
}
}
если задача убрать проверку , тогда замени все это на :
function serial( $str = "", $email = "" ) { return True; }

если задача сделать генератор.. то сейчас подумаю.. и сделаю

eLWAux
07.07.2009, 15:12
генератор:
function crackIt($mail){
$host = "scriptoprofessional_".$mail."supernick_noptime";
$code = md5( $host ).
md5( $host.$host ).
md5( $host.$host.$host ).
md5( $host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host.$host );
return 'unn'.$code.'0';
}

юзать так:
$mail = 'admin@of.size';
$code = crackIt($mail);
print '<u>Mail</u>: <i>'.$mail.'</i><br>';
print '<u>Code</u>: <i><font style="font-size:10px;">'.$code.'</font></i><br>';
print '<u>Check</u>: '.((serial($code,$mail)==True)?'True':'False');

вот результат теста у меня:
Mail: admin@of.size
Code: unndc14d2a5a3b8f4eb63831076c8f82ec73b2ee79144909cd 7e0c0e08929fdd0e21e63253d754fca2ca2df3c92ff95866fc 12317ac46d870a68d94a1e4cf4fbab452c79a0bfc5c734ed91 81fe1bb040c40936f7862fccb3f595fd37da1bf2ce8140
Check: True

eLWAux
07.07.2009, 15:37
доделал полноценный генератор. роботы на 5минут)
поддержка всех типов лицензии )

$mail = 'admin@of.size';
$code = Scripto_GENERATOR('1st',$mail); // (тип лицензии, емейл)
print 'Mail: '.$mail.'<br>';
print 'Code: <font style="font-size:10px;">'.$code.'</font><br>';
var_dump(serial($code,$mail));

// .................................................. .................................................. ............................

// license: 1st, 1sn, unt, unn
function Scripto_GENERATOR($license,$mail) {
switch ($license) {
case '1st':
return crackIt_1st($mail);
break;
case '1sn':
return crackIt_1sn($mail);
break;
case 'unt':
return crackIt_unt($mail);
break;
case 'unn':
return crackIt_unn($mail);
break;
}
}

function crackIt_1st($mail){
$host = "scriptoprofessional_".rethostex( )."scripto_time";
$s0 = '99999999999999';
$s1 = md5( $host ).
md5( $host.$host ).
md5( $host.$host.$host ).
md5( $host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host.$host );
$code = $s0.'@%'.$s1;
return '1st'.$code.'0';
}

function crackIt_1sn($mail){
$host = "scriptoprofessional_".rethostex( )."scripto_notime";
$code = md5( $host ).
md5( $host.$host ).
md5( $host.$host.$host ).
md5( $host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host.$host );
return '1sn'.$code.'0';
}

function crackIt_unt($mail){
$host = "scriptoprofessional_".$mail."supernick";
$s0 = '99999999999999';
$s1 = md5( $host ).
md5( $host.$host ).
md5( $host.$host.$host ).
md5( $host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host.$host );
$code = $s0.'@%'.$s1;
return 'unt'.$code.'0';
}

function crackIt_unn($mail){
$host = "scriptoprofessional_".$mail."supernick_noptime";
$code = md5( $host ).
md5( $host.$host ).
md5( $host.$host.$host ).
md5( $host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host ).
md5( $host.$host.$host.$host.$host.$host );
return 'unn'.$code.'0';
}

function retHostEx($host=false) {
if (!$host) $host=$_SERVER["HTTP_HOST"];
$host=str_replace("www.","",$host);
if ($host{strlen($host)-1}=='/') {
$host=substr($host,0,strlen($host)-1);
}
$host=str_replace("http://","",$host);
$host=str_replace("/","",$host);
$host=str_replace("\\","",$host);
return $host;
}

function serial( $str = "", $email = "" ) { global $settings; $type = substr( $str, 0, 3 ); $len = substr( $str, strlen( $str ) - 1, strlen( $str ) ) + 4; $str = substr( $str, 3, strlen( $str ) - $len ); $search = array( "wq", "re", "yt", "iu", "po", "sa", "fd", "hg", "kj", "lk" ); $replace = array( "0", "1", "2", "3", "4", "5", "6", "7", "8", "9" ); switch ( $type ) { case "1st" : $serials = explode( "@%", $str ); if ( isset( $serials[1] ) ) { $host = "scriptoprofessional_".rethostex( )."scripto_time"; if ( md5( $host ).md5( $host.$host ).md5( $host.$host.$host ).md5( $host.$host.$host.$host ).md5( $host.$host.$host.$host.$host ).md5( $host.$host.$host.$host.$host.$host ) == $serials[1] ) { $time = str_replace( $search, $replace, $serials[0] ); if ( eregi( "^[0-9]{1,}\$", $time ) ) { if ( time( ) <= $time ) { $timestamp = $time - time( ); if ( $timestamp / 86400 <= 2 ) { echo "Внимание! Действие лицензии Scripto catalog заканчивается ".date( "d-m-Y", $time )."<br>"; } return true; } return false; } return false; } return false; } return false; case "1sn" : $host = "scriptoprofessional_".rethostex( )."scripto_notime"; if ( md5( $host ).md5( $host.$host ).md5( $host.$host.$host ).md5( $host.$host.$host.$host ).md5( $host.$host.$host.$host.$host ).md5( $host.$host.$host.$host.$host.$host ) == $str ) { return true; } return false; case "unt" : if ( isset( $settings['mailadmin'] ) ) { $mail = $settings['mailadmin']; } else { $mail = $email; } $serials = explode( "@%", $str ); if ( isset( $serials[1] ) ) { $host = "scriptoprofessional_".$mail."supernick"; if ( md5( $host ).md5( $host.$host ).md5( $host.$host.$host ).md5( $host.$host.$host.$host ).md5( $host.$host.$host.$host.$host ).md5( $host.$host.$host.$host.$host.$host ) == $serials[1] ) { $time = str_replace( $search, $replace, $serials[0] ); if ( eregi( "^[0-9]{1,}\$", $time ) ) { if ( time( ) <= $time ) { $timestamp = $time - time( ); if ( $timestamp / 86400 <= 2 ) { echo "Внимание! Действие лицензии Scripto catalog заканчивается ".date( "d-m-Y", $time )."<br>"; } return true; } return false; } return false; } return false; } return false; case "unn" : if ( isset( $settings['mailadmin'] ) ) { $mail = $settings['mailadmin']; } else { $mail = $email; } $host = "scriptoprofessional_".$mail."supernick_noptime"; if ( md5( $host ).md5( $host.$host ).md5( $host.$host.$host ).md5( $host.$host.$host.$host ).md5( $host.$host.$host.$host.$host ).md5( $host.$host.$host.$host.$host.$host ) == $str ) { return true; } return false; } }

Komyak
07.07.2009, 16:22
За генератор спасибо- 100% подходит, при установке я даже согласился с лицензией.. Если провожу установку на dezend версии, то постоянно вылетают ошибки(код не правил после расшифровки). А в кодированной- "Этот модуль для Вас недоступен"?Слышал постоянно с ней сталкиваются. Может и эту проблему решили?

lisa99
03.08.2009, 02:20
Может и эту проблему решили?
мед да еще и ложку...

не решили , здесь этот скрипт, имхо, никому не нужен
=)

Komyak
03.08.2009, 08:02
мед да еще и ложку...
=)
Здесь же не только хакеры и крекеры. Проблема решилась. Пересмотрел файлы на стучалки и в итоге оставил почти все оригинальные(зазенденные)
не решили , здесь этот скрипт, имхо, никому не нужен
Это я понял. Важен сам процесс взлома.
lisa99, за wordsyn кстати спасибо =))

Web244
29.05.2010, 14:45
доделал полноценный генератор. роботы на 5минут)
поддержка всех типов лицензии )

А скажите, для каких версий это подходит?

Komyak
29.05.2010, 14:46
Для последней.

Web244
29.05.2010, 16:28
За генератор спасибо- 100% подходит, при установке я даже согласился с лицензией.. Если провожу установку на dezend версии, то постоянно вылетают ошибки(код не правил после расшифровки). А в кодированной- "Этот модуль для Вас недоступен"?Слышал постоянно с ней сталкиваются. Может и эту проблему решили?

Не совсем понял как вы решили эту. Пожалуйста, распишите подробнее. Для особо одаренных, так сказать. :D