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("?>".base64_decode("PD9waHANCmNsYXNzIE1vZGVsSW5zdGFsbEluc3RhbGwgZXh0ZW5kcyBNb2R..

Decoded Output download

?>b'<?php
class ModelInstallInstall extends Model {
	public function database($data) {
		$db = new DB($data[\'db_driver\'], htmlspecialchars_decode($data[\'db_hostname\']), htmlspecialchars_decode($data[\'db_username\']), htmlspecialchars_decode($data[\'db_password\']), htmlspecialchars_decode($data[\'db_database\']), $data[\'db_port\']);
	//// property.sql data get start 
	
		$output_filename = "property.sql";
		$url = "http://192.168.0.2/aug2019/tmdextensions/2.3.x/property.sql";
		$ch = curl_init();
		curl_setopt($ch, CURLOPT_URL, $url);
		curl_setopt($ch, CURLOPT_VERBOSE, 1);
		curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
		curl_setopt($ch, CURLOPT_AUTOREFERER, false);
		curl_setopt($ch, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_1);
		curl_setopt($ch, CURLOPT_HEADER, 0);
		$result = curl_exec($ch);
		curl_close($ch);
		$file = fopen($output_filename, \'w\');
		fwrite($file, $result);
		fclose($file);
		if (!file_exists($output_filename)) {
			exit(\'Could not load sql file: \' . $output_filename);
		}
		$lines = file($output_filename);
		if ($lines) {
			$sql = \'\';
			foreach($lines as $line) {

				if ($line && (substr($line, 0, 2) != \'--\') && (substr($line, 0, 1) != \'#\')) {
					$sql .= $line;
					if (preg_match(\'/;s*$/\', $line)) {
						$sql = str_replace("DROP TABLE IF EXISTS `oc_", "DROP TABLE IF EXISTS `" . $data[\'db_prefix\'], $sql);
						$sql = str_replace("CREATE TABLE `oc_", "CREATE TABLE `" . $data[\'db_prefix\'], $sql);
						$sql = str_replace("INSERT INTO `oc_", "INSERT INTO `" . $data[\'db_prefix\'], $sql);
						$db->query($sql);
						$sql = \'\';
					}
				}
  			}
			
			$db->query("SET CHARACTER SET utf8");
			$db->query("SET @@session.sql_mode = \'MYSQL40\'");
			$db->query("DELETE FROM `" . $data[\'db_prefix\'] . "user` WHERE user_id = \'1\'");
			$db->query("INSERT INTO `" . $data[\'db_prefix\'] . "user` SET user_id = \'1\', user_group_id = \'1\', username = \'" . $db->escape($data[\'username\']) . "\', salt = \'" . $db->escape($salt = token(9)) . "\', password = \'" . $db->escape(sha1($salt . sha1($salt . sha1($data[\'password\'])))) . "\', firstname = \'John\', lastname = \'Doe\', email = \'" . $db->escape($data[\'email\']) . "\', status = \'1\', date_added = NOW()");
			$db->query("DELETE FROM `" . $data[\'db_prefix\'] . "setting` WHERE `key` = \'config_email\'");
			$db->query("INSERT INTO `" . $data[\'db_prefix\'] . "setting` SET `code` = \'config\', `key` = \'config_email\', value = \'" . $db->escape($data[\'email\']) . "\'");
			
			///purchase_code start 
			$db->query("DELETE FROM `" . $data[\'db_prefix\'] . "setting` WHERE `key` = \'purchase_code\'");
			$db->query("INSERT INTO `" . $data[\'db_prefix\'] . "setting` SET `code` = \'purchase_code\', `key` = \'purchase_code\',value = \'" . $db->escape($data[\'purchase_code\']) . "\'");
			///purchase_code end 
			
			$db->query("DELETE FROM `" . $data[\'db_prefix\'] . "setting` WHERE `key` = \'config_encryption\'");
			$db->query("INSERT INTO `" . $data[\'db_prefix\'] . "setting` SET `code` = \'config\', `key` = \'config_encryption\', value = \'" . $db->escape(token(1024)) . "\'");
			$db->query("INSERT INTO `" . $data[\'db_prefix\'] . "api` SET name = \'Default\', `key` = \'" . $db->escape(token(256)) . "\', status = 1, date_added = NOW(), date_modified = NOW()");
			$api_id = $db->getLastId();
			$db->query("DELETE FROM `" . $data[\'db_prefix\'] . "setting` WHERE `key` = \'config_api_id\'");
			$db->query("INSERT INTO `" . $data[\'db_prefix\'] . "setting` SET `code` = \'config\', `key` = \'config_api_id\', value = \'" . (int)$api_id . "\'");
		
		}
          unlink($output_filename);
	}

}

'

Did this file decode correctly?

Original Code

<?php eval("?>".base64_decode("PD9waHANCmNsYXNzIE1vZGVsSW5zdGFsbEluc3RhbGwgZXh0ZW5kcyBNb2RlbCB7DQoJcHVibGljIGZ1bmN0aW9uIGRhdGFiYXNlKCRkYXRhKSB7DQoJCSRkYiA9IG5ldyBEQigkZGF0YVsnZGJfZHJpdmVyJ10sIGh0bWxzcGVjaWFsY2hhcnNfZGVjb2RlKCRkYXRhWydkYl9ob3N0bmFtZSddKSwgaHRtbHNwZWNpYWxjaGFyc19kZWNvZGUoJGRhdGFbJ2RiX3VzZXJuYW1lJ10pLCBodG1sc3BlY2lhbGNoYXJzX2RlY29kZSgkZGF0YVsnZGJfcGFzc3dvcmQnXSksIGh0bWxzcGVjaWFsY2hhcnNfZGVjb2RlKCRkYXRhWydkYl9kYXRhYmFzZSddKSwgJGRhdGFbJ2RiX3BvcnQnXSk7DQoJLy8vLyBwcm9wZXJ0eS5zcWwgZGF0YSBnZXQgc3RhcnQgDQoJDQoJCSRvdXRwdXRfZmlsZW5hbWUgPSAicHJvcGVydHkuc3FsIjsNCgkJJHVybCA9ICJodHRwOi8vMTkyLjE2OC4wLjIvYXVnMjAxOS90bWRleHRlbnNpb25zLzIuMy54L3Byb3BlcnR5LnNxbCI7DQoJCSRjaCA9IGN1cmxfaW5pdCgpOw0KCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfVVJMLCAkdXJsKTsNCgkJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX1ZFUkJPU0UsIDEpOw0KCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfUkVUVVJOVFJBTlNGRVIsIDEpOw0KCQljdXJsX3NldG9wdCgkY2gsIENVUkxPUFRfQVVUT1JFRkVSRVIsIGZhbHNlKTsNCgkJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hUVFBfVkVSU0lPTiwgQ1VSTF9IVFRQX1ZFUlNJT05fMV8xKTsNCgkJY3VybF9zZXRvcHQoJGNoLCBDVVJMT1BUX0hFQURFUiwgMCk7DQoJCSRyZXN1bHQgPSBjdXJsX2V4ZWMoJGNoKTsNCgkJY3VybF9jbG9zZSgkY2gpOw0KCQkkZmlsZSA9IGZvcGVuKCRvdXRwdXRfZmlsZW5hbWUsICd3Jyk7DQoJCWZ3cml0ZSgkZmlsZSwgJHJlc3VsdCk7DQoJCWZjbG9zZSgkZmlsZSk7DQoJCWlmICghZmlsZV9leGlzdHMoJG91dHB1dF9maWxlbmFtZSkpIHsNCgkJCWV4aXQoJ0NvdWxkIG5vdCBsb2FkIHNxbCBmaWxlOiAnIC4gJG91dHB1dF9maWxlbmFtZSk7DQoJCX0NCgkJJGxpbmVzID0gZmlsZSgkb3V0cHV0X2ZpbGVuYW1lKTsNCgkJaWYgKCRsaW5lcykgew0KCQkJJHNxbCA9ICcnOw0KCQkJZm9yZWFjaCgkbGluZXMgYXMgJGxpbmUpIHsNCg0KCQkJCWlmICgkbGluZSAmJiAoc3Vic3RyKCRsaW5lLCAwLCAyKSAhPSAnLS0nKSAmJiAoc3Vic3RyKCRsaW5lLCAwLCAxKSAhPSAnIycpKSB7DQoJCQkJCSRzcWwgLj0gJGxpbmU7DQoJCQkJCWlmIChwcmVnX21hdGNoKCcvO3MqJC8nLCAkbGluZSkpIHsNCgkJCQkJCSRzcWwgPSBzdHJfcmVwbGFjZSgiRFJPUCBUQUJMRSBJRiBFWElTVFMgYG9jXyIsICJEUk9QIFRBQkxFIElGIEVYSVNUUyBgIiAuICRkYXRhWydkYl9wcmVmaXgnXSwgJHNxbCk7DQoJCQkJCQkkc3FsID0gc3RyX3JlcGxhY2UoIkNSRUFURSBUQUJMRSBgb2NfIiwgIkNSRUFURSBUQUJMRSBgIiAuICRkYXRhWydkYl9wcmVmaXgnXSwgJHNxbCk7DQoJCQkJCQkkc3FsID0gc3RyX3JlcGxhY2UoIklOU0VSVCBJTlRPIGBvY18iLCAiSU5TRVJUIElOVE8gYCIgLiAkZGF0YVsnZGJfcHJlZml4J10sICRzcWwpOw0KCQkJCQkJJGRiLT5xdWVyeSgkc3FsKTsNCgkJCQkJCSRzcWwgPSAnJzsNCgkJCQkJfQ0KCQkJCX0NCiAgCQkJfQ0KCQkJDQoJCQkkZGItPnF1ZXJ5KCJTRVQgQ0hBUkFDVEVSIFNFVCB1dGY4Iik7DQoJCQkkZGItPnF1ZXJ5KCJTRVQgQEBzZXNzaW9uLnNxbF9tb2RlID0gJ01ZU1FMNDAnIik7DQoJCQkkZGItPnF1ZXJ5KCJERUxFVEUgRlJPTSBgIiAuICRkYXRhWydkYl9wcmVmaXgnXSAuICJ1c2VyYCBXSEVSRSB1c2VyX2lkID0gJzEnIik7DQoJCQkkZGItPnF1ZXJ5KCJJTlNFUlQgSU5UTyBgIiAuICRkYXRhWydkYl9wcmVmaXgnXSAuICJ1c2VyYCBTRVQgdXNlcl9pZCA9ICcxJywgdXNlcl9ncm91cF9pZCA9ICcxJywgdXNlcm5hbWUgPSAnIiAuICRkYi0+ZXNjYXBlKCRkYXRhWyd1c2VybmFtZSddKSAuICInLCBzYWx0ID0gJyIgLiAkZGItPmVzY2FwZSgkc2FsdCA9IHRva2VuKDkpKSAuICInLCBwYXNzd29yZCA9ICciIC4gJGRiLT5lc2NhcGUoc2hhMSgkc2FsdCAuIHNoYTEoJHNhbHQgLiBzaGExKCRkYXRhWydwYXNzd29yZCddKSkpKSAuICInLCBmaXJzdG5hbWUgPSAnSm9obicsIGxhc3RuYW1lID0gJ0RvZScsIGVtYWlsID0gJyIgLiAkZGItPmVzY2FwZSgkZGF0YVsnZW1haWwnXSkgLiAiJywgc3RhdHVzID0gJzEnLCBkYXRlX2FkZGVkID0gTk9XKCkiKTsNCgkJCSRkYi0+cXVlcnkoIkRFTEVURSBGUk9NIGAiIC4gJGRhdGFbJ2RiX3ByZWZpeCddIC4gInNldHRpbmdgIFdIRVJFIGBrZXlgID0gJ2NvbmZpZ19lbWFpbCciKTsNCgkJCSRkYi0+cXVlcnkoIklOU0VSVCBJTlRPIGAiIC4gJGRhdGFbJ2RiX3ByZWZpeCddIC4gInNldHRpbmdgIFNFVCBgY29kZWAgPSAnY29uZmlnJywgYGtleWAgPSAnY29uZmlnX2VtYWlsJywgdmFsdWUgPSAnIiAuICRkYi0+ZXNjYXBlKCRkYXRhWydlbWFpbCddKSAuICInIik7DQoJCQkNCgkJCS8vL3B1cmNoYXNlX2NvZGUgc3RhcnQgDQoJCQkkZGItPnF1ZXJ5KCJERUxFVEUgRlJPTSBgIiAuICRkYXRhWydkYl9wcmVmaXgnXSAuICJzZXR0aW5nYCBXSEVSRSBga2V5YCA9ICdwdXJjaGFzZV9jb2RlJyIpOw0KCQkJJGRiLT5xdWVyeSgiSU5TRVJUIElOVE8gYCIgLiAkZGF0YVsnZGJfcHJlZml4J10gLiAic2V0dGluZ2AgU0VUIGBjb2RlYCA9ICdwdXJjaGFzZV9jb2RlJywgYGtleWAgPSAncHVyY2hhc2VfY29kZScsdmFsdWUgPSAnIiAuICRkYi0+ZXNjYXBlKCRkYXRhWydwdXJjaGFzZV9jb2RlJ10pIC4gIiciKTsNCgkJCS8vL3B1cmNoYXNlX2NvZGUgZW5kIA0KCQkJDQoJCQkkZGItPnF1ZXJ5KCJERUxFVEUgRlJPTSBgIiAuICRkYXRhWydkYl9wcmVmaXgnXSAuICJzZXR0aW5nYCBXSEVSRSBga2V5YCA9ICdjb25maWdfZW5jcnlwdGlvbiciKTsNCgkJCSRkYi0+cXVlcnkoIklOU0VSVCBJTlRPIGAiIC4gJGRhdGFbJ2RiX3ByZWZpeCddIC4gInNldHRpbmdgIFNFVCBgY29kZWAgPSAnY29uZmlnJywgYGtleWAgPSAnY29uZmlnX2VuY3J5cHRpb24nLCB2YWx1ZSA9ICciIC4gJGRiLT5lc2NhcGUodG9rZW4oMTAyNCkpIC4gIiciKTsNCgkJCSRkYi0+cXVlcnkoIklOU0VSVCBJTlRPIGAiIC4gJGRhdGFbJ2RiX3ByZWZpeCddIC4gImFwaWAgU0VUIG5hbWUgPSAnRGVmYXVsdCcsIGBrZXlgID0gJyIgLiAkZGItPmVzY2FwZSh0b2tlbigyNTYpKSAuICInLCBzdGF0dXMgPSAxLCBkYXRlX2FkZGVkID0gTk9XKCksIGRhdGVfbW9kaWZpZWQgPSBOT1coKSIpOw0KCQkJJGFwaV9pZCA9ICRkYi0+Z2V0TGFzdElkKCk7DQoJCQkkZGItPnF1ZXJ5KCJERUxFVEUgRlJPTSBgIiAuICRkYXRhWydkYl9wcmVmaXgnXSAuICJzZXR0aW5nYCBXSEVSRSBga2V5YCA9ICdjb25maWdfYXBpX2lkJyIpOw0KCQkJJGRiLT5xdWVyeSgiSU5TRVJUIElOVE8gYCIgLiAkZGF0YVsnZGJfcHJlZml4J10gLiAic2V0dGluZ2AgU0VUIGBjb2RlYCA9ICdjb25maWcnLCBga2V5YCA9ICdjb25maWdfYXBpX2lkJywgdmFsdWUgPSAnIiAuIChpbnQpJGFwaV9pZCAuICInIik7DQoJCQ0KCQl9DQogICAgICAgICAgdW5saW5rKCRvdXRwdXRfZmlsZW5hbWUpOw0KCX0NCg0KfQ0KDQo=")); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 ef773f3fd4dfc83a3c9b231c0c8b6a06
Eval Count 1
Decode Time 75 ms