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 eval(base64_decode('PD9waHAKIAoKbmFtZXNwYWNlIGFwcFxodHRwOwp1c2UgSWxsdW1pbmF0ZVxDb25z..

Decoded Output download

<?php
 

namespace app\http;
use Illuminate\Console\Scheduling\Schedule;

class Kernel extends \Illuminate\Foundation\Http\Kernel
{
    
    
    
    protected $commands = [
        \App\Console\Commands\InstallApp::class,
    ];

	protected $middleware = ['\App\Http\Middleware\TrackInstallation','App\Http\Middleware\LicenseValidation', 'App\Http\Middleware\TrustProxies', 'App\Http\Middleware\CheckForMaintenanceMode', 'Illuminate\Foundation\Http\Middleware\ValidatePostSize', 'App\Http\Middleware\TrimStrings', 'Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull', 'App\Http\Middleware\WhiteListMiddleware', 'App\Http\Middleware\BlackListMiddleware', 'App\Http\Middleware\UsingProxy'];
	protected $middlewareGroups = [
		'web' => ['App\Http\Middleware\EncryptCookies', 'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse', 'Illuminate\Session\Middleware\StartSession', 'Illuminate\View\Middleware\ShareErrorsFromSession', 'App\Http\Middleware\VerifyCsrfToken', 'Illuminate\Routing\Middleware\SubstituteBindings'],
		'api' => ['throttle:60,1', 'bindings']
	];
        protected $routeMiddleware = [
            'auth' => 'App\Http\Middleware\Authenticate',
            'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
            'bindings' => 'Illuminate\Routing\Middleware\SubstituteBindings',
            'cache.headers' => 'Illuminate\Http\Middleware\SetCacheHeaders',
            'can' => 'Illuminate\Auth\Middleware\Authorize',
            'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
            'signed' => 'Illuminate\Routing\Middleware\ValidateSignature',
            'throttle' => 'Illuminate\Routing\Middleware\ThrottleRequests',
            'verified' => 'Illuminate\Auth\Middleware\EnsureEmailIsVerified',
            'logined' => 'App\Http\Middleware\checkRregister',
            'notLogined' => 'App\Http\Middleware\notLogined',
            'checkLicense' => 'App\Http\Middleware\checkLicense',
            'checkReseller' => 'App\Http\Middleware\checkReseller',
            'checkResellerLicense' => 'App\Http\Middleware\checkResellerLicense',
            'globalReseller' => 'App\Http\Middleware\globalReseller',
            'apichecker' => 'App\Http\Middleware\apichecker',
            'checkWhmcs' => 'App\Http\Middleware\checkWhmcs',
            'is_admin' => 'App\Http\Middleware\IsAdminMiddleware',
            'ownercheck' => 'App\Http\Middleware\LicenseOwnershipCheck', // Add this line
            'license.valid' => 'App\Http\Middleware\LicenseValidation', 
            'track.installation' => 'App\Http\Middleware\TrackInstallation',
        ];

	protected $middlewarePriority = ['Illuminate\Session\Middleware\StartSession', 'Illuminate\View\Middleware\ShareErrorsFromSession', 'App\Http\Middleware\Authenticate', 'Illuminate\Session\Middleware\AuthenticateSession', 'Illuminate\Routing\Middleware\SubstituteBindings', 'Illuminate\Auth\Middleware\Authorize'];
    protected function schedule(Schedule $schedule)
    {
        // Define a task to run every day (adjust the frequency as needed)
        $schedule->call(function () {
            // Find licenses that are about to expire (e.g., within 1 day)
            $licenses = \App\License::where('end_at', '<=', now()->addDay())
                ->where('auto_renew', 1)
                ->get();

            foreach ($licenses as $license) {
                // Check if the reseller's balance is sufficient
                $reseller = \App\Reseller::find($license->reseller_id);
                $software = \App\Software::find($license->software_id);
                $price = $software->price_reseller;
                $month = 1; // Adjust the renewal period as needed

                if ($reseller->balance >= $price * $month) {
                    // Deduct the renewal cost from the reseller's balance
                    $reseller->balance -= $price * $month;
                    $reseller->save();

                    // Renew the license by extending the end date
                    $newEndDate = $license->end_at->addMonths($month);
                    $license->end_at = $newEndDate;
                    $license->save();
                }
            }
        })->daily();
    }

}

?>

Did this file decode correctly?

Original Code

<?php eval(base64_decode('PD9waHAKIAoKbmFtZXNwYWNlIGFwcFxodHRwOwp1c2UgSWxsdW1pbmF0ZVxDb25zb2xlXFNjaGVkdWxpbmdcU2NoZWR1bGU7CgpjbGFzcyBLZXJuZWwgZXh0ZW5kcyBcSWxsdW1pbmF0ZVxGb3VuZGF0aW9uXEh0dHBcS2VybmVsCnsKICAgIAogICAgCiAgICAKICAgIHByb3RlY3RlZCAkY29tbWFuZHMgPSBbCiAgICAgICAgXEFwcFxDb25zb2xlXENvbW1hbmRzXEluc3RhbGxBcHA6OmNsYXNzLAogICAgXTsKCglwcm90ZWN0ZWQgJG1pZGRsZXdhcmUgPSBbJ1xBcHBcSHR0cFxNaWRkbGV3YXJlXFRyYWNrSW5zdGFsbGF0aW9uJywnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxMaWNlbnNlVmFsaWRhdGlvbicsICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXFRydXN0UHJveGllcycsICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXENoZWNrRm9yTWFpbnRlbmFuY2VNb2RlJywgJ0lsbHVtaW5hdGVcXEZvdW5kYXRpb25cXEh0dHBcXE1pZGRsZXdhcmVcXFZhbGlkYXRlUG9zdFNpemUnLCAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxUcmltU3RyaW5ncycsICdJbGx1bWluYXRlXFxGb3VuZGF0aW9uXFxIdHRwXFxNaWRkbGV3YXJlXFxDb252ZXJ0RW1wdHlTdHJpbmdzVG9OdWxsJywgJ0FwcFxcSHR0cFxcTWlkZGxld2FyZVxcV2hpdGVMaXN0TWlkZGxld2FyZScsICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXEJsYWNrTGlzdE1pZGRsZXdhcmUnLCAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxVc2luZ1Byb3h5J107Cglwcm90ZWN0ZWQgJG1pZGRsZXdhcmVHcm91cHMgPSBbCgkJJ3dlYicgPT4gWydBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXEVuY3J5cHRDb29raWVzJywgJ0lsbHVtaW5hdGVcXENvb2tpZVxcTWlkZGxld2FyZVxcQWRkUXVldWVkQ29va2llc1RvUmVzcG9uc2UnLCAnSWxsdW1pbmF0ZVxcU2Vzc2lvblxcTWlkZGxld2FyZVxcU3RhcnRTZXNzaW9uJywgJ0lsbHVtaW5hdGVcXFZpZXdcXE1pZGRsZXdhcmVcXFNoYXJlRXJyb3JzRnJvbVNlc3Npb24nLCAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxWZXJpZnlDc3JmVG9rZW4nLCAnSWxsdW1pbmF0ZVxcUm91dGluZ1xcTWlkZGxld2FyZVxcU3Vic3RpdHV0ZUJpbmRpbmdzJ10sCgkJJ2FwaScgPT4gWyd0aHJvdHRsZTo2MCwxJywgJ2JpbmRpbmdzJ10KCV07CiAgICAgICAgcHJvdGVjdGVkICRyb3V0ZU1pZGRsZXdhcmUgPSBbCiAgICAgICAgICAgICdhdXRoJyA9PiAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxBdXRoZW50aWNhdGUnLAogICAgICAgICAgICAnYXV0aC5iYXNpYycgPT4gJ0lsbHVtaW5hdGVcXEF1dGhcXE1pZGRsZXdhcmVcXEF1dGhlbnRpY2F0ZVdpdGhCYXNpY0F1dGgnLAogICAgICAgICAgICAnYmluZGluZ3MnID0+ICdJbGx1bWluYXRlXFxSb3V0aW5nXFxNaWRkbGV3YXJlXFxTdWJzdGl0dXRlQmluZGluZ3MnLAogICAgICAgICAgICAnY2FjaGUuaGVhZGVycycgPT4gJ0lsbHVtaW5hdGVcXEh0dHBcXE1pZGRsZXdhcmVcXFNldENhY2hlSGVhZGVycycsCiAgICAgICAgICAgICdjYW4nID0+ICdJbGx1bWluYXRlXFxBdXRoXFxNaWRkbGV3YXJlXFxBdXRob3JpemUnLAogICAgICAgICAgICAnZ3Vlc3QnID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXFJlZGlyZWN0SWZBdXRoZW50aWNhdGVkJywKICAgICAgICAgICAgJ3NpZ25lZCcgPT4gJ0lsbHVtaW5hdGVcXFJvdXRpbmdcXE1pZGRsZXdhcmVcXFZhbGlkYXRlU2lnbmF0dXJlJywKICAgICAgICAgICAgJ3Rocm90dGxlJyA9PiAnSWxsdW1pbmF0ZVxcUm91dGluZ1xcTWlkZGxld2FyZVxcVGhyb3R0bGVSZXF1ZXN0cycsCiAgICAgICAgICAgICd2ZXJpZmllZCcgPT4gJ0lsbHVtaW5hdGVcXEF1dGhcXE1pZGRsZXdhcmVcXEVuc3VyZUVtYWlsSXNWZXJpZmllZCcsCiAgICAgICAgICAgICdsb2dpbmVkJyA9PiAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxjaGVja1JyZWdpc3RlcicsCiAgICAgICAgICAgICdub3RMb2dpbmVkJyA9PiAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxub3RMb2dpbmVkJywKICAgICAgICAgICAgJ2NoZWNrTGljZW5zZScgPT4gJ0FwcFxcSHR0cFxcTWlkZGxld2FyZVxcY2hlY2tMaWNlbnNlJywKICAgICAgICAgICAgJ2NoZWNrUmVzZWxsZXInID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXGNoZWNrUmVzZWxsZXInLAogICAgICAgICAgICAnY2hlY2tSZXNlbGxlckxpY2Vuc2UnID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXGNoZWNrUmVzZWxsZXJMaWNlbnNlJywKICAgICAgICAgICAgJ2dsb2JhbFJlc2VsbGVyJyA9PiAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxnbG9iYWxSZXNlbGxlcicsCiAgICAgICAgICAgICdhcGljaGVja2VyJyA9PiAnQXBwXFxIdHRwXFxNaWRkbGV3YXJlXFxhcGljaGVja2VyJywKICAgICAgICAgICAgJ2NoZWNrV2htY3MnID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXGNoZWNrV2htY3MnLAogICAgICAgICAgICAnaXNfYWRtaW4nID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXElzQWRtaW5NaWRkbGV3YXJlJywKICAgICAgICAgICAgJ293bmVyY2hlY2snID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXExpY2Vuc2VPd25lcnNoaXBDaGVjaycsIC8vIEFkZCB0aGlzIGxpbmUKICAgICAgICAgICAgJ2xpY2Vuc2UudmFsaWQnID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXExpY2Vuc2VWYWxpZGF0aW9uJywgCiAgICAgICAgICAgICd0cmFjay5pbnN0YWxsYXRpb24nID0+ICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXFRyYWNrSW5zdGFsbGF0aW9uJywKICAgICAgICBdOwoKCXByb3RlY3RlZCAkbWlkZGxld2FyZVByaW9yaXR5ID0gWydJbGx1bWluYXRlXFxTZXNzaW9uXFxNaWRkbGV3YXJlXFxTdGFydFNlc3Npb24nLCAnSWxsdW1pbmF0ZVxcVmlld1xcTWlkZGxld2FyZVxcU2hhcmVFcnJvcnNGcm9tU2Vzc2lvbicsICdBcHBcXEh0dHBcXE1pZGRsZXdhcmVcXEF1dGhlbnRpY2F0ZScsICdJbGx1bWluYXRlXFxTZXNzaW9uXFxNaWRkbGV3YXJlXFxBdXRoZW50aWNhdGVTZXNzaW9uJywgJ0lsbHVtaW5hdGVcXFJvdXRpbmdcXE1pZGRsZXdhcmVcXFN1YnN0aXR1dGVCaW5kaW5ncycsICdJbGx1bWluYXRlXFxBdXRoXFxNaWRkbGV3YXJlXFxBdXRob3JpemUnXTsKICAgIHByb3RlY3RlZCBmdW5jdGlvbiBzY2hlZHVsZShTY2hlZHVsZSAkc2NoZWR1bGUpCiAgICB7CiAgICAgICAgLy8gRGVmaW5lIGEgdGFzayB0byBydW4gZXZlcnkgZGF5IChhZGp1c3QgdGhlIGZyZXF1ZW5jeSBhcyBuZWVkZWQpCiAgICAgICAgJHNjaGVkdWxlLT5jYWxsKGZ1bmN0aW9uICgpIHsKICAgICAgICAgICAgLy8gRmluZCBsaWNlbnNlcyB0aGF0IGFyZSBhYm91dCB0byBleHBpcmUgKGUuZy4sIHdpdGhpbiAxIGRheSkKICAgICAgICAgICAgJGxpY2Vuc2VzID0gXEFwcFxMaWNlbnNlOjp3aGVyZSgnZW5kX2F0JywgJzw9Jywgbm93KCktPmFkZERheSgpKQogICAgICAgICAgICAgICAgLT53aGVyZSgnYXV0b19yZW5ldycsIDEpCiAgICAgICAgICAgICAgICAtPmdldCgpOwoKICAgICAgICAgICAgZm9yZWFjaCAoJGxpY2Vuc2VzIGFzICRsaWNlbnNlKSB7CiAgICAgICAgICAgICAgICAvLyBDaGVjayBpZiB0aGUgcmVzZWxsZXIncyBiYWxhbmNlIGlzIHN1ZmZpY2llbnQKICAgICAgICAgICAgICAgICRyZXNlbGxlciA9IFxBcHBcUmVzZWxsZXI6OmZpbmQoJGxpY2Vuc2UtPnJlc2VsbGVyX2lkKTsKICAgICAgICAgICAgICAgICRzb2Z0d2FyZSA9IFxBcHBcU29mdHdhcmU6OmZpbmQoJGxpY2Vuc2UtPnNvZnR3YXJlX2lkKTsKICAgICAgICAgICAgICAgICRwcmljZSA9ICRzb2Z0d2FyZS0+cHJpY2VfcmVzZWxsZXI7CiAgICAgICAgICAgICAgICAkbW9udGggPSAxOyAvLyBBZGp1c3QgdGhlIHJlbmV3YWwgcGVyaW9kIGFzIG5lZWRlZAoKICAgICAgICAgICAgICAgIGlmICgkcmVzZWxsZXItPmJhbGFuY2UgPj0gJHByaWNlICogJG1vbnRoKSB7CiAgICAgICAgICAgICAgICAgICAgLy8gRGVkdWN0IHRoZSByZW5ld2FsIGNvc3QgZnJvbSB0aGUgcmVzZWxsZXIncyBiYWxhbmNlCiAgICAgICAgICAgICAgICAgICAgJHJlc2VsbGVyLT5iYWxhbmNlIC09ICRwcmljZSAqICRtb250aDsKICAgICAgICAgICAgICAgICAgICAkcmVzZWxsZXItPnNhdmUoKTsKCiAgICAgICAgICAgICAgICAgICAgLy8gUmVuZXcgdGhlIGxpY2Vuc2UgYnkgZXh0ZW5kaW5nIHRoZSBlbmQgZGF0ZQogICAgICAgICAgICAgICAgICAgICRuZXdFbmREYXRlID0gJGxpY2Vuc2UtPmVuZF9hdC0+YWRkTW9udGhzKCRtb250aCk7CiAgICAgICAgICAgICAgICAgICAgJGxpY2Vuc2UtPmVuZF9hdCA9ICRuZXdFbmREYXRlOwogICAgICAgICAgICAgICAgICAgICRsaWNlbnNlLT5zYXZlKCk7CiAgICAgICAgICAgICAgICB9CiAgICAgICAgICAgIH0KICAgICAgICB9KS0+ZGFpbHkoKTsKICAgIH0KCn0KCj8+')); ?>

Function Calls

base64_decode 1

Variables

None

Stats

MD5 b6d082fdc6253593314dfaec5db6a41e
Eval Count 1
Decode Time 157 ms