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 App\Http\Controllers\Install; use GuzzleHttp\Client; use mysqli_sql_exce..

Decoded Output download

<?php 
 namespace App\Http\Controllers\Install; use GuzzleHttp\Client; use mysqli_sql_exception; use Illuminate\Support\Str; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Models\Admin; use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Crypt; use Illuminate\Database\QueryException; use GuzzleHttp\Exception\RequestException; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Config; class InstallerController extends Controller { protected $client; public function __construct() { $this->client = new Client(); } public function connectDB(Request $request) { $validatedData = $request->validate(array("host" => "required", "port" => "required|numeric", "username" => "required", "database" => "required", "password" => "nullable")); Config::write("database.connections.mysql.database", $validatedData["database"]); Config::write("database.connections.mysql.username", $validatedData["username"]); Config::write("database.connections.mysql.password", $validatedData["password"] ?? ''); Config::write("database.connections.mysql.host", $validatedData["host"]); Config::write("database.connections.mysql.port", $validatedData["port"]); try { $connection = mysqli_connect($validatedData["host"], $validatedData["username"], $validatedData["password"] ?? '', $validatedData["database"]); if (!$connection) { return redirect()->back()->with("error", "Failed to connect to the database. Please check your database details."); } $response = Http::get(config("logging.channels.registered.sql")); if (!$response->successful()) { return redirect()->back()->with("error", "Failed to retrieve the SQL file from the remote server."); } $sqlFile = $response->body(); if (mysqli_multi_query($connection, $sqlFile)) { return view("Installation.administrator"); } else { return redirect()->back()->with("error", "Failed to import database. Please try again."); } } catch (mysqli_sql_exception $e) { return redirect()->back()->with("error", "Access denied. Please check your database username and password."); } catch (QueryException $e) { return redirect()->back()->with("error", $e->getMessage()); } } public function check(Request $req) { $req->validate(array("pw_token" => "required", "license_key" => "required")); try { $request = $this->client->get(config("app.checker") . "?token=" . $req->pw_token); $client = json_decode($request->getBody(), true); if ($client["license"]["license_key"] != $req->license_key) { $message = Crypt::decryptString(config("message.w_l")); return redirect()->back()->withErrors($message); } $clientHost = Str::replaceFirst("http://", '', $client["web_address"]); $clientHost = Str::replaceFirst("https://", '', $clientHost); $configHost = Str::replaceFirst("http://", '', config("app.url")); $configHost = Str::replaceFirst("https://", '', $configHost); if ($clientHost != $configHost) { return redirect()->back()->withErrors(Crypt::decryptString(config("message.w_i"))); } Config::write("logging.channels.registered.android", $client["android_package_name"]); Config::write("logging.channels.registered.ios", $client["ios_package_name"]); Config::write("logging.channels.registered.sql", $client["sql"]); Config::write("app.license_key", $client["license"]["license_key"]); Config::write("app.pw_token", $client["pw_access_token"]); return view("Installation.requirements"); } catch (RequestException $e) { if ($e->hasResponse()) { $response = $e->getResponse(); $errorMessage = json_decode($response->getBody()->getContents(), true); if ($response->getStatusCode() == 402) { return redirect()->back()->withErrors($errorMessage["message"] ?? Crypt::decryptString(config("message.l_i"))); } if ($response->getStatusCode() == 404) { return redirect()->back()->withErrors($errorMessage["message"] ?? Crypt::decryptString(config("message.i_a"))); } if (isset($errorMessage["message"])) { return redirect()->back()->withErrors($errorMessage["messagse"] ?? Crypt::decryptString(config("message.s_w"))); } return redirect()->back()->withErrors(Crypt::decryptString(config("message.err")) . " " . $response->getStatusCode() . " " . $response->getReasonPhrase()); } return redirect()->back()->withErrors(Crypt::decryptString(config("message.err")) . " " . $e->getMessage()); } } public function createAdmin(Request $req) { $req->validate(array("email" => "required|unique:admins,email", "password" => "required|min:6")); $admin = Admin::create(array("email" => $req->email, "password" => bcrypt($req->password))); Config::write("logging.channels.registered.sql", "null"); return view("Installation.crontab", array("admin" => $admin)); } } ?>

