Убираем кодирование скриптов в LinksPro

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

GROB

Гуру форума
Регистрация
28 Мар 2006
Сообщения
177
Реакции
76
Статья расчитана исключительно на людей, которые ниразу не нулили.
Гуру нула прошу не сильно плеваться :)
А кому понравится - есть кнопочка :)


Есть платный скрипт каталога ссылок LinksPro, демо версию можно скачать здесь:


Мне нужно было полностью исходник, для того, что бы позаимствовать часть кода для своего двига. Но скачал, и обнаружил что некоторые файлы закодированы...

Тогда я решел все таки достать исходники :)

Пойдем с самого начала:
index.php и на 7 строчке видим: require_once("cfg.php");
Открываем этот самый cfg.php и видим вначале что-то совсем непонятное, но это только с первого взгляда!

В самом начале:
<?$_0OO=__FILE__;$_O0O=2;$_OOO=18460;eval(base64_decode("
[дальше все закодировано MIME(base64) - симметричное шифрование, значит можно расшифровать ;)]
Внимательно смотрим в код, а лучше (F3 или Ctrl+F) и ищем закрывающую двойную кавычку "

И находим ее:
=="));/*LPR000002

Теперь, если декодировать блок, заключенный между двойными кавычками, то можно получить чистый PHP код, но это еще не все!
Весь код, который указан в коментарии /* */ на самом деле нам тоже пригодиться :)

Поэтому берем код, который мы нашли заключенный в " " и копируем его в простенький скрипт:

<?php
echo base64_decode(" место для кода ");
?>

Запускаем скрипт :) Браузер выдает тоже какой то бред ;-) Но это не бред а PHP код :)
Смотрим исходник страницы и копируем его полностью! Не из окна браузера, а именно исходника!

Дальше в этом коде перед eval($_000); ставим echo $_000; и полученным кодом зменяем в файле cfg.php следующую функцию
eval: eval(base64_decode("закодированый код"));

Запускаем cfg.php и копируем из исходника страницы - уже конечный PHP код, который полностью заменяет старый в cfg.php
не забудте его поместить между <?php и ?>

Вот и все - один файл раскодирован :)

С файлом classes.php в корне и cfg.php и classes.php в папке /admin/ - аналогично.

Таким образом были раскодированы все файлы :)
Занулить тоже можно было, но не было времени, да и русская разработка все таки :)
 
Это самый просто способ защиты, который проще всего обойти..
Зенд и ионкуб куда сложнее.
 
Так полегче
<?php
$in="";
$out=base64_decode($in);
echo $out;
$fk=fopen("C:\decode.txt","w");
fputs($fk,"$out");
fclose($fk);
?>

Но я все равно не понял как зануллить... Расшифрованный файл выглядит немного лучше зашифрованного. Получается, что зануллить данный скрипт нереально.

<?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));echo $_000;eval($_000);
?>

Добавлено через 44 минуты
Погуглил, вот что нашел. Но там на определенном этапе тоже труба. Может кто из гуру подскажет?

_http://community.livejournal.com/ru_webdev/2308812.html?thread=26363340
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху