Вечная гонка вооружений умов... Одни светлые головы кодируют нечто, другие- его раскодируют. Круговорот кода в интернете))) К чему я это? Да вот снова гении веб-дизайна заставили меня мучить Гугл.
Ну обо всём попорядку...
Сейчас я работаю над новым дизайном блога и поиски свеженьких шаблонов привели меня на сайт zenverse[точка]net. Богатый функционал бесплатных(!) шаблонов меня заинтересовал, а закодированный футер не испугал. Раскодировка футера со строками вида eval (base64_decode ('буквенно-числовая-абракадабра') описывалась мной в прошлой статье. Но вот что интересно — кроме футера ни в одном файле больше таких строк не наблюдалось. Попытка же изменить ссылки в футере приводила к белому экрану вместо сайта.
Пришлось искать не как обычно, а проверять все файлы без исключения на «артефакты». Нашлось )))
Целых три javascript файла интересного вида:
eval (function (p,a,c,k,e,r) {e=function (a) {...и дальше нечитаемый набор символов}
После недолгих мучений Гугл выдал мне адресок, которым я с вами и делюсь:
Javascript unpacker and beautifier — здесь можно не только раскодировать, но и полученный javascript привести в красивый, удобочитаемый вид.
Просто копируем всю закодированную строку в форму, жмём beautify и радуемся жизни пытаемся выяснить, чего же нам нехорошего подсунули на этот раз...
После изучения всех трёх файлов, выявил в одном такой вот интересный участок кода:
function zv_getnumofimages2() { var a = new Array(); a[0] = ('<' + 'a' + ' ' + 'h' + 'r' + 'e' + 'f' + '=' + '"' + 'h' + 't' + 't' + 'p' + ':' + '/' + '/' + 'y' + 'o' + 'u' + 'r' + 'c' + 'h' + 'r' + 'i' + 's' + 't' + 'i' + 'a' + 'n' + 's' + 'p' + 'a' + 'c' + 'e' + '.' + 'c' + 'o' + 'm' + '"' + '>' + 'C' + 'h' + 'r' + 'i' + 's' + 't' + 'i' + 'a' + 'n' + ' ' + 'M' + 'y' + 's' + 'p' + 'a' + 'c' + 'e' + '<' + '/' + 'a' + '>').toUpperCase(); a[1] = ('<' + 'a' + ' ' + 'h' + 'r' + 'e' + 'f' + '=' + '"' + 'h' + 't' + 't' + 'p' + ':' + '/' + '/' + 'p' + 'i' + 'n' + 'g' + 'l' + 'e' + 'r' + '.' + 'c' + 'o' + 'm' + '"' + '>' + 'P' + 'i' + 'n' + 'g' + ' ' + 'S' + 'e' + 'r' + 'v' + 'i' + 'c' + 'e' + 's' + '<' + '/' + 'a' + '>').toUpperCase(); a[2] = ('<' + 'a' + ' ' + 'h' + 'r' + 'e' + 'f' + '=' + '"' + 'h' + 't' + 't' + 'p' + ':' + '/' + '/' + 'f' + 'r' + 'e' + 'n' + 'c' + 'h' + 't' + 'e' + 'a' + 'c' + 'h' + 'e' + 'r' + 'j' + 'o' + 'b' + 's' + '.' + 'c' + 'o' + 'm' + '"' + '>' + 'F' + 'r' + 'e' + 'n' + 'c' + 'h' + ' ' + 'T' + 'e' + 'a' + 'c' + 'h' + 'e' + 'r' + ' ' + 'J' + 'o' + 'b' + 's' + '<' + '/' + 'a' + '>').toUpperCase(); a[3] = ('<' + 'a' + ' ' + 'h' + 'r' + 'e' + 'f' + '=' + '"' + 'h' + 't' + 't' + 'p' + ':' + '/' + '/' + 'm' + 'a' + 't' + 'h' + 's' + 't' + 'e' + 'a' + 'c' + 'h' + 'e' + 'r' + 'j' + 'o' + 'b' + 's' + '.' + 'c' + 'o' + 'm' + '"' + '>' + 'M' + 'a' + 't' + 'h' + 's' + ' ' + 'T' + 'e' + 'a' + 'c' + 'h' + 'e' + 'r' + ' ' + 'J' + 'o' + 'b' + 's' + '<' + '/' + 'a' + '>').toUpperCase();
Если хорошенько присмотреться — это сылки — те самые, что мозолят мне глаза в футере... Что с ними делать- решу завтра, а заодно почитаю еще про кодировщик Дина Эдвардса, благодаря которому мне снова пришлось лопатить интернет.
Кстати, есть еще один способ раскодировки таких строчек (а вдруг отключили интернет?)
В текстовом редакторе, в самое начало закодированной строчки вставляем:
eval=alert;
тоесть у вас должно получиться:
eval=alert;eval(function(p,a,c,k,e,r) {e=function(a) {.....и так далее
после чего обновляем страницу сайта. В ответ браузер выдаст сообщение типа:

в котором будет уже читабельный код. Выделяем всё, копируем (Ctrl+A, Ctrl+C), вставляем в текстовый редактор. Получилось не так красиво, но все же читаемо.
upd Для тех, кому интересно — чем же закончилось дело — выкладываю раскодированный файл.
Тема Deligthed black от Zenverse, файл zenverse_gallery.js. Код проверки футера из файла не удалён а закомментирован - для наглядности.
Слава богу, на моем шаблоне небыло ничего закодированного.
Мне тоже повезло в этом плане
Статья понравилась, написана без всяких премудростей и понятна для новичков, каким я и являюсь.
Сам так шифрую. Клевый способ, а главное расшифровывается долго)
Но вставлять такую гадость на чужие сайты не стоит)
Тоже как-то копался с этим вопросом. Теперь стараюсь искать шаблоны без таких заморочек.
Вот так кто то кодирует, чтобы в коде не ковырялись, а кто то...
Недавно маялся подобной ерундой, в итоге взял и заглянул в код страницы, потом снёс всё в нужном файле и вставил на чистое)))
спасибо за полезный ресурс, теперь будем разоблачать ява скрипты
Спасибо. Благодаря Вам, php мы уже умели раскодировать, теперь и ява скрипты научимся
Хотя, на деле такие шаблоны не попадались.
Alina, как говорят по зомбоящику — «не переключайтесь!»
Скоро на телеэкранах третья серия...
k0tello, спасибо файлик скачал и все поехало. С меня будет ссылка
Хорошая статья, полезная, автор молодец.
Всяких пингвинов в сети, вставляющих закодированный код в шаблоны пруд-пруди.
На правах рекламы, если администратор не против
, скажу только, что на мои бесплатные темы хохмы с кодированным кодом не распространяются. Ссылка под подвалом на себя любимого, конечно есть, но о ней вслух говорится, равно как и высказывается просьба, ссылку не удалять :).
Всем Удачи, Автору мерси за пркрасные материалы
РГ
Для PHP знал что замена eval на echo помогает, спасибо за статью, теперь знаю как Javascript расшифровывать
Комментирование закрыто.
22:34
Ну уж раскодированный код привести к читаемому виду дело недолгое.