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 /* Dev By Hoang Skyht 18-06-2024 */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72..

Decoded Output download


namespace App\Utils\Client\Protocols;
use App\Models\BaseServer;
use App\Models\ServerHysteria;
use App\Models\ServerShadowsocks;
use App\Models\ServerTrojan;
use App\Models\ServerVmess;
use App\Models\User;
use App\Utils\Client\Protocol;
use File;
use Symfony\Component\Yaml\Yaml;
class Stash extends Protocol
{
public $flag = 'stash';
public function beforeHandle()
{
$user = $this->user;
$user->updateTrafficEnableValue();
$appName = config('v2board.app_name','V2Board');
$u = $user->getAttribute(User::FIELD_U);
$d = $user->getAttribute(User::FIELD_D);
$transferEnableValue = $user['transfer_enable_value'];
$expiredAt = $user->getAttribute(User::FIELD_EXPIRED_AT);
header("subscription-userinfo: upload=$u; download=$d; total=$transferEnableValue; expire=$expiredAt");
header('profile-update-interval: 24');
header("profile-web-page-url:".config('v2board.app_url'));
header("content-disposition:attachment; filename=$appName");
}
public function handle(): string
{
$servers = $this->servers;
$defaultConfig = base_path() .'/resources/rules/default.stash.yaml';
$customConfig = base_path() .'/resources/rules/custom.clash.yaml';
if (File::exists($customConfig)) {
$config = Yaml::parseFile($customConfig);
}else {
$config = Yaml::parseFile($defaultConfig);
}
$proxy = [];
$proxies = [];
foreach ($servers as $server) {
$name = $server->getAttribute(BaseServer::FIELD_NAME);
if ($server['type'] === ServerShadowsocks::TYPE) {
array_push($proxy,$this->buildShadowsocks($server));
array_push($proxies,$name);
}
if ($server['type'] === ServerVmess::TYPE) {
array_push($proxy,$this->buildVmess($server));
array_push($proxies,$name);
}
if ($server['type'] === ServerTrojan::TYPE) {
array_push($proxy,$this->buildTrojan($server));
array_push($proxies,$name);
}
if ($server['type'] === ServerHysteria::TYPE) {
array_push($proxy,$this->buildHysteria($server));
array_push($proxies,$name);
}
}
$config['proxies'] = array_merge($config['proxies'] ?: [],$proxy);
foreach ($config['proxy-groups'] as $k =>$v) {
if (!is_array($config['proxy-groups'][$k]['proxies'])) {
continue;
}
$config['proxy-groups'][$k]['proxies'] = array_merge($config['proxy-groups'][$k]['proxies'],$proxies);
}
$serverAllTags = array_unique(array_merge(ServerVmess::allTags(),ServerShadowsocks::allTags(),ServerTrojan::allTags()));
foreach ($serverAllTags as $tag) {
$proxies = [];
foreach ($servers as $server) {
$tags = (array)$server->getAttribute(BaseServer::FIELD_TAGS);
$name = $server->getAttribute(BaseServer::FIELD_NAME);
if (empty($tags)) {
continue;
}
if (array_intersect($tags,$serverAllTags)) {
array_push($proxies,$name);
}
}
if ($proxies) {
array_push($config['proxy-groups'],['name'=>$tag,'type'=>'select','proxies'=>$proxies]);
}
}
$subsDomain = $_SERVER['HTTP_HOST'];
if ($subsDomain) {
array_unshift($config['rules'],"DOMAIN,{$subsDomain},DIRECT");
}
$yaml = Yaml::dump($config);
return str_replace('$app_name',config('v2board.app_name','V2Board'),$yaml);
}
protected function buildShadowsocks(BaseServer $server): array
{
$config = [];
$config['name'] = $server->getAttribute(ServerShadowsocks::FIELD_NAME);
$config['type'] = 'ss';
$config['server'] = $server->getAttribute(ServerShadowsocks::FIELD_HOST);
$config['port'] = $server->getAttribute(ServerShadowsocks::FIELD_PORT);
$config['cipher'] = $server->getAttribute(ServerShadowsocks::FIELD_CIPHER);
$config['password'] = $this->user->getAttribute(User::FIELD_UUID);
$config['udp'] = true;
return $config;
}
protected function buildVmess(BaseServer $server): array
{
$config = [];
$config['name'] = $server->getAttribute(ServerVmess::FIELD_NAME);
if ((int)$server->getAttribute(ServerVmess::FIELD_VLESS_VMESS) === 0)
$config['type'] = 'vmess';
else if ((int)$server->getAttribute(ServerVmess::FIELD_VLESS_VMESS) === 1)
$config['type'] = 'vless';
$config['server'] = $server->getAttribute(ServerVmess::FIELD_HOST);
$config['port'] = $server->getAttribute(ServerVmess::FIELD_PORT);
$config['uuid'] = $this->user->getAttribute(User::FIELD_UUID);
$config['alterId'] = $server->getAttribute(ServerVmess::FIELD_ALTER_ID);
$config['cipher'] = 'auto';
$config['udp'] = (boolean)$server->getAttribute(ServerVmess::FIELD_UDP_OVER_TCP);
$tls = $server->getAttribute(ServerVmess::FIELD_TLS);
$tlsSettings = (array)$server->getAttribute(ServerVmess::FIELD_TLS_SETTINGS);
$network = $server->getAttribute(ServerVmess::FIELD_NETWORK);
$networkSettings = (array)$server->getAttribute(ServerVmess::FIELD_NETWORK_SETTINGS);
$sniSetting = $this->user->getAttribute(User::FIELD_SETTINGSNI);
if ($tls) {
$config['tls'] = true;
if ($tlsSettings) {
if (isset($tlsSettings['allowInsecure'])) {
$config['skip-cert-verify'] = (bool)$tlsSettings['allowInsecure'];
}
$config['servername'] = $sniSetting ??$tlsSettings['serverName'] ??NULL;
}
}
if ($network === 'ws') {
$config['network'] = 'ws';
$wsSettings = $networkSettings;
$config['ws-opts'] = [];
if (!empty($wsSettings['path'])) {
$config['ws-opts']['path'] = $wsSettings['path'];
}
$config['ws-opts']['headers'] = ['Host'=>$sniSetting ??$wsSettings['headers']['Host'] ??NULL];
}
if ($network === 'grpc') {
$config['network'] = 'grpc';
$grpcSettings = $networkSettings;
$config['grpc-opts'] = [];
if (isset($grpcSettings['serviceName'])) {
$config['grpc-opts']['grpc-service-name'] = $grpcSettings['serviceName'];
}
}
return $config;
}
protected function buildTrojan(BaseServer $server): array
{
$config = [];
$config['name'] = $server->getAttribute(ServerTrojan::FIELD_NAME);
$config['type'] = 'trojan';
$config['server'] = $server->getAttribute(ServerTrojan::FIELD_HOST);
$config['port'] = $server->getAttribute(ServerTrojan::FIELD_PORT);
$config['password'] = $this->user->getAttribute(User::FIELD_UUID);
$config['udp'] = (boolean)$server->getAttribute(ServerTrojan::FIELD_UDP_OVER_TCP);
$serverName = $server->getAttribute(ServerTrojan::FIELD_SERVER_NAME);
$allowInsecure = $server->getAttribute(ServerTrojan::FIELD_ALLOW_INSECURE);
$network = $server->getAttribute(ServerVmess::FIELD_NETWORK);
$networkSettings = (array)$server->getAttribute(ServerVmess::FIELD_NETWORK_SETTINGS);
$sniSetting = $this->user->getAttribute(User::FIELD_SETTINGSNI);
$config['sni'] = $sniSetting ??$serverName ??NULL;
if ($allowInsecure) {
$config['skip-cert-verify'] = (bool)$allowInsecure;
}
if ($network === 'grpc') {
$config['network'] = $network;
$grpcSettings = $networkSettings;
if (isset($grpcSettings['serviceName'])) {
$config['grpc-opts'] = [];
$config['grpc-opts']['grpc-service-name'] = $grpcSettings['serviceName'];
}
}
if ($network === 'ws') {
$config['network'] = $network;
$wsSettings = $networkSettings;
if (isset($wsSettings['path'])) {
$config['ws-opts'] = [];
$config['ws-opts']['path'] = $wsSettings['path'];
if (!empty($wsSettings['headers'])) {
$config['ws-opts']['headers'] = $wsSettings['headers'];
}
}
}
return $config;
}
protected function buildHysteria(BaseServer $server): array
{
$config = [];
$config['name'] = $server->getAttribute(ServerTrojan::FIELD_NAME);
$config['type'] = 'hysteria';
$config['server'] = $server->getAttribute(ServerTrojan::FIELD_HOST);
$config['port'] = $server->getAttribute(ServerTrojan::FIELD_PORT);
$config['auth'] = $this->user->getAttribute(User::FIELD_UUID);
$config['alpn'] = ['h3'];
$config['protocol'] = $server->getAttribute(ServerHysteria::FIELD_PROTOCOL);
$config['up'] = $server->getAttribute(ServerHysteria::FIELD_UP_MBPS);
$config['down'] = $server->getAttribute(ServerHysteria::FIELD_DOWN_MBPS);
$config['disable_mtu_discovery'] = $server->getAttribute(ServerHysteria::FIELD_DISABLE_CLIENT_MTU_DISCOVERY);
$obfs = $server->getAttribute(ServerHysteria::FIELD_OBFS);
$serverName = $server->getAttribute(ServerHysteria::FIELD_SERVER_NAME);
$allowInsecure = $server->getAttribute(ServerHysteria::FIELD_ALLOW_INSECURE);
if ($obfs) {
$config['obfs'] = $obfs;
}
if ($serverName) {
$config['sni'] = $serverName;
}
if ($allowInsecure) {
$config['skip-cert-verify'] = (bool)$allowInsecure;
}
return $config;
}
};

