Online PHP and Javascript Decoder decode hidden script to uncover its real functionality


Show other level

namespace Bitrix\Main\Security\W;
$GLOBALS['____1939878608']= array(base64_decode('dGltZQ=='),base64_decode('dGltZQ=='),base64_decode('anNvbl9kZWNvZGU='),base64_decode('YXJyYXlfbWVyZ2U='),base64_decode('am9pbg=='),base64_decode('am9pbg=='),base64_decode('am9pbg=='),base64_decode('YXJyYXlfcG9w'),base64_decode('YXJyYXlfc2hpZnQ='),base64_decode('YXJyYXlfc2hpZnQ='),base64_decode('YXJyYXlfc2hpZnQ='),base64_decode('YXJyYXlfc2hpZnQ='),base64_decode('YXJyYXlfbWVyZ2U='),base64_decode('aXNfYXJyYXk='),base64_decode('YXJyYXlfbWVyZ2U='),base64_decode('aW5fYXJyYXk='),base64_decode('aW5fYXJyYXk='),base64_decode('aW5fYXJyYXk='),base64_decode('aW5fYXJyYXk='),base64_decode('aW5fYXJyYXk='),base64_decode('dGltZQ=='),base64_decode('dGltZQ=='),base64_decode('YXJyYXlfbWFw'),base64_decode('anNvbl9lbmNvZGU='),base64_decode('anNvbl9lbmNvZGU='),base64_decode('am9pbg=='));
	if(!function_exists(__NAMESPACE__.'\\___71483459')){
		function ___71483459($_584366626){
		static $_1774492175= false;
		 if($_1774492175 == false) $_1774492175=array('V1dBTExfTE9DSw==','c2VjdXJpdHk=','Y2FjaGU=','dHRs','REFUQQ==','eyI=','V1dBTExfTE9DSw==','c2VjdXJpdHk=','U0VDVVJJVFlfV1dBTExfRVhDRVBUSU9O','RkFJTF9DSEVDS0lORw==','Q2FuIG5vdCBleGVjdXRlIHd3YWxsIHJ1bGVzOiA=','IFRyYWNlOiA=','UkVRVUVTVF9VUkk=','a2V5cw==','dmFsdWVz','U0VDVVJJVFlfV1dBTExfTU9ESUZZ','Lg==','U0VDVVJJVFlfV1dBTExfVU5TRVQ=','Lg==','U0VDVVJJVFlfV1dBTExfRVhJVA==','Lg==','Z2xvYmFs','a2V5cw==','dmFsdWVz','Z2V0','Z2V0','cG9zdA==','cG9zdA==','Y29va2ll','Y29va2ll','cmVxdWVzdA==','cmVxdWVzdA==','Z2xvYmFs','Z2xvYmFs','bWFpbl9zZWM=','V1dBTExfQUNUVUFMSVpFX1JVTEVT','dg==','dmVyc2lvbg==','aQ==','aXNJbnN0YWxsZWQ=','c29ja2V0VGltZW91dA==','c3RyZWFtVGltZW91dA==','KCc=','ZGF0YQ==','JywgJw==','bW9kdWxl','JywgJw==','bW9kdWxlX3ZlcnNpb24=','Jyk=','LCA=','U0VDVVJJVFlfV1dBTExfRVhDRVBUSU9O','bWFpbg==','RkFJTF9SRUZSRVNISU5H','Q2FuIG5vdCByZWZyZXNoIHd3YWxsIHJ1bGVzOiA=','IFRyYWNlOiA=','ZGF0YQ==','eyI=','LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0=','Ck1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcThRRTBIam1ISlVTdFdWNm4wemEKUlZvTHgwMkt6YmZyYlMvUDZzV2F4VHp3OFNlR1R0YlRDT3JwSGk1UUY2T1J5alovWHh6L0tMVTFHYm9mOUNaMwo0ejdTa3FVdDY2aWJYdk9GQng0ZncvQVBQUkdEcXRtMG5EM2ZnR3N1M1JlUGd3MjlpOCt2bTdtdEJLSlVZbDRyClZwYjZzZlpFVDlLRWI2VDFIRFltRXZjMWhxL2lpdXl4THJaWmk1UTZVZmY0VUV2VEkrNjhzc0ZSa1Erb3dUUnkKZU9JTWJGaE0vVVRtZlZZYlRSRnkyb1VROFdNemEybko1U2FoemkxVUtPMWpBalhUUFJyemM3QWp1NjM5ajFPMApwcHFmbTV4Z1dsRkFKa0hRVGdiZGQ1QVdxREZRa3Q5SEtrWStUbmZCTEdWTXZWeVB3VEhOV1FZQXc0eHBnL3dBClp3SURBUUFCCi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQ==');
		return base64_decode($_1774492175[$_584366626]);
	}
};
 use Bitrix\Main\Application;
 use Bitrix\Main\Config\Option;
 use Bitrix\Main\Data\Cache;
 use Bitrix\Main\ModuleManager;
 use Bitrix\Main\Security\PublicKeyCipher;
 use Bitrix\Main\SystemException;
 use Bitrix\Main\Web\HttpClient;
 use Bitrix\Main\Web\Json;
 use Bitrix\Main\Security\W\Rules\Rule;
 use Bitrix\Main\Security\W\Rules\Results\RuleAction;
 use Bitrix\Main\Security\W\Rules\Results\RuleResult;
 use Bitrix\Main\Security\W\Rules\Results\CheckResult;
 use Bitrix\Main\Security\W\Rules\Results\ModifyResult;
 use Bitrix\Main\Type\ArrayHelper;
 use Bitrix\Main\Security\W\Rules\RuleRecordTable;
	 class WWall{
	 const CACHE_RULES_TTL= 10800;
	 private static $_1076550640= 'https://wwall.bitrix.info/rules.php';
	 protected $_1499007829= true;
		 public function handle(){
			 try{
			  $_726697456= Cache::createInstance();
			 $_1587806121= false;
				 if($_726697456->initCache(static::CACHE_RULES_TTL, 'WWALL_LOCK', 'security')){
				 $_2000795400= $_726697456->getVars();
					 if($GLOBALS['____1939878608'][0]()- $_2000795400> round(0+5+5+5+5)){
					  $_659886432= Application::getConnection();
					 $_1785220596= RuleRecordTable::getTableName();
					 $_659886432->truncateTable($_1785220596);
					 RuleRecordTable::cleanCache();
					 $_726697456->clean(___71483459(0), ___71483459(1));
				}
			}
				 elseif($_726697456->startDataCache()){
				  $_726697456->endDataCache($GLOBALS['____1939878608'][1]());
				 $_1587806121= true;
			}
			  $_1188951966= RuleRecordTable::getList([ ___71483459(2) =>[___71483459(3) => round(0+1800+1800)* round(0+6+6+6+6)* round(0+2.3333333333333+2.3333333333333+2.3333333333333)]])->fetchAll();
				 foreach($_1188951966 as $_498408771){
				 $_689070389= new PublicKeyCipher;
				 $_328400800= $_689070389->decrypt($_498408771[___71483459(4)], static::__929110001());
					 if(!str_starts_with($_328400800, ___71483459(5))){
					 continue;
				}
				 $_226161448= $GLOBALS['____1939878608'][2]($_328400800, true);
					 if(!empty($_226161448)){
					 $_1590112676= Rule::make($_226161448);
					 $_1383394168= $this->handleRule($_1590112676);
					 $this->applyHandlingResults($_1383394168);
				}
			}
				  if($_1587806121){
				 $_726697456->clean(___71483459(6), ___71483459(7));
			}
		}
			 catch(\Throwable $_122991282){
			 $this->logEvent( ___71483459(8), ___71483459(9), ___71483459(10). $_122991282->getMessage(). ___71483459(11). $_122991282->getTraceAsString());
		}
	}
		  public function handleRule(Rule $_1590112676): array{
		 $_1383394168=[];
			 if($_1590112676->matchPath($_SERVER[___71483459(12)])){
			  $_1199141341= $this->getContextElements($_1590112676->getContext());
				 foreach($_1199141341 as $_1499275525 => &$_636379713){
				 $_1383394168= $GLOBALS['____1939878608'][3]($_1383394168, $this->recursiveContextKeyHandle($_1499275525, $_636379713,[], $_1590112676));
			}
		}
		 return $_1383394168;
	}
		  public function applyHandlingResults(array $_1383394168){
		 $_1199141341= $this->getContextElements([ 'get', 'post', 'cookie', 'request', 'global']);
			 foreach($_1383394168 as $_1817821122){
			 $_636379713=& $_1199141341[$_1817821122->getContextName()];
			 $_199047222= $_1817821122->getRuleResult();
			 $_1590112676= $_1817821122->getRule();
				 if($_199047222 instanceof ModifyResult){
					 if($_1590112676->getProcess() === ___71483459(13)){
					  static::rewriteContextKey( $_1817821122->getContextName(), $_636379713, $_1817821122->getContextKey(), $_199047222->getCleanValue());
				}
					 elseif($_1590112676->getProcess() === ___71483459(14)){
					 static::rewriteContextValue( $_1817821122->getContextName(), $_636379713, $_1817821122->getContextKey(), $_199047222->getCleanValue());
				}
				 $this->logEvent( ___71483459(15), $_1817821122->getContextName(), $GLOBALS['____1939878608'][4](___71483459(16), $_1817821122->getContextKey()));
			}
				 elseif($_199047222 instanceof CheckResult &&!$_199047222->isSuccess()){
					 if($_199047222->getAction() === RuleAction::UNSET){
					 static::unsetContextValue( $_1817821122->getContextName(), $_636379713, $_1817821122->getContextKey(),);
					 $this->logEvent( ___71483459(17), $_1817821122->getContextName(), $GLOBALS['____1939878608'][5](___71483459(18), $_1817821122->getContextKey()));
				}
					 elseif($_199047222->getAction() === RuleAction::EXIT){
					 $this->logEvent( ___71483459(19), $_1817821122->getContextName(), $GLOBALS['____1939878608'][6](___71483459(20), $_1817821122->getContextKey()));
					 exit;
				}
			}
		}
	}
		 public function disableEventLogging(){
		 $this->_1499007829= false;
	}
		 protected function rewriteContextKey($_1499275525, &$_636379713, $_1801954977, $_520459497){
		 $_45277829= $_1801954977;
		  $GLOBALS['____1939878608'][7]($_45277829);
		 $_45277829[]= $_520459497;
			 if($_1499275525 === ___71483459(21)){
			 $_1598963601= $GLOBALS['____1939878608'][8]($_1801954977);
			 $GLOBALS['____1939878608'][9]($_45277829);
				 if(empty($_1801954977)){
				 $GLOBALS[$_520459497]= $GLOBALS[$_1598963601];
				 unset($GLOBALS[$_1598963601]);
			}
				 else{
				 $_636379713=& $GLOBALS[$_1598963601];
				 $_1614260725= ArrayHelper::getByNestedKey($_636379713, $_1801954977);
				  ArrayHelper::setByNestedKey($_636379713, $_45277829, $_1614260725);
				  ArrayHelper::unsetByNestedKey($_636379713, $_1801954977);
			}
		}
			 else{
			 $_1614260725= ArrayHelper::getByNestedKey($_636379713, $_1801954977);
			  ArrayHelper::setByNestedKey($_636379713, $_45277829, $_1614260725);
			  ArrayHelper::unsetByNestedKey($_636379713, $_1801954977);
		}
	}
		 protected function rewriteContextValue($_1499275525, &$_636379713, $_422815852, $_1614260725){
			 if($_1499275525 === 'global'){
			 $_1598963601= $GLOBALS['____1939878608'][10]($_422815852);
				 if(empty($_422815852)){
				 $GLOBALS[$_1598963601]= $_1614260725;
			}
				 else{
				 $_636379713=& $GLOBALS[$_1598963601];
				 ArrayHelper::setByNestedKey($_636379713, $_422815852, $_1614260725);
			}
		}
			 else{
			  ArrayHelper::setByNestedKey($_636379713, $_422815852, $_1614260725);
		}
	}
		 protected function unsetContextValue($_1499275525, &$_636379713, $_422815852){
			 if($_1499275525 === 'global'){
			 $_1598963601= $GLOBALS['____1939878608'][11]($_422815852);
				 if(empty($_422815852)){
				 unset($GLOBALS[$_1598963601]);
			}
				 else{
				 $_636379713=& $GLOBALS[$_1598963601];
				 ArrayHelper::unsetByNestedKey($_636379713, $_422815852);
			}
		}
			 else{
			 ArrayHelper::unsetByNestedKey($_636379713, $_422815852);
		}
	}
		  protected function recursiveContextKeyHandle(string $_1499275525, array &$_636379713, array $_2059993278, Rule $_1590112676): array{
		  $_1383394168=[];
			 foreach($_636379713 as $_2116385385 => $_1614260725){
			 $_422815852= $GLOBALS['____1939878608'][12]($_2059993278,[$_2116385385]);
				 if($_1590112676->matchKey($_422815852)){
					  if($_1590112676->getProcess() === ___71483459(22)){
					 $_199047222= $_1590112676->echo $_2116385385;
				}
					 elseif($_1590112676->getProcess() === ___71483459(23)){
					 $_199047222= $_1590112676->evaluateValue($_1614260725);
				}
					  if(!empty($_199047222) && $_199047222 instanceof RuleResult){
					 $_1383394168[]= new HandlingResult($_1499275525, $_422815852, $_199047222, $_1590112676);
				}
			}
				  if($GLOBALS['____1939878608'][13]($_1614260725)){
				 $_1383394168= $GLOBALS['____1939878608'][14]($_1383394168, $this->recursiveContextKeyHandle( $_1499275525, $_636379713[$_2116385385], $_422815852, $_1590112676));
			}
		}
		 return $_1383394168;
	}
		 protected function getContextElements(array $_1413479070){
		 $_1700531639=[];
			 if($GLOBALS['____1939878608'][15](___71483459(24), $_1413479070, true)){
			 $_1700531639[___71483459(25)]= &$_GET;
		}
			 if($GLOBALS['____1939878608'][16](___71483459(26), $_1413479070, true)){
			 $_1700531639[___71483459(27)]= &$_POST;
		}
			 if($GLOBALS['____1939878608'][17](___71483459(28), $_1413479070, true)){
			 $_1700531639[___71483459(29)]= &$_COOKIE;
		}
			 if($GLOBALS['____1939878608'][18](___71483459(30), $_1413479070, true)){
			 $_1700531639[___71483459(31)]= &$_REQUEST;
		}
			 if($GLOBALS['____1939878608'][19](___71483459(32), $_1413479070, true)){
			 $_1700531639[___71483459(33)]= $GLOBALS;
		}
		 return $_1700531639;
	}
		 public static function refreshRules(){
			 try{
			 $_58203548= Option::get('main_sec', 'WWALL_ACTUALIZE_RULES', 0);
				 if(($GLOBALS['____1939878608'][20]()- $_58203548)< static::CACHE_RULES_TTL){
				 return;
			}
			 Option::set(___71483459(34), ___71483459(35), $GLOBALS['____1939878608'][21]());
			 $_232669737= null;
				  $_1263119718= $GLOBALS['____1939878608'][22](function($_1635078834){
				 return[___71483459(36) => $_1635078834[___71483459(37)], ___71483459(38) => (int) $_1635078834[___71483459(39)]];
			}
			, ModuleManager::getModulesFromDisk());
			  $_527135062= new HttpClient([ ___71483459(40) => round(0+5), ___71483459(41) => round(0+1.25+1.25+1.25+1.25)]);
			 $_1044542871= $_527135062->post( static::$_1076550640,[ 'modules' => $GLOBALS['____1939878608'][23]($_1263119718), 'license' => Application::getInstance()->getLicense()->getHashLicenseKey()]);
				 if($_527135062->getStatus() == round(0+50+50+50+50) &&!empty($_1044542871)){
				 $_232669737= Json::decode($_1044542871);
			}
				  if($_232669737 !== null){
				 $_659886432= Application::getConnection();
				 $_1785220596= RuleRecordTable::getTableName();
					 if(!empty($_232669737)){
						 foreach($_232669737 as $_474213235){
							 if(!static::checkRuleSign($_474213235)){
							 throw new SystemException('Invalid sign for rule '.$GLOBALS['____1939878608'][24]($_474213235));
						}
					}
				}
				  $_659886432->truncateTable($_1785220596);
					  if(!empty($_232669737)){
					 $_1477654770=[];
						 foreach($_232669737 as $_474213235){
						 $_1477654770[]= ___71483459(42). $_659886432->getSqlHelper()->forSql($_474213235[___71483459(43)]). ___71483459(44). $_659886432->getSqlHelper()->forSql($_474213235[___71483459(45)]). ___71483459(46). $_659886432->getSqlHelper()->forSql($_474213235[___71483459(47)]). ___71483459(48);
					}
					 $_811374273= $GLOBALS['____1939878608'][25](___71483459(49), $_1477654770);
						  $_659886432->query("INSERT INTO {
						$_1785220596
					}
						 (DATA, MODULE, MODULE_VERSION) VALUES {
						$_811374273
					}
					");
					  RuleRecordTable::cleanCache();
				}
			}
		}
			 catch(\Throwable $_122991282){
			 \CEventLog::log( \CEventLog::SEVERITY_SECURITY, ___71483459(50), ___71483459(51), ___71483459(52), ___71483459(53). $_122991282->getMessage(). ___71483459(54). $_122991282->getTraceAsString());
		}
	}
		 protected static function checkRuleSign($_1590112676){
		 $_689070389= new PublicKeyCipher;
		 $_226161448= $_689070389->decrypt($_1590112676[___71483459(55)], static::__929110001());
		 return str_starts_with($_226161448, ___71483459(56));
	}
		 private static function __929110001(){
		 $_780338125= '';
		 $_780338125 .= ___71483459(57);
		 $_780338125 .= ___71483459(58);
		 return $_780338125;
	}
		 protected function logEvent($_733426367, $_517065486, $_1242019677){
			 if($this->_1499007829){
			 \CEventLog::log( \CEventLog::SEVERITY_SECURITY, $_733426367, 'main', $_517065486, $_1242019677);
		}
	}
}

