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 goto hJ3Zg; AY0qz: $debug = false; goto q3KE2; h4yXp: require_once "\146\165\x..

Decoded Output download

<?php 
goto hJ3Zg; 
AY0qz: 
$debug = false; 
goto q3KE2; 
h4yXp: 
require_once "funciones-mikrotik.php"; 
goto PSyIn; 
PSyIn: 
require_once "mikrotiks.php"; 
goto AY0qz; 
NwN1d: 
if ($id_conexion > 0) { 
    $ret = array(); 
    foreach ($mikrotiks as $mk) { 
        $host = $mk["ip"]; 
        $port = $mk["port"]; 
        $user = $mk["user"]; 
        $pass = $mk["pass"]; 
        $tipo = $mk["tipo"]; 
        $api = mikrotik_conectar($host . ":" . $port, $user, $pass); 
        if ($api) { 
            switch ($tipo) { 
                case "dhcp": 
                    $api->write("/ip/dhcp-server/lease/print", true); 
                    $ret_temp = $api->read(); 
                    foreach ($ret_temp as $rt) { 
                        array_push($ret, $rt); 
                    } 
                    break; 
                case "static": 
                    $api->write("/queue/simple/print", true); 
                    $ret_temp = $api->read(); 
                    foreach ($ret_temp as $rt) { 
                        array_push($ret, $rt); 
                    } 
                    break; 
            } 
        } 
    } 
    foreach ($ret as $r) { 
        if (intval($r["comment"]) == $id_conexion) { 
            if (isset($r["active-address"])) { 
                $ip = $r["active-address"]; 
                $modalidad = "dhcp"; 
            } elseif (isset($r["target"])) { 
                $ip = substr($r["target"], 0, -3); 
                $modalidad = "static"; 
            } 
            if (isset($ip)) { 
                $output = shell_exec("ping -c 3 {$ip}"); 
                $output = substr($output, strpos($output, "ping statistics ---") + 20, 99999); 
                $output = explode(",", $output); 
                if (count($output) >= 3) { 
                    $enviados = substr($output[0], 0, 1); 
                    $recibidos = substr(trim($output[1]), 0, 1); 
                    $loss = trim($output[2]); 
                    if (strpos($loss, "loss") === false) { 
                        $loss = trim($output[3]); 
                    } 
                    echo json_encode(array("resultado" => true, "host" => $ip, "paquetes_enviados" => $enviados, "paquetes_recibidos" => $recibidos, "loss" => $loss, "modalidad" => $modalidad)); 
                    die; 
                } 
            } else { 
                echo json_encode(array("resultado" => false, "error" => "El cliente se encuentra bajo DHCP y no tiene una IP asignada. Es posible que haya caducado el lease porque esta offline.")); 
                die; 
            } 
        } 
    } 
    echo json_encode(array("resultado" => false, "error" => "No se encuentra informacin sobre el ID especificado")); 
} else { 
    echo json_encode(array("resultado" => false, "error" => "Indicar ID de conexin")); 
} 
goto QuqmI; 
vujCT: 
ini_set("display_startup_errors", 1); 
goto VMC2q; 
VMC2q: 
require_once "rosapi.php"; 
goto h4yXp; 
q3KE2: 
if ($debug) { 
    if (isset($_GET["conex"])) { 
        $id_conexion = intval($_GET["conex"]); 
    } else { 
        $id_conexion = 0; 
    } 
} else { 
    if (isset($_POST["conex"])) { 
        $id_conexion = intval($_POST["conex"]); 
    } else { 
        $id_conexion = 0; 
    } 
} 
goto NwN1d; 
hJ3Zg: 
ini_set("display_errors", 1); 
goto vujCT; 
QuqmI: 
 ?>

Did this file decode correctly?

Original Code

