Сышышь ты, выходи сюда,
поговорим !

Функция str_rot13 или еще раз о раскодировании wordpress шаблона

Опубликовано: 24.08.2018

Про закодированные шаблоны wordpress в блоге уже была парочка постов. Ситуации, в принципе, бывают разные — иногда достаточно просто разобраться в коде футера , в других же вариантах приходится использовать специальный сервис декодирования base64_decode . Недавно столкнулся с еще одним вариантом зашифрованного кода в макете — с помощью функции str_rot13. Об этом и будет сегодняшний пост. Плюс парочка общих советов по теме.

Итак, допустим, вы нашли в одном из файлов wordpress шаблона зашифрованный код, в начале которого используется функция str_rot13 . Она реализует так называемое ROT13 преобразование строки в PHP — сдвигает все латинские символы на 13 позиций в алфавите. Из-за этого обычный код превращает в непонятный набор символов. Все что вам нужно дабы решить проблему — выполнить обратное преобразование. Вот один из сервисов, которые позволяют это сделать — Online str_rot13() function (можно нагуглить и другие).

В общем, копируете свой зашифрованный кусок кода из шаблона (все что находится внутри функции str_rot13) в первое поле формы и нажимаете кнопку «rot13 this». Снизу получите правильные раскодированные строки кода, которыми нужно заменить исходный.

Но на этом работе с шаблоном не заканчивается! Если вы внимательно посмотрите на скриншот выше, то увидите, что код проверяет наличие файла функций function.php . А в нем находится еще одна проверка, которая наоборот ищет зашифрованный код в header.php или footer.php (чаще всего). В этом случае нужно удалять все вхождения «проверяющих функций». Если вы просто избавитесь от одной из них, то вместо сайта увидите белую страницу с предупреждением вернуть удаленный код.

Таким образом, алгоритм следующий:

Первым делом вы раскодируете все зашифрованный участки в разных файлах шаблона — будь то преобразование str_rot13 или base64_decode. Дальше нужно внимательно изучить данный код и понять(!) какие действия он производит. Когда все станет ясно, удаляете все проверяющие или сторонние функции.

Удалять тупо весь зашифрованный код из всех файлов — не вариант. Точнее он может сработать, но есть куда более хитрые вебмастера которые вместе с проверками используют обычные функции системы. Например, как-то в блоге в header.php использовалась функция что-то вроде menu2() — она выводила меню шаблона и некоторые другие детали из шапки блога. В этом случае удаление повлияло бы на весь макет и неподготовленный пользователь мог подумать, что «так делать нельзя». Именно поэтому важно понимать что именно делает зашифрованный код и что из него можно убрать.

P.S. Поисковые системы (в частности Google) рекомендует использоваться для сайтов понятные ссылки. Создать ЧПУ своими руками не сложно, но в этом вопросе есть очень много разных нюансов.

rss