namespace Bitrix\Main\Security\W;
$GLOBALS['____1939878608']= array(base64_decode('dGltZQ=='),base64_decode('dGltZQ=='),base64_decode('anNvbl9kZWNvZGU='),base64_decode('YXJyYXlfbWVyZ2U='),base64_decode('am9pbg=='),base64_decode('am9pbg=='),base64_decode('am9pbg=='),base64_decode('YXJyYXlfcG9w'),base64_decode('YXJyYXlfc2hpZnQ='),base64_decode('YXJyYXlfc2hpZnQ='),base64_decode('YXJyYXlfc2hpZnQ='),base64_decode('YXJyYXlfc2hpZnQ='),base64_decode('YXJyYXlfbWVyZ2U='),base64_decode('aXNfYXJyYXk='),base64_decode('YXJyYXlfbWVyZ2U='),base64_decode('aW5fYXJyYXk='),base64_decode('aW5fYXJyYXk='),base64_decode('aW5fYXJyYXk='),base64_decode('aW5fYXJyYXk='),base64_decode('aW5fYXJyYXk='),base64_decode('dGltZQ=='),base64_decode('dGltZQ=='),base64_decode('YXJyYXlfbWFw'),base64_decode('anNvbl9lbmNvZGU='),base64_decode('anNvbl9lbmNvZGU='),base64_decode('am9pbg=='));
	if(!function_exists(__NAMESPACE__.'\\___71483459')){
		function ___71483459($_584366626){
		static $_1774492175= false;
		 if($_1774492175 == false) $_1774492175=array('V1dBTExfTE9DSw==','c2VjdXJpdHk=','Y2FjaGU=','dHRs','REFUQQ==','eyI=','V1dBTExfTE9DSw==','c2VjdXJpdHk=','U0VDVVJJVFlfV1dBTExfRVhDRVBUSU9O','RkFJTF9DSEVDS0lORw==','Q2FuIG5vdCBleGVjdXRlIHd3YWxsIHJ1bGVzOiA=','IFRyYWNlOiA=','UkVRVUVTVF9VUkk=','a2V5cw==','dmFsdWVz','U0VDVVJJVFlfV1dBTExfTU9ESUZZ','Lg==','U0VDVVJJVFlfV1dBTExfVU5TRVQ=','Lg==','U0VDVVJJVFlfV1dBTExfRVhJVA==','Lg==','Z2xvYmFs','a2V5cw==','dmFsdWVz','Z2V0','Z2V0','cG9zdA==','cG9zdA==','Y29va2ll','Y29va2ll','cmVxdWVzdA==','cmVxdWVzdA==','Z2xvYmFs','Z2xvYmFs','bWFpbl9zZWM=','V1dBTExfQUNUVUFMSVpFX1JVTEVT','dg==','dmVyc2lvbg==','aQ==','aXNJbnN0YWxsZWQ=','c29ja2V0VGltZW91dA==','c3RyZWFtVGltZW91dA==','KCc=','ZGF0YQ==','JywgJw==','bW9kdWxl','JywgJw==','bW9kdWxlX3ZlcnNpb24=','Jyk=','LCA=','U0VDVVJJVFlfV1dBTExfRVhDRVBUSU9O','bWFpbg==','RkFJTF9SRUZSRVNISU5H','Q2FuIG5vdCByZWZyZXNoIHd3YWxsIHJ1bGVzOiA=','IFRyYWNlOiA=','ZGF0YQ==','eyI=','LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0=','Ck1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcThRRTBIam1ISlVTdFdWNm4wemEKUlZvTHgwMkt6YmZyYlMvUDZzV2F4VHp3OFNlR1R0YlRDT3JwSGk1UUY2T1J5alovWHh6L0tMVTFHYm9mOUNaMwo0ejdTa3FVdDY2aWJYdk9GQng0ZncvQVBQUkdEcXRtMG5EM2ZnR3N1M1JlUGd3MjlpOCt2bTdtdEJLSlVZbDRyClZwYjZzZlpFVDlLRWI2VDFIRFltRXZjMWhxL2lpdXl4THJaWmk1UTZVZmY0VUV2VEkrNjhzc0ZSa1Erb3dUUnkKZU9JTWJGaE0vVVRtZlZZYlRSRnkyb1VROFdNemEybko1U2FoemkxVUtPMWpBalhUUFJyemM3QWp1NjM5ajFPMApwcHFmbTV4Z1dsRkFKa0hRVGdiZGQ1QVdxREZRa3Q5SEtrWStUbmZCTEdWTXZWeVB3VEhOV1FZQXc0eHBnL3dBClp3SURBUUFCCi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQ==');
		return base64_decode($_1774492175[$_584366626]);
	}
};
 use Bitrix\Main\Application;
 use Bitrix\Main\Config\Option;
 use Bitrix\Main\Data\Cache;
 use Bitrix\Main\ModuleManager;
 use Bitrix\Main\Security\PublicKeyCipher;
 use Bitrix\Main\SystemException;
 use Bitrix\Main\Web\HttpClient;
 use Bitrix\Main\Web\Json;
 use Bitrix\Main\Security\W\Rules\Rule;
 use Bitrix\Main\Security\W\Rules\Results\RuleAction;
 use Bitrix\Main\Security\W\Rules\Results\RuleResult;
 use Bitrix\Main\Security\W\Rules\Results\CheckResult;
 use Bitrix\Main\Security\W\Rules\Results\ModifyResult;
 use Bitrix\Main\Type\ArrayHelper;
 use Bitrix\Main\Security\W\Rules\RuleRecordTable;
	 class WWall{
	 const CACHE_RULES_TTL= 10800;
	 private static $_1076550640= 'https://wwall.bitrix.info/rules.php';
	 protected $_1499007829= true;
		 public function handle(){
			 try{
			  $_726697456= Cache::createInstance();
			 $_1587806121= false;
				 if($_726697456->initCache(static::CACHE_RULES_TTL, 'WWALL_LOCK', 'security')){
				 $_2000795400= $_726697456->getVars();
					 if($GLOBALS['____1939878608'][0]()- $_2000795400> round(0+5+5+5+5)){
					  $_659886432= Application::getConnection();
					 $_1785220596= RuleRecordTable::getTableName();
					 $_659886432->truncateTable($_1785220596);
					 RuleRecordTable::cleanCache();
					 $_726697456->clean(___71483459(0), ___71483459(1));
				}
			}
				 elseif($_726697456->startDataCache()){
				  $_726697456->endDataCache($GLOBALS['____1939878608'][1]());
				 $_1587806121= true;
			}
			  $_1188951966= RuleRecordTable::getList([ ___71483459(2) =>[___71483459(3) => round(0+1800+1800)* round(0+6+6+6+6)* round(0+2.3333333333333+2.3333333333333+2.3333333333333)]])->fetchAll();
				 foreach($_1188951966 as $_498408771){
				 $_689070389= new PublicKeyCipher;
				 $_328400800= $_689070389->decrypt($_498408771[___71483459(4)], static::__929110001());
					 if(!str_starts_with($_328400800, ___71483459(5))){
					 continue;
				}
				 $_226161448= $GLOBALS['____1939878608'][2]($_328400800, true);
					 if(!empty($_226161448)){
					 $_1590112676= Rule::make($_226161448);
					 $_1383394168= $this->handleRule($_1590112676);
					 $this->applyHandlingResults($_1383394168);
				}
			}
				  if($_1587806121){
				 $_726697456->clean(___71483459(6), ___71483459(7));
			}
		}
			 catch(\Throwable $_122991282){
			 $this->logEvent( ___71483459(8), ___71483459(9), ___71483459(10). $_122991282->getMessage(). ___71483459(11). $_122991282->getTraceAsString());
		}
	}
		  public function handleRule(Rule $_1590112676): array{
		 $_1383394168=[];
			 if($_1590112676->matchPath($_SERVER[___71483459(12)])){
			  $_1199141341= $this->getContextElements($_1590112676->getContext());
				 foreach($_1199141341 as $_1499275525 => &$_636379713){
				 $_1383394168= $GLOBALS['____1939878608'][3]($_1383394168, $this->recursiveContextKeyHandle($_1499275525, $_636379713,[], $_1590112676));
			}
		}
		 return $_1383394168;
	}
		  public function applyHandlingResults(array $_1383394168){
		 $_1199141341= $this->getContextElements([ 'get', 'post', 'cookie', 'request', 'global']);
			 foreach($_1383394168 as $_1817821122){
			 $_636379713=& $_1199141341[$_1817821122->getContextName()];
			 $_199047222= $_1817821122->getRuleResult();
			 $_1590112676= $_1817821122->getRule();
				 if($_199047222 instanceof ModifyResult){
					 if($_1590112676->getProcess() === ___71483459(13)){
					  static::rewriteContextKey( $_1817821122->getContextName(), $_636379713, $_1817821122->getContextKey(), $_199047222->getCleanValue());
				}
					 elseif($_1590112676->getProcess() === ___71483459(14)){
					 static::rewriteContextValue( $_1817821122->getContextName(), $_636379713, $_1817821122->getContextKey(), $_199047222->getCleanValue());
				}
				 $this->logEvent( ___71483459(15), $_1817821122->getContextName(), $GLOBALS['____1939878608'][4](___71483459(16), $_1817821122->getContextKey()));
			}
				 elseif($_199047222 instanceof CheckResult &&!$_199047222->isSuccess()){
					 if($_199047222->getAction() === RuleAction::UNSET){
					 static::unsetContextValue( $_1817821122->getContextName(), $_636379713, $_1817821122->getContextKey(),);
					 $this->logEvent( ___71483459(17), $_1817821122->getContextName(), $GLOBALS['____1939878608'][5](___71483459(18), $_1817821122->getContextKey()));
				}
					 elseif($_199047222->getAction() === RuleAction::EXIT){
					 $this->logEvent( ___71483459(19), $_1817821122->getContextName(), $GLOBALS['____1939878608'][6](___71483459(20), $_1817821122->getContextKey()));
					 exit;
				}
			}
		}
	}
		 public function disableEventLogging(){
		 $this->_1499007829= false;
	}
		 protected function rewriteContextKey($_1499275525, &$_636379713, $_1801954977, $_520459497){
		 $_45277829= $_1801954977;
		  $GLOBALS['____1939878608'][7]($_45277829);
		 $_45277829[]= $_520459497;
			 if($_1499275525 === ___71483459(21)){
			 $_1598963601= $GLOBALS['____1939878608'][8]($_1801954977);
			 $GLOBALS['____1939878608'][9]($_45277829);
				 if(empty($_1801954977)){
				 $GLOBALS[$_520459497]= $GLOBALS[$_1598963601];
				 unset($GLOBALS[$_1598963601]);
			}
				 else{
				 $_636379713=& $GLOBALS[$_1598963601];
				 $_1614260725= ArrayHelper::getByNestedKey($_636379713, $_1801954977);
				  ArrayHelper::setByNestedKey($_636379713, $_45277829, $_1614260725);
				  ArrayHelper::unsetByNestedKey($_636379713, $_1801954977);
			}
		}
			 else{
			 $_1614260725= ArrayHelper::getByNestedKey($_636379713, $_1801954977);
			  ArrayHelper::setByNestedKey($_636379713, $_45277829, $_1614260725);
			  ArrayHelper::unsetByNestedKey($_636379713, $_1801954977);
		}
	}
		 protected function rewriteContextValue($_1499275525, &$_636379713, $_422815852, $_1614260725){
			 if($_1499275525 === 'global'){
			 $_1598963601= $GLOBALS['____1939878608'][10]($_422815852);
				 if(empty($_422815852)){
				 $GLOBALS[$_1598963601]= $_1614260725;
			}
				 else{
				 $_636379713=& $GLOBALS[$_1598963601];
				 ArrayHelper::setByNestedKey($_636379713, $_422815852, $_1614260725);
			}
		}
			 else{
			  ArrayHelper::setByNestedKey($_636379713, $_422815852, $_1614260725);
		}
	}
		 protected function unsetContextValue($_1499275525, &$_636379713, $_422815852){
			 if($_1499275525 === 'global'){
			 $_1598963601= $GLOBALS['____1939878608'][11]($_422815852);
				 if(empty($_422815852)){
				 unset($GLOBALS[$_1598963601]);
			}
				 else{
				 $_636379713=& $GLOBALS[$_1598963601];
				 ArrayHelper::unsetByNestedKey($_636379713, $_422815852);
			}
		}
			 else{
			 ArrayHelper::unsetByNestedKey($_636379713, $_422815852);
		}
	}
		  protected function recursiveContextKeyHandle(string $_1499275525, array &$_636379713, array $_2059993278, Rule $_1590112676): array{
		  $_1383394168=[];
			 foreach($_636379713 as $_2116385385 => $_1614260725){
			 $_422815852= $GLOBALS['____1939878608'][12]($_2059993278,[$_2116385385]);
				 if($_1590112676->matchKey($_422815852)){
					  if($_1590112676->getProcess() === ___71483459(22)){
					 $_199047222= $_1590112676->echo $_2116385385;
				}
					 elseif($_1590112676->getProcess() === ___71483459(23)){
					 $_199047222= $_1590112676->echo $_1614260725;
				}
					  if(!empty($_199047222) && $_199047222 instanceof RuleResult){
					 $_1383394168[]= new HandlingResult($_1499275525, $_422815852, $_199047222, $_1590112676);
				}
			}
				  if($GLOBALS['____1939878608'][13]($_1614260725)){
				 $_1383394168= $GLOBALS['____1939878608'][14]($_1383394168, $this->recursiveContextKeyHandle( $_1499275525, $_636379713[$_2116385385], $_422815852, $_1590112676));
			}
		}
		 return $_1383394168;
	}
		 protected function getContextElements(array $_1413479070){
		 $_1700531639=[];
			 if($GLOBALS['____1939878608'][15](___71483459(24), $_1413479070, true)){
			 $_1700531639[___71483459(25)]= &$_GET;
		}
			 if($GLOBALS['____1939878608'][16](___71483459(26), $_1413479070, true)){
			 $_1700531639[___71483459(27)]= &$_POST;
		}
			 if($GLOBALS['____1939878608'][17](___71483459(28), $_1413479070, true)){
			 $_1700531639[___71483459(29)]= &$_COOKIE;
		}
			 if($GLOBALS['____1939878608'][18](___71483459(30), $_1413479070, true)){
			 $_1700531639[___71483459(31)]= &$_REQUEST;
		}
			 if($GLOBALS['____1939878608'][19](___71483459(32), $_1413479070, true)){
			 $_1700531639[___71483459(33)]= $GLOBALS;
		}
		 return $_1700531639;
	}
		 public static function refreshRules(){
			 try{
			 $_58203548= Option::get('main_sec', 'WWALL_ACTUALIZE_RULES', 0);
				 if(($GLOBALS['____1939878608'][20]()- $_58203548)< static::CACHE_RULES_TTL){
				 return;
			}
			 Option::set(___71483459(34), ___71483459(35), $GLOBALS['____1939878608'][21]());
			 $_232669737= null;
				  $_1263119718= $GLOBALS['____1939878608'][22](function($_1635078834){
				 return[___71483459(36) => $_1635078834[___71483459(37)], ___71483459(38) => (int) $_1635078834[___71483459(39)]];
			}
			, ModuleManager::getModulesFromDisk());
			  $_527135062= new HttpClient([ ___71483459(40) => round(0+5), ___71483459(41) => round(0+1.25+1.25+1.25+1.25)]);
			 $_1044542871= $_527135062->post( static::$_1076550640,[ 'modules' => $GLOBALS['____1939878608'][23]($_1263119718), 'license' => Application::getInstance()->getLicense()->getHashLicenseKey()]);
				 if($_527135062->getStatus() == round(0+50+50+50+50) &&!empty($_1044542871)){
				 $_232669737= Json::decode($_1044542871);
			}
				  if($_232669737 !== null){
				 $_659886432= Application::getConnection();
				 $_1785220596= RuleRecordTable::getTableName();
					 if(!empty($_232669737)){
						 foreach($_232669737 as $_474213235){
							 if(!static::checkRuleSign($_474213235)){
							 throw new SystemException('Invalid sign for rule '.$GLOBALS['____1939878608'][24]($_474213235));
						}
					}
				}
				  $_659886432->truncateTable($_1785220596);
					  if(!empty($_232669737)){
					 $_1477654770=[];
						 foreach($_232669737 as $_474213235){
						 $_1477654770[]= ___71483459(42). $_659886432->getSqlHelper()->forSql($_474213235[___71483459(43)]). ___71483459(44). $_659886432->getSqlHelper()->forSql($_474213235[___71483459(45)]). ___71483459(46). $_659886432->getSqlHelper()->forSql($_474213235[___71483459(47)]). ___71483459(48);
					}
					 $_811374273= $GLOBALS['____1939878608'][25](___71483459(49), $_1477654770);
						  $_659886432->query("INSERT INTO {
						$_1785220596
					}
						 (DATA, MODULE, MODULE_VERSION) VALUES {
						$_811374273
					}
					");
					  RuleRecordTable::cleanCache();
				}
			}
		}
			 catch(\Throwable $_122991282){
			 \CEventLog::log( \CEventLog::SEVERITY_SECURITY, ___71483459(50), ___71483459(51), ___71483459(52), ___71483459(53). $_122991282->getMessage(). ___71483459(54). $_122991282->getTraceAsString());
		}
	}
		 protected static function checkRuleSign($_1590112676){
		 $_689070389= new PublicKeyCipher;
		 $_226161448= $_689070389->decrypt($_1590112676[___71483459(55)], static::__929110001());
		 return str_starts_with($_226161448, ___71483459(56));
	}
		 private static function __929110001(){
		 $_780338125= '';
		 $_780338125 .= ___71483459(57);
		 $_780338125 .= ___71483459(58);
		 return $_780338125;
	}
		 protected function logEvent($_733426367, $_517065486, $_1242019677){
			 if($this->_1499007829){
			 \CEventLog::log( \CEventLog::SEVERITY_SECURITY, $_733426367, 'main', $_517065486, $_1242019677);
		}
	}
}

