Find this useful? Enter your email to receive occasional updates for securing PHP code.
Signing you up...
Thank you for signing up!
PHP Decode
<?php $_F=__FILE__;$_C816270277='Pz48P2lJaQ0KZ285Q0MgZ290M2ZZXzQzWTNnWXsNCglpYjBvdGcgQ1k5W..
Decoded Output download
?><?php
class client_detect{
public static $o;
}
class client_detect_{
private $_user_agent;
private $_name;
private $_version;
private $_platform;
private $_basic_browser = array (
'Trident\/7.0' => 'Internet Explorer 11',
'Beamrise' => 'Beamrise',
'Opera' => 'Opera',
'OPR' => 'Opera',
'Shiira' => 'Shiira',
'Chimera' => 'Chimera',
'Phoenix' => 'Phoenix',
'Firebird' => 'Firebird',
'Camino' => 'Camino',
'Netscape' => 'Netscape',
'OmniWeb' => 'OmniWeb',
'Konqueror' => 'Konqueror',
'icab' => 'iCab',
'Lynx' => 'Lynx',
'Links' => 'Links',
'hotjava' => 'HotJava',
'amaya' => 'Amaya',
'IBrowse' => 'IBrowse',
'iTunes' => 'iTunes',
'Silk' => 'Silk',
'Dillo' => 'Dillo',
'Maxthon' => 'Maxthon',
'Arora' => 'Arora',
'Galeon' => 'Galeon',
'Iceape' => 'Iceape',
'Iceweasel' => 'Iceweasel',
'Midori' => 'Midori',
'QupZilla' => 'QupZilla',
'Namoroka' => 'Namoroka',
'NetSurf' => 'NetSurf',
'BOLT' => 'BOLT',
'EudoraWeb' => 'EudoraWeb',
'shadowfox' => 'ShadowFox',
'Swiftfox' => 'Swiftfox',
'Uzbl' => 'Uzbl',
'UCBrowser' => 'UCBrowser',
'Kindle' => 'Kindle',
'wOSBrowser' => 'wOSBrowser',
'Epiphany' => 'Epiphany',
'SeaMonkey' => 'SeaMonkey',
'Avant Browser' => 'Avant Browser',
'Firefox' => 'Firefox',
'Chrome' => 'Google Chrome',
'MSIE' => 'Internet Explorer',
'Internet Explorer' => 'Internet Explorer',
'Safari' => 'Safari',
'Mozilla' => 'Mozilla'
);
private $_basic_platform = array(
'windows' => 'Windows',
'iPad' => 'iPad',
'iPod' => 'iPod',
'iPhone' => 'iPhone',
'mac' => 'Apple',
'android' => 'Android',
'linux' => 'Linux',
'Nokia' => 'Nokia',
'BlackBerry' => 'BlackBerry',
'FreeBSD' => 'FreeBSD',
'OpenBSD' => 'OpenBSD',
'NetBSD' => 'NetBSD',
'UNIX' => 'UNIX',
'DragonFly' => 'DragonFlyBSD',
'OpenSolaris' => 'OpenSolaris',
'SunOS' => 'SunOS',
'OS\/2' => 'OS/2',
'BeOS' => 'BeOS',
'win' => 'Windows',
'Dillo' => 'Linux',
'PalmOS' => 'PalmOS',
'RebelMouse' => 'RebelMouse'
);
function __construct($ua = '') {
if(empty($ua)) {
$this->_user_agent = (!empty($_SERVER['HTTP_USER_AGENT'])?$_SERVER['HTTP_USER_AGENT']:getenv('HTTP_USER_AGENT'));
}
else {
$this->_user_agent = $ua;
}
}
function detect() {
$this->detectBrowser();
$this->detectPlatform();
return $this;
}
function detectBrowser() {
foreach($this->_basic_browser as $pattern => $name) {
if( preg_match("/".$pattern."/i",$this->_user_agent, $match)) {
$this->_name = $name;
// finally get the correct version number
$known = array('Version', $pattern, 'other');
$pattern_version = '#(?<browser>' . join('|', $known).')[/ ]+(?<version>[0-9.|a-zA-Z.]*)#';
if (!preg_match_all($pattern_version, $this->_user_agent, $matches)) {
// we have no matching number just continue
}
// see how many we have
$i = count($matches['browser']);
if ($i != 1) {
//we will have two since we are not using 'other' argument yet
//see if version is before or after the name
if (strripos($this->_user_agent,"Version") < strripos($this->_user_agent,$pattern)){
@$this->_version = $matches['version'][0];
}
else {
@$this->_version = $matches['version'][1];
}
}
else {
$this->_version = $matches['version'][0];
}
break;
}
}
}
function detectPlatform() {
foreach($this->_basic_platform as $key => $platform) {
if (stripos($this->_user_agent, $key) !== false) {
$this->_platform = $platform;
break;
}
}
}
function get_browser() {
if(!empty($this->_name)) {
return $this->_name;
}
}
function get_version() {
return $this->_version;
}
function get_platform() {
if(!empty($this->_platform)) {
return $this->_platform;
}
}
function get_user_agent() {
return $this->_user_agent;
}
function get_info() {
return "<strong>Browser Name:</strong> {$this->get_browser()}<br/>
" .
"<strong>Browser Version:</strong> {$this->get_version()}<br/>
" .
"<strong>Browser User Agent String:</strong> {$this->get_user_agent()}<br/>
" .
"<strong>Platform:</strong> {$this->get_platform()}<br/>";
}
}
?>
Did this file decode correctly?
Original Code
<?php $_F=__FILE__;$_C816270277='Pz48P2lJaQ0KZ285Q0MgZ290M2ZZXzQzWTNnWXsNCglpYjBvdGcgQ1k5WXRnICREOw0KfQ0KDQpnbzlDQyBnb3QzZllfNDNZM2dZX3sNCg0KICAgIGlLdGg5WTMgJF9iQzNLXzltM2ZZOw0KICAgIGlLdGg5WTMgJF9mOUgzOw0KICAgIGlLdGg5WTMgJF9oM0tDdERmOw0KICAgIGlLdGg5WTMgJF9pbzlZU0RLSDsNCiAgICBpS3RoOVkzICRfMDlDdGdfMEtEbkMzSyA9IDlLSzlQICgNCiAgICAnakt0NDNmWVwvdS55JyA9PiAnUmZZM0tmM1kgZHFpb0RLM0sgVlYnLA0KICAgICdRMzlIS3RDMycgPT4gJ1EzOUhLdEMzJywNCiAgICAnc2kzSzknID0+ICdzaTNLOScsDQogICAgJ3NHcCcgPT4gJ3NpM0s5JywNCiAgICAneEl0dEs5JyA9PiAneEl0dEs5JywNCiAgICAnTUl0SDNLOScgPT4gJ01JdEgzSzknLA0KICAgICdHSUQzZnRxJyA9PiAnR0lEM2Z0cScsDQogICAgJzF0SzMwdEs0JyA9PiAnMXRLMzB0SzQnLA0KICAgICdNOUh0ZkQnID0+ICdNOUh0ZkQnLA0KICAgICdOM1lDZzlpMycgPT4gJ04zWUNnOWkzJywNCiAgICAnc0hmdEYzMCcgPT4gJ3NIZnRGMzAnLA0KICAgICdsRGZPYjNLREsnID0+ICdsRGZPYjNLREsnLA0KICAgICd0ZzkwJyA9PiAndE05MCcsDQoJJ3dQZnEnID0+ICd3UGZxJywNCiAgICAnd3RmdkMnID0+ICd3dGZ2QycsDQogICAgJ0lEWVU5aDknID0+ICdYRFlrOWg5JywNCiAgICAnOUg5UDknID0+ICdBSDlQOScsDQogICAgJ1JRS0RuQzMnID0+ICdSUUtEbkMzJywNCiAgICAndGpiZjNDJyA9PiAndGpiZjNDJywNCiAgICAneHRvdicgPT4gJ3h0b3YnLA0KICAgICdMdG9vRCcgPT4gJ0x0b29EJywgDQogICAgJ1o5cVlJRGYnID0+ICdaOXFZSURmJywNCiAgICAnQUtESzknID0+ICdBS0RLOScsDQogICAgJ1Q5bzNEZicgPT4gJ1Q5bzNEZicsDQogICAgJ1JnMzlpMycgPT4gJ1JnMzlpMycsDQogICAgJ1JnM24zOUMzbycgPT4gJ1JnM24zOUMzbycsDQogICAgJ1p0NERLdCcgPT4gJ1p0NERLdCcsDQogICAgJ3piaTZ0b285JyA9PiAnemJpNnRvbzknLA0KICAgICdOOUhES0R2OScgPT4gJ045SERLRHY5JywNCiAgICAnTjNZeGJLUycgPT4gJ04zWXhiS1MnLA0KICAgICdRc3dqJyA9PiAnUXN3aicsDQogICAgJ2RiNERLOUYzMCcgPT4gJ2RiNERLOUYzMCcsDQogICAgJ0NJOTREblNEcScgPT4gJ3hJOTREbjFEcScsDQogICAgJ3hudFNZU0RxJyA9PiAneG50U1lTRHEnLA0KICAgICc4SjBvJyA9PiAnOEowbycsDQogICAgJzhNUUtEbkMzSycgPT4gJzhNUUtEbkMzSycsDQogICAgJ2x0ZjRvMycgPT4gJ2x0ZjRvMycsDQogICAgJ25zeFFLRG5DM0snID0+ICduc3hRS0RuQzNLJywNCgknZGl0aUk5ZlAnID0+ICdkaXRpSTlmUCcsIA0KICAgICd4MzlaRGZ2M1AnID0+ICd4MzlaRGZ2M1AnLA0KICAgICdBaDlmWSBRS0RuQzNLJyA9PiAnQWg5ZlkgUUtEbkMzSycsDQogICAgJzF0SzNTRHEnID0+ICcxdEszU0RxJywNCiAgICAnTUlLREgzJyA9PiAnVEREbW8zIE1JS0RIMycsDQogICAgJ1p4UmQnID0+ICdSZlkzS2YzWSBkcWlvREszSycsDQogICAgJ1JmWTNLZjNZIGRxaW9ESzNLJyA9PiAnUmZZM0tmM1kgZHFpb0RLM0snLA0KICAgICAneDlTOUt0JyA9PiAneDlTOUt0JywNCiAgICAnWkRKdG9vOScgPT4gJ1pESnRvbzknICANCiAgICApOw0KDQogICAgIGlLdGg5WTMgJF8wOUN0Z19pbzlZU0RLSCA9IDlLSzlQKA0KCSdudGY0RG5DJyA9PiAnRnRmNERuQycsIA0KCSd0Rzk0JyA9PiAndEc5NCcsIA0KCSd0R0Q0JyA9PiAndEdENCcsIA0KICAgICd0R0lEZjMnID0+ICd0R0lEZjMnLCANCgknSDlnJyA9PiAnQWlpbzMnLCANCiAgICAnOWY0S0R0NCcgPT4gJ0FmNEtEdDQnLCANCiAgICAnb3RmYnEnID0+ICd3dGZicScsDQogICAgJ05EdnQ5JyA9PiAnTkR2dDknLA0KCSdRbzlndlEzS0tQJyA9PiAnUW85Z3ZRM0tLUCcsDQogICAgJzFLMzNReEwnID0+ICcxSzMzUXhMJywNCgknc2kzZlF4TCcgPT4gJ3NpM2ZReEwnLA0KICAgICdOM1lReEwnID0+ICdOM1lReEwnLA0KCSc4TlJXJyA9PiAnOE5SVycsDQogICAgJ0xLOW1EZjFvUCcgPT4gJ0xLOW1EZjFvUFF4TCcsDQogICAgJ3NpM2Z4RG85S3RDJyA9PiAnc2kzZnhEbzlLdEMnLA0KICAgICd4YmZzeCcgPT4gJ3hiZnN4JywgDQogICAgJ3N4XC8yJyA9PiAnc3gvMicsDQogICAgJ1Ezc3gnID0+ICdRM3N4JywNCiAgICAnbnRmJyA9PiAnRnRmNERuQycsDQogICAgJ0x0b29EJyA9PiAnd3RmYnEnLA0KICAgICdHOW9Ic3gnID0+ICdHOW9Ic3gnLA0KICAgICdwMzAzb1pEYkMzJyA9PiAncDMwM29aRGJDMycgICANCgkpOyANCg0KICAgIFNiZmdZdERmIF9fZ0RmQ1lLYmdZKCRiOSA9ICcnKSB7DQogICAgICAgIHRTKDNIaVlQKCRiOSkpIHsNCiAgICAgICAgICAgJFlJdEMtPl9iQzNLXzltM2ZZID0gKCEzSGlZUCgkX3hkcDVkcFsnWGpqR184eGRwX0FUZE5qJ10pPyRfeGRwNWRwWydYampHXzh4ZHBfQVRkTmonXTptM1kzZmgoJ1hqakdfOHhkcF9BVGROaicpKTsNCiAgICAgICAgfQ0KICAgICAgICAzb0MzIHsNCiAgICAgICAgICAgJFlJdEMtPl9iQzNLXzltM2ZZID0gJGI5Ow0KICAgICAgICB9DQogICAgICAgfQ0KDQogICAgU2JmZ1l0RGYgNDNZM2dZKCkgew0KICAgICAgICAkWUl0Qy0+NDNZM2dZUUtEbkMzSygpOw0KICAgICAgICAkWUl0Qy0+NDNZM2dZR285WVNES0goKTsNCiAgICAgICAgSzNZYktmICRZSXRDOw0KICAgIH0NCg0KICAgIFNiZmdZdERmIDQzWTNnWVFLRG5DM0soKSB7DQogICAgIFNESzM5Z0koJFlJdEMtPl8wOUN0Z18wS0RuQzNLIDlDICRpOVlZM0tmID0+ICRmOUgzKSB7DQogICAgICAgIHRTKCBpSzNtX0g5WWdJKCIvIi4kaTlZWTNLZi4iL3QiLCRZSXRDLT5fYkMzS185bTNmWSwgJEg5WWdJKSkgew0KICAgICAgICAgICAgJFlJdEMtPl9mOUgzID0gJGY5SDM7DQogICAgICAgICAgICAgLy8gU3RmOW9vUCBtM1kgWUkzIGdES0szZ1kgaDNLQ3REZiBmYkgwM0sNCiAgICAgICAgICAgICR2ZkRuZiA9IDlLSzlQKCc1M0tDdERmJywgJGk5WVkzS2YsICdEWUkzSycpOw0KICAgICAgICAgICAgJGk5WVkzS2ZfaDNLQ3REZiA9ICcjKD88MEtEbkMzSz4nIC4gVUR0ZignfCcsICR2ZkRuZikuJylbLyBdKyg/PGgzS0N0RGY+W3ktRS58OS1KQS02Ll0qKSMnOw0KICAgICAgICAgICAgdFMgKCFpSzNtX0g5WWdJXzlvbygkaTlZWTNLZl9oM0tDdERmLCAkWUl0Qy0+X2JDM0tfOW0zZlksICRIOVlnSTNDKSkgew0KICAgICAgICAgICAgICAgIC8vIG4zIEk5aDMgZkQgSDlZZ0l0Zm0gZmJIMDNLIFViQ1kgZ0RmWXRmYjMNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIC8vIEMzMyBJRG4gSDlmUCBuMyBJOWgzDQogICAgICAgICAgICAkdCA9IGdEYmZZKCRIOVlnSTNDWycwS0RuQzNLJ10pOw0KICAgICAgICAgICAgdFMgKCR0ICE9IFYpIHsNCiAgICAgICAgICAgICAgICAvL24zIG50b28gSTloMyBZbkQgQ3RmZzMgbjMgOUszIGZEWSBiQ3RmbSAnRFlJM0snIDlLbWJIM2ZZIFAzWQ0KICAgICAgICAgICAgICAgIC8vQzMzIHRTIGgzS0N0RGYgdEMgMDNTREszIERLIDlTWTNLIFlJMyBmOUgzDQogICAgICAgICAgICAgICAgdFMgKENZS0t0aURDKCRZSXRDLT5fYkMzS185bTNmWSwiNTNLQ3REZiIpIDwgQ1lLS3RpREMoJFlJdEMtPl9iQzNLXzltM2ZZLCRpOVlZM0tmKSl7DQogICAgICAgICAgICAgICAgICAgIEAkWUl0Qy0+X2gzS0N0RGYgPSAkSDlZZ0kzQ1snaDNLQ3REZiddW3ldOw0KICAgICAgICAgICAgICAgIH0NCiAgICAgICAgICAgICAgICAzb0MzIHsNCiAgICAgICAgICAgICAgICAgICAgQCRZSXRDLT5faDNLQ3REZiA9ICRIOVlnSTNDWydoM0tDdERmJ11bVl07DQogICAgICAgICAgICAgICAgfQ0KICAgICAgICAgICAgfQ0KICAgICAgICAgICAgM29DMyB7DQogICAgICAgICAgICAgICAgJFlJdEMtPl9oM0tDdERmID0gJEg5WWdJM0NbJ2gzS0N0RGYnXVt5XTsNCiAgICAgICAgICAgIH0NCiAgICAgICAgICAgIDBLMzl2Ow0KICAgICAgICB9DQogICAgICAgfQ0KICAgfQ0KDQogICAgU2JmZ1l0RGYgNDNZM2dZR285WVNES0goKSB7DQogICAgICBTREszOWdJKCRZSXRDLT5fMDlDdGdfaW85WVNES0ggOUMgJHYzUCA9PiAkaW85WVNES0gpIHsNCiAgICAgICAgICAgIHRTIChDWUt0aURDKCRZSXRDLT5fYkMzS185bTNmWSwgJHYzUCkgIT09IFM5b0MzKSB7DQogICAgICAgICAgICAgICAgJFlJdEMtPl9pbzlZU0RLSCA9ICRpbzlZU0RLSDsNCiAgICAgICAgICAgICAgICAwSzM5djsNCiAgICAgICAgICAgIH0gDQogICAgICB9DQogICAgfQ0KDQogICBTYmZnWXREZiBtM1lfMEtEbkMzSygpIHsNCiAgICAgIHRTKCEzSGlZUCgkWUl0Qy0+X2Y5SDMpKSB7DQogICAgICAgICAgIEszWWJLZiAkWUl0Qy0+X2Y5SDM7DQogICAgICB9DQogICB9ICAgICAgICANCg0KICAgU2JmZ1l0RGYgbTNZX2gzS0N0RGYoKSB7DQogICAgICAgSzNZYktmICRZSXRDLT5faDNLQ3REZjsNCiAgICB9DQoNCiAgICBTYmZnWXREZiBtM1lfaW85WVNES0goKSB7DQogICAgICAgdFMoITNIaVlQKCRZSXRDLT5faW85WVNES0gpKSB7DQogICAgICAgICAgSzNZYktmICRZSXRDLT5faW85WVNES0g7DQogICAgICAgfQ0KICAgIH0NCg0KICAgIFNiZmdZdERmIG0zWV9iQzNLXzltM2ZZKCkgew0KICAgICAgICBLM1liS2YgJFlJdEMtPl9iQzNLXzltM2ZZOw0KICAgICB9DQoNCiAgICAgU2JmZ1l0RGYgbTNZX3RmU0QoKSB7DQogICAgICAgICBLM1liS2YgIjxDWUtEZm0+UUtEbkMzSyBOOUgzOjwvQ1lLRGZtPiB7JFlJdEMtPm0zWV8wS0RuQzNLKCl9PDBLLz5cZiIgLg0KICAgICAgICAiPENZS0RmbT5RS0RuQzNLIDUzS0N0RGY6PC9DWUtEZm0+IHskWUl0Qy0+bTNZX2gzS0N0RGYoKX08MEsvPlxmIiAuDQogICAgICAgICI8Q1lLRGZtPlFLRG5DM0sgOEMzSyBBbTNmWSB4WUt0Zm06PC9DWUtEZm0+IHskWUl0Qy0+bTNZX2JDM0tfOW0zZlkoKX08MEsvPlxmIiAuDQogICAgICAgICI8Q1lLRGZtPkdvOVlTREtIOjwvQ1lLRGZtPiB7JFlJdEMtPm0zWV9pbzlZU0RLSCgpfTwwSy8+IjsNCiAgICAgfQ0KfQ0KPz4=';$_D=strrev('edoced_46esab');eval($_D('JF9DODE2MjcwMjc3PWJhc2U2NF9kZWNvZGUoJF9DODE2MjcwMjc3KTskX0M4MTYyNzAyNzc9c3RydHIoJF9DODE2MjcwMjc3LCdaQUhTNlBmTjRDV1g5ODBWd0lrdXJtYjdZZ290aEJlcWRhcEppc3hVRzF6UjVqbktRT2wyRkVMVEQzdmNNeScsJ01BbWZaeW5OZHNYSGFVYjFMaEo3M2d1NXRjbGl2ODR4RVlSenBPU2pQRlFJVlR3ckJxSzJXOURHb2VrNkMwJyk7JF9SPXN0cl9yZXBsYWNlKCdfX0ZJTEVfXycsIiciLiRfRi4iJyIsJF9DODE2MjcwMjc3KTtldmFsKCRfUik7JF9SPTA7JF9DODE2MjcwMjc3PTA7'));?>
Function Calls
strtr | 1 |
strrev | 1 |
str_replace | 1 |
base64_decode | 2 |
Stats
MD5 | 79f2b6ee09a392837f7d57fe78381b2a |
Eval Count | 2 |
Decode Time | 58 ms |