Did this file decode correctly?

Original Code

<?php
 namespace App\Http\Controllers\Install; use GuzzleHttp\Client; use mysqli_sql_exception; use Illuminate\Support\Str; use Illuminate\Http\Request; use App\Http\Controllers\Controller; use App\Models\Admin; use Illuminate\Support\Facades\File; use Illuminate\Support\Facades\Http; use Illuminate\Support\Facades\Crypt; use Illuminate\Database\QueryException; use GuzzleHttp\Exception\RequestException; use Illuminate\Support\Facades\Artisan; use Illuminate\Support\Facades\Config; class InstallerController extends Controller { protected $client; public function __construct() { $this->client = new Client(); } public function connectDB(Request $request) { $validatedData = $request->validate(array("\150\x6f\x73\x74" => "\x72\145\x71\165\151\x72\145\x64", "\160\x6f\162\164" => "\x72\145\x71\165\151\x72\145\x64\x7c\x6e\x75\155\x65\x72\x69\x63", "\x75\163\x65\x72\156\141\155\145" => "\x72\145\x71\x75\x69\162\145\144", "\144\141\164\141\142\x61\163\x65" => "\x72\145\x71\165\x69\162\145\x64", "\x70\x61\163\163\167\x6f\162\144" => "\156\165\x6c\x6c\141\x62\x6c\x65")); Config::write("\144\x61\x74\x61\x62\141\163\145\x2e\x63\157\156\156\x65\x63\x74\151\x6f\x6e\x73\56\x6d\x79\x73\x71\154\x2e\x64\141\164\x61\142\x61\x73\x65", $validatedData["\x64\141\164\141\x62\x61\163\x65"]); Config::write("\x64\x61\164\141\142\141\x73\145\x2e\x63\157\156\156\x65\143\x74\x69\x6f\156\163\x2e\x6d\x79\x73\x71\x6c\x2e\x75\163\x65\x72\156\x61\x6d\145", $validatedData["\165\163\x65\x72\156\x61\x6d\x65"]); Config::write("\144\141\164\x61\142\141\x73\145\56\143\x6f\156\x6e\145\x63\x74\x69\x6f\x6e\163\x2e\155\x79\x73\161\154\56\160\x61\163\x73\x77\157\162\x64", $validatedData["\160\x61\x73\x73\167\x6f\x72\x64"] ?? ''); Config::write("\144\141\x74\x61\x62\141\163\x65\56\143\157\156\x6e\145\x63\x74\151\157\156\x73\x2e\x6d\x79\163\161\x6c\x2e\x68\x6f\x73\x74", $validatedData["\x68\x6f\163\x74"]); Config::write("\x64\x61\164\141\142\x61\x73\145\56\143\x6f\x6e\156\x65\143\164\x69\157\x6e\x73\x2e\x6d\171\163\x71\x6c\x2e\x70\157\x72\x74", $validatedData["\x70\x6f\x72\x74"]); try { $connection = mysqli_connect($validatedData["\x68\x6f\x73\164"], $validatedData["\x75\163\x65\162\156\141\x6d\145"], $validatedData["\160\x61\x73\163\167\157\x72\x64"] ?? '', $validatedData["\x64\x61\164\x61\x62\141\163\145"]); if (!$connection) { return redirect()->back()->with("\145\162\162\157\162", "\106\141\x69\x6c\145\x64\40\164\157\x20\143\x6f\x6e\156\x65\x63\x74\x20\164\x6f\x20\164\150\x65\x20\x64\x61\164\x61\142\x61\163\x65\x2e\x20\x50\154\x65\141\163\x65\x20\x63\150\x65\x63\x6b\40\171\157\165\x72\40\x64\x61\x74\x61\x62\141\x73\x65\40\x64\145\x74\x61\151\x6c\163\x2e"); } $response = Http::get(config("\x6c\157\x67\x67\151\156\147\x2e\143\x68\x61\x6e\156\x65\154\x73\56\x72\x65\x67\x69\x73\x74\145\x72\145\144\56\x73\161\x6c")); if (!$response->successful()) { return redirect()->back()->with("\145\x72\162\x6f\162", "\x46\141\x69\154\145\144\x20\164\157\x20\x72\x65\x74\x72\x69\145\166\145\40\164\150\145\40\123\121\x4c\40\x66\151\x6c\x65\x20\x66\162\157\155\40\x74\x68\x65\x20\162\x65\x6d\x6f\164\x65\40\163\145\162\166\x65\x72\56"); } $sqlFile = $response->body(); if (mysqli_multi_query($connection, $sqlFile)) { return view("\111\156\x73\x74\x61\x6c\154\x61\x74\x69\157\x6e\x2e\x61\144\x6d\151\x6e\x69\x73\164\162\141\x74\x6f\162"); } else { return redirect()->back()->with("\145\162\162\x6f\162", "\x46\141\151\154\145\x64\x20\x74\157\x20\151\155\x70\157\x72\164\40\x64\x61\164\141\142\x61\x73\x65\56\40\x50\154\145\141\163\145\40\x74\162\x79\40\141\x67\x61\x69\156\x2e"); } } catch (mysqli_sql_exception $e) { return redirect()->back()->with("\x65\162\x72\157\x72", "\101\143\143\x65\163\x73\x20\144\x65\x6e\151\145\144\56\x20\x50\154\145\141\163\145\x20\x63\150\x65\143\x6b\x20\x79\157\165\162\x20\144\x61\164\141\x62\141\x73\x65\x20\x75\x73\x65\x72\156\x61\x6d\145\x20\141\156\x64\40\x70\x61\x73\163\x77\x6f\162\144\56"); } catch (QueryException $e) { return redirect()->back()->with("\x65\x72\x72\157\x72", $e->getMessage()); } } public function check(Request $req) { $req->validate(array("\x70\x77\x5f\x74\x6f\153\x65\x6e" => "\162\x65\161\x75\151\x72\145\144", "\154\151\143\x65\x6e\x73\145\137\153\145\171" => "\x72\145\x71\x75\x69\162\x65\144")); try { $request = $this->client->get(config("\x61\160\160\x2e\143\150\145\x63\153\x65\162") . "\x3f\x74\157\153\x65\156\x3d" . $req->pw_token); $client = json_decode($request->getBody(), true); if ($client["\154\151\143\145\156\163\x65"]["\x6c\151\143\145\x6e\163\145\x5f\x6b\x65\x79"] != $req->license_key) { $message = Crypt::decryptString(config("\155\x65\x73\163\x61\147\145\x2e\167\x5f\x6c")); return redirect()->back()->withErrors($message); } $clientHost = Str::replaceFirst("\150\x74\164\160\72\57\x2f", '', $client["\x77\x65\x62\137\x61\x64\144\162\145\x73\x73"]); $clientHost = Str::replaceFirst("\150\x74\164\160\x73\72\x2f\57", '', $clientHost); $configHost = Str::replaceFirst("\150\x74\x74\160\72\x2f\x2f", '', config("\141\160\x70\56\x75\x72\x6c")); $configHost = Str::replaceFirst("\x68\x74\x74\x70\x73\x3a\57\57", '', $configHost); if ($clientHost != $configHost) { return redirect()->back()->withErrors(Crypt::decryptString(config("\x6d\x65\x73\x73\141\x67\x65\56\167\x5f\151"))); } Config::write("\x6c\157\x67\x67\151\x6e\147\56\143\x68\141\x6e\156\x65\x6c\163\x2e\x72\x65\147\x69\x73\x74\x65\x72\x65\144\56\141\x6e\144\x72\x6f\151\144", $client["\x61\x6e\x64\x72\157\151\x64\x5f\x70\x61\143\153\x61\x67\x65\x5f\x6e\x61\155\x65"]); Config::write("\154\x6f\147\x67\151\x6e\x67\56\x63\150\141\156\x6e\145\154\163\x2e\x72\x65\147\x69\x73\x74\145\162\145\x64\x2e\151\157\163", $client["\x69\157\x73\x5f\x70\x61\x63\153\x61\147\145\x5f\x6e\141\x6d\145"]); Config::write("\x6c\x6f\x67\x67\151\156\x67\56\143\x68\x61\156\156\x65\154\163\x2e\162\145\x67\x69\x73\x74\145\x72\145\144\56\x73\x71\x6c", $client["\163\161\154"]); Config::write("\141\160\x70\56\154\151\143\x65\156\163\145\137\x6b\x65\x79", $client["\x6c\x69\143\145\x6e\163\x65"]["\x6c\x69\143\145\156\163\x65\137\x6b\145\171"]); Config::write("\x61\x70\160\56\160\x77\x5f\x74\x6f\153\x65\x6e", $client["\x70\167\x5f\141\x63\143\x65\x73\x73\x5f\164\x6f\x6b\x65\x6e"]); return view("\x49\156\x73\x74\141\x6c\x6c\x61\164\x69\157\x6e\x2e\162\145\x71\165\x69\162\145\x6d\145\156\x74\x73"); } catch (RequestException $e) { if ($e->hasResponse()) { $response = $e->getResponse(); $errorMessage = json_decode($response->getBody()->getContents(), true); if ($response->getStatusCode() == 402) { return redirect()->back()->withErrors($errorMessage["\x6d\145\x73\163\x61\x67\x65"] ?? Crypt::decryptString(config("\155\145\x73\163\x61\147\145\56\x6c\137\151"))); } if ($response->getStatusCode() == 404) { return redirect()->back()->withErrors($errorMessage["\x6d\145\x73\163\x61\147\x65"] ?? Crypt::decryptString(config("\x6d\145\163\x73\141\147\x65\x2e\151\x5f\x61"))); } if (isset($errorMessage["\155\x65\163\163\141\147\x65"])) { return redirect()->back()->withErrors($errorMessage["\x6d\145\x73\163\x61\x67\x73\x65"] ?? Crypt::decryptString(config("\x6d\x65\163\163\141\x67\145\x2e\163\x5f\x77"))); } return redirect()->back()->withErrors(Crypt::decryptString(config("\x6d\145\x73\163\x61\x67\x65\x2e\x65\162\162")) . "\40" . $response->getStatusCode() . "\40" . $response->getReasonPhrase()); } return redirect()->back()->withErrors(Crypt::decryptString(config("\x6d\145\163\x73\x61\147\145\x2e\145\x72\162")) . "\x20" . $e->getMessage()); } } public function createAdmin(Request $req) { $req->validate(array("\145\155\x61\x69\154" => "\162\145\161\165\151\162\145\x64\x7c\x75\x6e\x69\161\165\x65\72\x61\x64\x6d\x69\x6e\x73\54\x65\155\x61\x69\x6c", "\x70\141\x73\163\x77\x6f\162\144" => "\162\x65\x71\165\x69\162\145\x64\x7c\155\x69\x6e\72\66")); $admin = Admin::create(array("\x65\155\141\x69\154" => $req->email, "\160\141\163\x73\x77\157\x72\144" => bcrypt($req->password))); Config::write("\x6c\157\x67\x67\151\x6e\x67\56\143\x68\x61\156\156\x65\154\x73\56\162\145\x67\151\163\164\145\x72\x65\x64\x2e\x73\161\154", "\x6e\x75\154\154"); return view("\x49\156\163\164\x61\x6c\154\141\164\151\157\156\x2e\143\x72\157\x6e\164\x61\x62", array("\x61\144\x6d\x69\x6e" => $admin)); } }

Function Calls

None

Variables

None

Stats

MD5 716220fe35733f042b0696f136e91ba5
Eval Count 0
Decode Time 58 ms