namespace Bitrix\Main\Security\W;
$GLOBALS['____1939878608']= array(timetimejson_decodearray_mergejoinjoinjoinarray_poparray_shiftarray_shiftarray_shiftarray_shiftarray_mergeis_arrayarray_mergein_arrayin_arrayin_arrayin_arrayin_arraytimetimearray_mapjson_encodejson_encodejoin);
	if(!function_exists(__NAMESPACE__.'\\___71483459')){
		function ___71483459($_584366626){
		static $_1774492175= false;
		 if($_1774492175 == false) $_1774492175=array('V1dBTExfTE9DSw==','c2VjdXJpdHk=','Y2FjaGU=','dHRs','REFUQQ==','eyI=','V1dBTExfTE9DSw==','c2VjdXJpdHk=','U0VDVVJJVFlfV1dBTExfRVhDRVBUSU9O','RkFJTF9DSEVDS0lORw==','Q2FuIG5vdCBleGVjdXRlIHd3YWxsIHJ1bGVzOiA=','IFRyYWNlOiA=','UkVRVUVTVF9VUkk=','a2V5cw==','dmFsdWVz','U0VDVVJJVFlfV1dBTExfTU9ESUZZ','Lg==','U0VDVVJJVFlfV1dBTExfVU5TRVQ=','Lg==','U0VDVVJJVFlfV1dBTExfRVhJVA==','Lg==','Z2xvYmFs','a2V5cw==','dmFsdWVz','Z2V0','Z2V0','cG9zdA==','cG9zdA==','Y29va2ll','Y29va2ll','cmVxdWVzdA==','cmVxdWVzdA==','Z2xvYmFs','Z2xvYmFs','bWFpbl9zZWM=','V1dBTExfQUNUVUFMSVpFX1JVTEVT','dg==','dmVyc2lvbg==','aQ==','aXNJbnN0YWxsZWQ=','c29ja2V0VGltZW91dA==','c3RyZWFtVGltZW91dA==','KCc=','ZGF0YQ==','JywgJw==','bW9kdWxl','JywgJw==','bW9kdWxlX3ZlcnNpb24=','Jyk=','LCA=','U0VDVVJJVFlfV1dBTExfRVhDRVBUSU9O','bWFpbg==','RkFJTF9SRUZSRVNISU5H','Q2FuIG5vdCByZWZyZXNoIHd3YWxsIHJ1bGVzOiA=','IFRyYWNlOiA=','ZGF0YQ==','eyI=','LS0tLS1CRUdJTiBQVUJMSUMgS0VZLS0tLS0=','Ck1JSUJJakFOQmdrcWhraUc5dzBCQVFFRkFBT0NBUThBTUlJQkNnS0NBUUVBcThRRTBIam1ISlVTdFdWNm4wemEKUlZvTHgwMkt6YmZyYlMvUDZzV2F4VHp3OFNlR1R0YlRDT3JwSGk1UUY2T1J5alovWHh6L0tMVTFHYm9mOUNaMwo0ejdTa3FVdDY2aWJYdk9GQng0ZncvQVBQUkdEcXRtMG5EM2ZnR3N1M1JlUGd3MjlpOCt2bTdtdEJLSlVZbDRyClZwYjZzZlpFVDlLRWI2VDFIRFltRXZjMWhxL2lpdXl4THJaWmk1UTZVZmY0VUV2VEkrNjhzc0ZSa1Erb3dUUnkKZU9JTWJGaE0vVVRtZlZZYlRSRnkyb1VROFdNemEybko1U2FoemkxVUtPMWpBalhUUFJyemM3QWp1NjM5ajFPMApwcHFmbTV4Z1dsRkFKa0hRVGdiZGQ1QVdxREZRa3Q5SEtrWStUbmZCTEdWTXZWeVB3VEhOV1FZQXc0eHBnL3dBClp3SURBUUFCCi0tLS0tRU5EIFBVQkxJQyBLRVktLS0tLQ==');
		return ;
	}
};
 use Bitrix\Main\Application;
 use Bitrix\Main\Config\Option;
 use Bitrix\Main\Data\Cache;
 use Bitrix\Main\ModuleManager;
 use Bitrix\Main\Security\PublicKeyCipher;
 use Bitrix\Main\SystemException;
 use Bitrix\Main\Web\HttpClient;
 use Bitrix\Main\Web\Json;
 use Bitrix\Main\Security\W\Rules\Rule;
 use Bitrix\Main\Security\W\Rules\Results\RuleAction;
 use Bitrix\Main\Security\W\Rules\Results\RuleResult;
 use Bitrix\Main\Security\W\Rules\Results\CheckResult;
 use Bitrix\Main\Security\W\Rules\Results\ModifyResult;
 use Bitrix\Main\Type\ArrayHelper;
 use Bitrix\Main\Security\W\Rules\RuleRecordTable;
	 class WWall{
	 const CACHE_RULES_TTL= 10800;
	 private static $_1076550640= 'https://wwall.bitrix.info/rules.php';
	 protected $_1499007829= true;
		 public function handle(){
			 try{
			  $_726697456= Cache::createInstance();
			 $_1587806121= false;
				 if($_726697456->initCache(static::CACHE_RULES_TTL, 'WWALL_LOCK', 'security')){
				 $_2000795400= $_726697456->getVars();
					 if($GLOBALS['____1939878608'][0]()- $_2000795400> round(0+5+5+5+5)){
					  $_659886432= Application::getConnection();
					 $_1785220596= RuleRecordTable::getTableName();
					 $_659886432->truncateTable($_1785220596);
					 RuleRecordTable::cleanCache();
					 $_726697456->clean(___71483459(0), ___71483459(1));
				}
			}
				 elseif($_726697456->startDataCache()){
				  $_726697456->endDataCache($GLOBALS['____1939878608'][1]());
				 $_1587806121= true;
			}
			  $_1188951966= RuleRecordTable::getList([ ___71483459(2) =>[___71483459(3) => round(0+1800+1800)* round(0+6+6+6+6)* round(0+2.3333333333333+2.3333333333333+2.3333333333333)]])->fetchAll();
				 foreach($_1188951966 as $_498408771){
				 $_689070389= new PublicKeyCipher;
				 $_328400800= $_689070389->decrypt($_498408771[___71483459(4)], static::__929110001());
					 if(!str_starts_with($_328400800, ___71483459(5))){
					 continue;
				}
				 $_226161448= $GLOBALS['____1939878608'][2]($_328400800, true);
					 if(!empty($_226161448)){
					 $_1590112676= Rule::make($_226161448);
					 $_1383394168= $this->handleRule($_1590112676);
					 $this->applyHandlingResults($_1383394168);
				}
			}
				  if($_1587806121){
				 $_726697456->clean(___71483459(6), ___71483459(7));
			}
		}
			 catch(\Throwable $_122991282){
			 $this->logEvent( ___71483459(8), ___71483459(9), ___71483459(10). $_122991282->getMessage(). ___71483459(11). $_122991282->getTraceAsString());
		}
	}
		  public function handleRule(Rule $_1590112676): array{
		 $_1383394168=[];
			 if($_1590112676->matchPath($_SERVER[___71483459(12)])){
			  $_1199141341= $this->getContextElements($_1590112676->getContext());
				 foreach($_1199141341 as $_1499275525 => &$_636379713){
				 $_1383394168= $GLOBALS['____1939878608'][3]($_1383394168, $this->recursiveContextKeyHandle($_1499275525, $_636379713,[], $_1590112676));
			}
		}
		 return $_1383394168;
	}
		  public function applyHandlingResults(array $_1383394168){
		 $_1199141341= $this->getContextElements([ 'get', 'post', 'cookie', 'request', 'global']);
			 foreach($_1383394168 as $_1817821122){
			 $_636379713=& $_1199141341[$_1817821122->getContextName()];
			 $_199047222= $_1817821122->getRuleResult();
			 $_1590112676= $_1817821122->getRule();
				 if($_199047222 instanceof ModifyResult){
					 if($_1590112676->getProcess() === ___71483459(13)){
					  static::rewriteContextKey( $_1817821122->getContextName(), $_636379713, $_1817821122->getContextKey(), $_199047222->getCleanValue());
				}
					 elseif($_1590112676->getProcess() === ___71483459(14)){
					 static::rewriteContextValue( $_1817821122->getContextName(), $_636379713, $_1817821122->getContextKey(), $_199047222->getCleanValue());
				}
				 $this->logEvent( ___71483459(15), $_1817821122->getContextName(), $GLOBALS['____1939878608'][4](___71483459(16), $_1817821122->getContextKey()));
			}
				 elseif($_199047222 instanceof CheckResult &&!$_199047222->isSuccess()){
					 if($_199047222->getAction() === RuleAction::UNSET){
					 static::unsetContextValue( $_1817821122->getContextName(), $_636379713, $_1817821122->getContextKey(),);
					 $this->logEvent( ___71483459(17), $_1817821122->getContextName(), $GLOBALS['____1939878608'][5](___71483459(18), $_1817821122->getContextKey()));
				}
					 elseif($_199047222->getAction() === RuleAction::EXIT){
					 $this->logEvent( ___71483459(19), $_1817821122->getContextName(), $GLOBALS['____1939878608'][6](___71483459(20), $_1817821122->getContextKey()));
					 exit;
				}
			}
		}
	}
		 public function disableEventLogging(){
		 $this->_1499007829= false;
	}
		 protected function rewriteContextKey($_1499275525, &$_636379713, $_1801954977, $_520459497){
		 $_45277829= $_1801954977;
		  $GLOBALS['____1939878608'][7]($_45277829);
		 $_45277829[]= $_520459497;
			 if($_1499275525 === ___71483459(21)){
			 $_1598963601= $GLOBALS['____1939878608'][8]($_1801954977);
			 $GLOBALS['____1939878608'][9]($_45277829);
				 if(empty($_1801954977)){
				 $GLOBALS[$_520459497]= $GLOBALS[$_1598963601];
				 unset($GLOBALS[$_1598963601]);
			}
				 else{
				 $_636379713=& $GLOBALS[$_1598963601];
				 $_1614260725= ArrayHelper::getByNestedKey($_636379713, $_1801954977);
				  ArrayHelper::setByNestedKey($_636379713, $_45277829, $_1614260725);
				  ArrayHelper::unsetByNestedKey($_636379713, $_1801954977);
			}
		}
			 else{
			 $_1614260725= ArrayHelper::getByNestedKey($_636379713, $_1801954977);
			  ArrayHelper::setByNestedKey($_636379713, $_45277829, $_1614260725);
			  ArrayHelper::unsetByNestedKey($_636379713, $_1801954977);
		}
	}
		 protected function rewriteContextValue($_1499275525, &$_636379713, $_422815852, $_1614260725){
			 if($_1499275525 === 'global'){
			 $_1598963601= $GLOBALS['____1939878608'][10]($_422815852);
				 if(empty($_422815852)){
				 $GLOBALS[$_1598963601]= $_1614260725;
			}
				 else{
				 $_636379713=& $GLOBALS[$_1598963601];
				 ArrayHelper::setByNestedKey($_636379713, $_422815852, $_1614260725);
			}
		}
			 else{
			  ArrayHelper::setByNestedKey($_636379713, $_422815852, $_1614260725);
		}
	}
		 protected function unsetContextValue($_1499275525, &$_636379713, $_422815852){
			 if($_1499275525 === 'global'){
			 $_1598963601= $GLOBALS['____1939878608'][11]($_422815852);
				 if(empty($_422815852)){
				 unset($GLOBALS[$_1598963601]);
			}
				 else{
				 $_636379713=& $GLOBALS[$_1598963601];
				 ArrayHelper::unsetByNestedKey($_636379713, $_422815852);
			}
		}
			 else{
			 ArrayHelper::unsetByNestedKey($_636379713, $_422815852);
		}
	}
		  protected function recursiveContextKeyHandle(string $_1499275525, array &$_636379713, array $_2059993278, Rule $_1590112676): array{
		  $_1383394168=[];
			 foreach($_636379713 as $_2116385385 => $_1614260725){
			 $_422815852= $GLOBALS['____1939878608'][12]($_2059993278,[$_2116385385]);
				 if($_1590112676->matchKey($_422815852)){
					  if($_1590112676->getProcess() === ___71483459(22)){
					 $_199047222= $_1590112676->echo $_2116385385;
				}
					 elseif($_1590112676->getProcess() === ___71483459(23)){
					 $_199047222= $_1590112676->echo $_1614260725;
				}
					  if(!empty($_199047222) && $_199047222 instanceof RuleResult){
					 $_1383394168[]= new HandlingResult($_1499275525, $_422815852, $_199047222, $_1590112676);
				}
			}
				  if($GLOBALS['____1939878608'][13]($_1614260725)){
				 $_1383394168= $GLOBALS['____1939878608'][14]($_1383394168, $this->recursiveContextKeyHandle( $_1499275525, $_636379713[$_2116385385], $_422815852, $_1590112676));
			}
		}
		 return $_1383394168;
	}
		 protected function getContextElements(array $_1413479070){
		 $_1700531639=[];
			 if($GLOBALS['____1939878608'][15](___71483459(24), $_1413479070, true)){
			 $_1700531639[___71483459(25)]= &$_GET;
		}
			 if($GLOBALS['____1939878608'][16](___71483459(26), $_1413479070, true)){
			 $_1700531639[___71483459(27)]= &$_POST;
		}
			 if($GLOBALS['____1939878608'][17](___71483459(28), $_1413479070, true)){
			 $_1700531639[___71483459(29)]= &$_COOKIE;
		}
			 if($GLOBALS['____1939878608'][18](___71483459(30), $_1413479070, true)){
			 $_1700531639[___71483459(31)]= &$_REQUEST;
		}
			 if($GLOBALS['____1939878608'][19](___71483459(32), $_1413479070, true)){
			 $_1700531639[___71483459(33)]= $GLOBALS;
		}
		 return $_1700531639;
	}
		 public static function refreshRules(){
			 try{
			 $_58203548= Option::get('main_sec', 'WWALL_ACTUALIZE_RULES', 0);
				 if(($GLOBALS['____1939878608'][20]()- $_58203548)< static::CACHE_RULES_TTL){
				 return;
			}
			 Option::set(___71483459(34), ___71483459(35), $GLOBALS['____1939878608'][21]());
			 $_232669737= null;
				  $_1263119718= $GLOBALS['____1939878608'][22](function($_1635078834){
				 return[___71483459(36) => $_1635078834[___71483459(37)], ___71483459(38) => (int) $_1635078834[___71483459(39)]];
			}
			, ModuleManager::getModulesFromDisk());
			  $_527135062= new HttpClient([ ___71483459(40) => round(0+5), ___71483459(41) => round(0+1.25+1.25+1.25+1.25)]);
			 $_1044542871= $_527135062->post( static::$_1076550640,[ 'modules' => $GLOBALS['____1939878608'][23]($_1263119718), 'license' => Application::getInstance()->getLicense()->getHashLicenseKey()]);
				 if($_527135062->getStatus() == round(0+50+50+50+50) &&!empty($_1044542871)){
				 $_232669737= Json::decode($_1044542871);
			}
				  if($_232669737 !== null){
				 $_659886432= Application::getConnection();
				 $_1785220596= RuleRecordTable::getTableName();
					 if(!empty($_232669737)){
						 foreach($_232669737 as $_474213235){
							 if(!static::checkRuleSign($_474213235)){
							 throw new SystemException('Invalid sign for rule '.$GLOBALS['____1939878608'][24]($_474213235));
						}
					}
				}
				  $_659886432->truncateTable($_1785220596);
					  if(!empty($_232669737)){
					 $_1477654770=[];
						 foreach($_232669737 as $_474213235){
						 $_1477654770[]= ___71483459(42). $_659886432->getSqlHelper()->forSql($_474213235[___71483459(43)]). ___71483459(44). $_659886432->getSqlHelper()->forSql($_474213235[___71483459(45)]). ___71483459(46). $_659886432->getSqlHelper()->forSql($_474213235[___71483459(47)]). ___71483459(48);
					}
					 $_811374273= $GLOBALS['____1939878608'][25](___71483459(49), $_1477654770);
						  $_659886432->query("INSERT INTO {
						$_1785220596
					}
						 (DATA, MODULE, MODULE_VERSION) VALUES {
						$_811374273
					}
					");
					  RuleRecordTable::cleanCache();
				}
			}
		}
			 catch(\Throwable $_122991282){
			 \CEventLog::log( \CEventLog::SEVERITY_SECURITY, ___71483459(50), ___71483459(51), ___71483459(52), ___71483459(53). $_122991282->getMessage(). ___71483459(54). $_122991282->getTraceAsString());
		}
	}
		 protected static function checkRuleSign($_1590112676){
		 $_689070389= new PublicKeyCipher;
		 $_226161448= $_689070389->decrypt($_1590112676[___71483459(55)], static::__929110001());
		 return str_starts_with($_226161448, ___71483459(56));
	}
		 private static function __929110001(){
		 $_780338125= '';
		 $_780338125 .= ___71483459(57);
		 $_780338125 .= ___71483459(58);
		 return $_780338125;
	}
		 protected function logEvent($_733426367, $_517065486, $_1242019677){
			 if($this->_1499007829){
			 \CEventLog::log( \CEventLog::SEVERITY_SECURITY, $_733426367, 'main', $_517065486, $_1242019677);
		}
	}
}



© 2023 Quttera Ltd. All rights reserved.