Linux vmi2545633.contaboserver.net 6.1.0-32-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.1.129-1 (2025-03-06) x86_64
Apache/2.4.62 (Debian)
Server IP : 127.0.0.1 & Your IP : 127.0.0.1
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
var /
www /
softmedya.net /
vendor /
psy /
psysh /
src /
Delete
Unzip
Name
Size
Permission
Date
Action
CodeCleaner
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
Command
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
Exception
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
ExecutionLoop
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
Formatter
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
Input
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
Output
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
Readline
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
Reflection
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
Sudo
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
TabCompletion
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
Util
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
VarDumper
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
VersionUpdater
[ DIR ]
drwxr-xr-x
2025-09-20 13:46
CodeCleaner.php
11.08
KB
-rw-r--r--
2025-09-20 13:46
ConfigPaths.php
10.24
KB
-rw-r--r--
2025-09-20 13:46
Configuration.php
56.86
KB
-rw-r--r--
2025-09-20 13:46
Context.php
7.63
KB
-rw-r--r--
2025-09-20 13:46
ContextAware.php
567
B
-rw-r--r--
2025-09-20 13:46
EnvInterface.php
443
B
-rw-r--r--
2025-09-20 13:46
ExecutionClosure.php
2.25
KB
-rw-r--r--
2025-09-20 13:46
ExecutionLoopClosure.php
2.78
KB
-rw-r--r--
2025-09-20 13:46
ParserFactory.php
750
B
-rw-r--r--
2025-09-20 13:46
Shell.php
48.95
KB
-rw-r--r--
2025-09-20 13:46
Sudo.php
5.93
KB
-rw-r--r--
2025-09-20 13:46
SuperglobalsEnv.php
620
B
-rw-r--r--
2025-09-20 13:46
SystemEnv.php
666
B
-rw-r--r--
2025-09-20 13:46
functions.php
16.71
KB
-rw-r--r--
2025-09-20 13:46
Save
Rename
<?php /* * This file is part of Psy Shell. * * (c) 2012-2023 Justin Hileman * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Psy; /** * Helpers for bypassing visibility restrictions, mostly used in code generated * by the `sudo` command. */ class Sudo { /** * Fetch a property of an object, bypassing visibility restrictions. * * @param object $object * @param string $property property name * * @return mixed Value of $object->property */ public static function fetchProperty($object, string $property) { $prop = self::getProperty(new \ReflectionObject($object), $property); return $prop->getValue($object); } /** * Assign the value of a property of an object, bypassing visibility restrictions. * * @param object $object * @param string $property property name * @param mixed $value * * @return mixed Value of $object->property */ public static function assignProperty($object, string $property, $value) { $prop = self::getProperty(new \ReflectionObject($object), $property); $prop->setValue($object, $value); return $value; } /** * Call a method on an object, bypassing visibility restrictions. * * @param object $object * @param string $method method name * @param mixed $args... * * @return mixed */ public static function callMethod($object, string $method, ...$args) { $refl = new \ReflectionObject($object); $reflMethod = $refl->getMethod($method); if (\PHP_VERSION_ID < 80100) { $reflMethod->setAccessible(true); } return $reflMethod->invokeArgs($object, $args); } /** * Fetch a property of a class, bypassing visibility restrictions. * * @param string|object $class class name or instance * @param string $property property name * * @return mixed Value of $class::$property */ public static function fetchStaticProperty($class, string $property) { $prop = self::getProperty(new \ReflectionClass($class), $property); if (\PHP_VERSION_ID < 80100) { $prop->setAccessible(true); } return $prop->getValue(); } /** * Assign the value of a static property of a class, bypassing visibility restrictions. * * @param string|object $class class name or instance * @param string $property property name * @param mixed $value * * @return mixed Value of $class::$property */ public static function assignStaticProperty($class, string $property, $value) { $prop = self::getProperty(new \ReflectionClass($class), $property); $refl = $prop->getDeclaringClass(); if (\method_exists($refl, 'setStaticPropertyValue')) { $refl->setStaticPropertyValue($property, $value); } else { $prop->setValue($value); } return $value; } /** * Call a static method on a class, bypassing visibility restrictions. * * @param string|object $class class name or instance * @param string $method method name * @param mixed $args... * * @return mixed */ public static function callStatic($class, string $method, ...$args) { $refl = new \ReflectionClass($class); $reflMethod = $refl->getMethod($method); if (\PHP_VERSION_ID < 80100) { $reflMethod->setAccessible(true); } return $reflMethod->invokeArgs(null, $args); } /** * Fetch a class constant, bypassing visibility restrictions. * * @param string|object $class class name or instance * @param string $const constant name * * @return mixed */ public static function fetchClassConst($class, string $const) { $refl = new \ReflectionClass($class); // Special case the ::class magic constant, because `getConstant` does the wrong thing here. if ($const === 'class') { return $refl->getName(); } do { if ($refl->hasConstant($const)) { return $refl->getConstant($const); } $refl = $refl->getParentClass(); } while ($refl !== false); return false; } /** * Construct an instance of a class, bypassing private constructors. * * @param string $class class name * @param mixed $args... */ public static function newInstance(string $class, ...$args) { $refl = new \ReflectionClass($class); $instance = $refl->newInstanceWithoutConstructor(); $constructor = $refl->getConstructor(); if (\PHP_VERSION_ID < 80100) { $constructor->setAccessible(true); } $constructor->invokeArgs($instance, $args); return $instance; } /** * Get a ReflectionProperty from an object (or its parent classes). * * @throws \ReflectionException if neither the object nor any of its parents has this property * * @param \ReflectionClass $refl * @param string $property property name * * @return \ReflectionProperty */ private static function getProperty(\ReflectionClass $refl, string $property): \ReflectionProperty { $firstException = null; do { try { $prop = $refl->getProperty($property); if (\PHP_VERSION_ID < 80100) { $prop->setAccessible(true); } return $prop; } catch (\ReflectionException $e) { if ($firstException === null) { $firstException = $e; } $refl = $refl->getParentClass(); } } while ($refl !== false); throw $firstException; } }