Did this file decode correctly?

Original Code

<?php /* Dev By Hoang Skyht 18-06-2024 */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};$O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};$O0O000O0O=$O0O000O00.$OOO000000{11};$O0O000O00=$O0O000O00.$OOO000000{3};$O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};$OOO0O0O00=__FILE__;$OO00O0000=0x2948;eval($OOO0000O0('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NGFiKTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdFbnRlcnlvdXdraFJIWUtOV09VVEFhQmJDY0RkRmZHZ0lpSmpMbE1tUHBRcVNzVnZYeFp6MDEyMzQ1Njc4OSsvPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='));return;?>[A`\K]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BanyhUn7tMyZFMy5b3n1F2IPkunZd3i5RtO0DolzRT5JfBlScri5F3OlFMlihtOzcbk2cbwphTShCbkZCblgFuazDtILFukvGollFZXLdMyscUL7tm0hgWPLC29VcMlmBZfXFM94DBazk10INUniFmkiGa9scbkmcUILC29VcMlmBZfXFM94DBazk10INzPIB10SkunZd3i5hTShcM9ZcByjDtEPkoYvdMcpc1SmFukvGuLsc3kvfbnzk10ICbHIkoSINT4LfJLIGXppcJEPwBlzb2yZFMy5htOjd25MDBfdk3nZd3i5RBfZd3aXFZffBZOqbaSmFukvGollFZffhULIGXpjd250DB51cTShgWPLC29VcMlmBZfXFM94GU1mFM91FuHmbaSLD11dk3nZd3ipcbHmbUE9woyZFMy5b21lFMflhtOjd25MDBfdk3nZd3i5RBfZd3aXFZffBZOqbaSmFukvGollFZffRtOXFM94DBazhTShgWPLF2aZfMaZWBxSaoymFZE9woyZFMy5b3aVDby1cUiiFmkiGa9scbkmcUiTcbk2cbkBdBazFzP6CBxSaoymFZIpRyYlFmclFlYPCBOvf3YvC2szKjpidoxACBfzhtLSA2aZfMaZaukvDMyVKjpidoxACBfzhtLphTShcM9ZcByjDtEPkuYlFmclFLySdyOic3HICbHIkuOicZLIGXPLFukvGollFZE9wysfKXpMd3klCBYPwtILF2aZfMaZFZniFZELF2aZfMaZhUn7tJO0CBfzwe0IhoyZFMy5hUOzcbk2cbwsNMflfry0fukpCma0cUitCbYlA2aZfMaZKjpoUAaHOy9AWAfThTShko5idBAINUELF2aZfMaZRT5mcbOnfuOZDBk1foAPWMyzcaYlFmclFjP6OLlyTrOgTLyYOUL7tMlMwtildbn0GUILfoymFZLpwuShC29VfolVfBA7tm0hDBCIhoyZFMy5b2lVfoaZF2ajftILfoymFZXLF2aZfMaZWBxSaoymFZLpwuShCbkZCblgFuazDtILFukvGollFZXLdMyscUL7tm0hgWppcJEPkunZd3ipcbHpwuShCbkZCblgFuazDtILC29VcMlmBZfXFM94GU1mFM91FuHmbUxdk25idBAmNT4LfoymRtf0Gbnlkz0+k3YldoajftFSk3nZd3ipcbHmNT4L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@[csyuHhm

Function Calls

fopen 1
fread 3
strtr 2
fclose 1
urldecode 1
str_replace 1
base64_decode 3

Variables

$O000O0O00 True
$O0O000O00 fgets
$O0O000O0O fgetc
$O0O00OO00 fread
$OO00O0000 10568
$OO00O00O0 namespace App\Utils\Client\Protocols; use App\Models\BaseSe..
$OOO000000 fg6sbehpra4co_tnd
$OOO00000O strtr
$OOO0000O0 base64_decode
$OOO000O00 fopen
$OOO0O0O00 index.php

Stats

MD5 20599f9fc7328739757f7163e89976d9
Eval Count 3
Decode Time 93 ms