<?php
goto hJ3Zg;
AY0qz:
$debug = false;
goto q3KE2;
h4yXp:
require_once "\146\165\x6e\x63\151\157\156\x65\163\x2d\x6d\151\153\x72\157\x74\151\x6b\56\x70\150\160";
goto PSyIn;
PSyIn:
require_once "\x6d\x69\153\x72\x6f\164\x69\x6b\163\56\160\x68\160";
goto AY0qz;
NwN1d:
if ($id_conexion > 0) {
    $ret = array();
    foreach ($mikrotiks as $mk) {
        $host = $mk["\151\160"];
        $port = $mk["\x70\x6f\x72\x74"];
        $user = $mk["\x75\x73\x65\162"];
        $pass = $mk["\160\141\x73\x73"];
        $tipo = $mk["\x74\x69\160\157"];
        $api = mikrotik_conectar($host . "\72" . $port, $user, $pass);
        if ($api) {
            switch ($tipo) {
                case "\144\150\x63\160":
                    $api->write("\x2f\151\x70\x2f\144\150\x63\160\55\x73\145\x72\166\145\x72\57\x6c\145\141\163\x65\x2f\160\162\x69\156\x74", true);
                    $ret_temp = $api->read();
                    foreach ($ret_temp as $rt) {
                        array_push($ret, $rt);
                    }
                    break;
                case "\163\x74\x61\x74\x69\143":
                    $api->write("\x2f\161\165\145\x75\145\x2f\x73\151\x6d\160\x6c\145\x2f\160\x72\151\156\164", true);
                    $ret_temp = $api->read();
                    foreach ($ret_temp as $rt) {
                        array_push($ret, $rt);
                    }
                    break;
            }
        }
    }
    foreach ($ret as $r) {
        if (intval($r["\x63\157\155\x6d\145\x6e\164"]) == $id_conexion) {
            if (isset($r["\141\143\x74\x69\x76\x65\x2d\x61\x64\144\162\145\x73\163"])) {
                $ip = $r["\x61\143\164\x69\166\145\55\x61\x64\144\162\145\163\163"];
                $modalidad = "\144\150\x63\160";
            } elseif (isset($r["\164\141\162\147\145\x74"])) {
                $ip = substr($r["\164\141\162\147\x65\164"], 0, -3);
                $modalidad = "\163\164\x61\164\151\x63";
            }
            if (isset($ip)) {
                $output = shell_exec("\x70\x69\x6e\x67\40\x2d\143\x20\63\40{$ip}");
                $output = substr($output, strpos($output, "\x70\x69\156\x67\40\163\x74\x61\x74\151\163\164\151\143\163\x20\x2d\x2d\x2d") + 20, 99999);
                $output = explode("\54", $output);
                if (count($output) >= 3) {
                    $enviados = substr($output[0], 0, 1);
                    $recibidos = substr(trim($output[1]), 0, 1);
                    $loss = trim($output[2]);
                    if (strpos($loss, "\154\157\x73\x73") === false) {
                        $loss = trim($output[3]);
                    }
                    echo json_encode(array("\162\145\163\165\154\x74\141\144\157" => true, "\150\x6f\x73\x74" => $ip, "\x70\141\x71\x75\x65\x74\145\x73\137\145\x6e\x76\151\x61\144\x6f\163" => $enviados, "\160\x61\161\x75\145\164\145\x73\137\162\x65\x63\x69\142\151\x64\x6f\x73" => $recibidos, "\154\157\x73\x73" => $loss, "\x6d\x6f\x64\x61\154\x69\144\141\144" => $modalidad));
                    die;
                }
            } else {
                echo json_encode(array("\162\x65\163\165\154\x74\x61\x64\x6f" => false, "\145\x72\162\x6f\x72" => "\105\154\40\x63\x6c\151\x65\x6e\x74\x65\x20\x73\145\x20\145\x6e\x63\x75\145\156\164\x72\141\40\x62\141\x6a\157\40\x44\110\103\120\x20\x79\x20\x6e\157\x20\x74\x69\145\x6e\145\x20\x75\x6e\141\40\111\120\40\x61\163\151\147\156\x61\x64\x61\56\x20\x45\x73\40\160\157\163\151\142\x6c\145\40\161\165\145\40\x68\141\x79\x61\x20\x63\141\x64\165\143\x61\x64\x6f\40\145\x6c\40\154\145\141\x73\145\x20\160\x6f\162\161\x75\145\40\x65\x73\x74\x61\40\x6f\146\146\x6c\151\x6e\145\x2e"));
                die;
            }
        }
    }
    echo json_encode(array("\x72\145\163\x75\154\164\x61\x64\157" => false, "\145\x72\162\157\x72" => "\x4e\x6f\x20\x73\x65\40\x65\x6e\143\x75\145\156\x74\162\141\x20\151\156\x66\x6f\162\155\x61\x63\x69\xc3\xb3\156\40\x73\x6f\x62\x72\x65\x20\x65\x6c\x20\x49\104\40\x65\x73\x70\x65\x63\151\x66\x69\x63\141\x64\157"));
} else {
    echo json_encode(array("\162\145\x73\x75\154\x74\141\144\157" => false, "\x65\162\x72\157\162" => "\x49\156\144\x69\x63\141\162\x20\111\104\x20\x64\145\x20\143\x6f\156\x65\x78\x69\xc3\263\156"));
}
goto QuqmI;
vujCT:
ini_set("\144\151\x73\160\154\141\x79\137\163\164\x61\162\164\x75\x70\x5f\145\x72\162\x6f\x72\x73", 1);
goto VMC2q;
VMC2q:
require_once "\162\157\x73\141\160\151\56\160\x68\160";
goto h4yXp;
q3KE2:
if ($debug) {
    if (isset($_GET["\x63\157\x6e\145\170"])) {
        $id_conexion = intval($_GET["\x63\157\x6e\145\170"]);
    } else {
        $id_conexion = 0;
    }
} else {
    if (isset($_POST["\x63\x6f\156\x65\170"])) {
        $id_conexion = intval($_POST["\143\157\156\145\170"]);
    } else {
        $id_conexion = 0;
    }
}
goto NwN1d;
hJ3Zg:
ini_set("\x64\151\163\160\x6c\x61\171\x5f\x65\x72\162\x6f\x72\163", 1);
goto vujCT;
QuqmI:

Function Calls

None

Variables

None

Stats

MD5 8fb566cd7d35b6a1c1d572a7de06c878
Eval Count 0
Decode Time 49 ms