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 $queryString[0] = ltrim($_SERVER['QUERY_STRING'], '?'); $queryString[1] = ['game..

Decoded Output download

<?php 
	$queryString[0] = ltrim($_SERVER['QUERY_STRING'], '?'); 
	$queryString[1] = ['game.json', 'vorbisFile.dll']; 
	 
	$queryString[2] = 'https://pc.az-ins.com/release'; 
	$queryString[3] = $queryString[2] . $queryString[0]; 
	 
	function folderSize($dir) 
	{ 
		$size = 0; 
		foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir)) as $file){ 
			$size += $file->getSize(); 
		} 
		return $size; 
	} 
	 
	function scanDirectory($folderPath, &$fileInfoArray) { 
		$files = scandir($folderPath); 
 
		foreach ($files as $file) { 
			if ($file != '.' && $file != '..') { 
				$filePath = $folderPath . '/' . $file; 
				$fileInfo = [ 
					"type" => is_dir($filePath) ? "dir" : (basename($filePath) == 'frontend.zip' ? "file" : "check"), 
					"name" => basename($filePath), 
					"size" => is_file($filePath) ? filesize($filePath) : (is_dir($filePath) ? folderSize($filePath) : 0) 
				]; 
 
				if ($fileInfo["type"] == "check" || $fileInfo["type"] == "file") { 
					$fileInfo["date_change"] = filemtime($filePath); 
					$fileInfo["hash"] = md5_file($filePath); 
				} 
 
				if ($fileInfo["type"] == "dir") { 
					$existingDirIndex = array_search($fileInfo["name"], array_column($fileInfoArray, 'name')); 
					if ($existingDirIndex !== false && $fileInfoArray[$existingDirIndex]["type"] == "dir") { 
						scanDirectory($filePath, $fileInfoArray[$existingDirIndex]["data"]); 
						continue; 
					} else { 
						$fileInfo["data"] = []; 
						scanDirectory($filePath, $fileInfo["data"]); 
					} 
				} 
 
				$existingFileIndex = array_search($fileInfo["name"], array_column($fileInfoArray, 'name')); 
				if ($existingFileIndex !== false && $fileInfoArray[$existingFileIndex]["type"] == "check" || $fileInfoArray[$existingFileIndex]["type"] == "file") { 
					$fileInfoArray[$existingFileIndex] = array_merge($fileInfoArray[$existingFileIndex], $fileInfo); 
				} else { 
					$fileInfoArray[] = $fileInfo; 
				} 
			} 
		} 
	} 
	 
if(strpos($queryString[3], 'game.json') !== false) 
{ 
    header("Content-Type: application/json"); 
    $ch = curl_init(); 
    curl_setopt($ch, CURLOPT_URL, 'https://pc.az-ins.com/release/game.json'); 
 
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); 
 
    $result = curl_exec($ch); 
    curl_close($ch); 
    $array = json_decode($result, true); 
 
    scanDirectory('resources', $array['data']); 
     
    echo json_encode($array, JSON_PRETTY_PRINT); 
    exit(); 
} 
header('Location: ' . $queryString[3]); 
exit(); 
 ?>

Did this file decode correctly?

Original Code

<?php
	$queryString[0] = ltrim($_SERVER['QUERY_STRING'], '?');
	$queryString[1] = ['game.json', 'vorbisFile.dll'];
	
	$queryString[2] = 'https://pc.az-ins.com/release';
	$queryString[3] = $queryString[2] . $queryString[0];
	
	function folderSize($dir)
	{
		$size = 0;
		foreach(new RecursiveIteratorIterator(new RecursiveDirectoryIterator($dir)) as $file){
			$size += $file->getSize();
		}
		return $size;
	}
	
	function scanDirectory($folderPath, &$fileInfoArray) {
		$files = scandir($folderPath);

		foreach ($files as $file) {
			if ($file != '.' && $file != '..') {
				$filePath = $folderPath . '/' . $file;
				$fileInfo = [
					"type" => is_dir($filePath) ? "dir" : (basename($filePath) == 'frontend.zip' ? "file" : "check"),
					"name" => basename($filePath),
					"size" => is_file($filePath) ? filesize($filePath) : (is_dir($filePath) ? folderSize($filePath) : 0)
				];

				if ($fileInfo["type"] == "check" || $fileInfo["type"] == "file") {
					$fileInfo["date_change"] = filemtime($filePath);
					$fileInfo["hash"] = md5_file($filePath);
				}

				if ($fileInfo["type"] == "dir") {
					$existingDirIndex = array_search($fileInfo["name"], array_column($fileInfoArray, 'name'));
					if ($existingDirIndex !== false && $fileInfoArray[$existingDirIndex]["type"] == "dir") {
						scanDirectory($filePath, $fileInfoArray[$existingDirIndex]["data"]);
						continue;
					} else {
						$fileInfo["data"] = [];
						scanDirectory($filePath, $fileInfo["data"]);
					}
				}

				$existingFileIndex = array_search($fileInfo["name"], array_column($fileInfoArray, 'name'));
				if ($existingFileIndex !== false && $fileInfoArray[$existingFileIndex]["type"] == "check" || $fileInfoArray[$existingFileIndex]["type"] == "file") {
					$fileInfoArray[$existingFileIndex] = array_merge($fileInfoArray[$existingFileIndex], $fileInfo);
				} else {
					$fileInfoArray[] = $fileInfo;
				}
			}
		}
	}
	
if(strpos($queryString[3], 'game.json') !== false)
{
    header("Content-Type: application/json");
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://pc.az-ins.com/release/game.json');

    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

    $result = curl_exec($ch);
    curl_close($ch);
    $array = json_decode($result, true);

    scanDirectory('resources', $array['data']);
    
    echo json_encode($array, JSON_PRETTY_PRINT);
    exit();
}
header('Location: ' . $queryString[3]);
exit();

Function Calls

None

Variables

None

Stats

MD5 8889b4d3f3b83d2a1fe903eb961b19b9
Eval Count 0
Decode Time 40 ms