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 /* Dev By Hoang Skyht 18-06-2024 */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72..

Decoded Output download

$O000O0O00=$OOO000O00($OOO0O0O00,'rb');$O0O00OO00($O000O0O00,0x4a6);$OO00O00O0=$OOO0000O0($OOO00000O($O0O00OO00($O000O0O00,0x17c),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'));eval($OO00O00O0);$OO00O00O0=str_replace('__FILE__',"'".$OOO0O0O00."'",$OOO0000O0($OOO00000O($O0O00OO00($O000O0O00,$OO00O0000),'EnteryouwkhRHYKNWOUTAaBbCcDdFfGgIiJjLlMmPpQqSsVvXxZz0123456789+/=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));fclose($O000O0O00);eval($OO00O00O0);
namespace App\Services;
use App\Models\Order;
use App\Models\Payment;
use Exception;
class PaymentService
{
public $customResult;
private $_config;
private $_method;
private $_paymentInstance;
public function __construct($method,Payment $payment = null)
{
$this->_method = $method;
$className = '\App\Payments\'.$this->_method;
if (!class_exists($className)) {
throw new Exception("gate is not found");
}
$this->_config = [];
if (isset($payment)) {
$this->_config = $payment->getAttribute(Payment::FIELD_CONFIG);
$this->_config['enable'] = $payment->getAttribute(Payment::FIELD_ENABLE);
$this->_config['id'] = $payment->getAttribute(Payment::FIELD_ID);
$this->_config['uuid'] = $payment->getAttribute(Payment::FIELD_UUID);
$this->_config['notify_domain'] = $payment->getAttribute(Payment::FIELD_NOTIFY_DOMAIN);
}
$this->_paymentInstance = new $className($this->_config);
if (isset($this->payment->customResult)) {
$this->customResult = $this->payment->customResult;
}
}
public function notify($params)
{
if (!$this->_config['enable']) {
throw new Exception('gate is not enable');
}
return $this->_paymentInstance->notify($params);
}
public function pay(Order $order,string $returnUrl = "")
{
$notifyUrl = url("/api/v1/guest/payment/notify/{$this->_method}/{$this->_config['uuid']}");
if ($this->_config['notify_domain']) {
$parseUrl = parse_url($notifyUrl);
$notifyUrl = $this->_config['notify_domain'] .$parseUrl['path'];
}
return $this->_paymentInstance->pay([
'notify_url'=>$notifyUrl,
'return_url'=>$returnUrl,
'trade_no'=>$order->getAttribute(Order::FIELD_TRADE_NO),
'total_amount'=>$order->getAttribute(Order::FIELD_TOTAL_AMOUNT),
'user_id'=>$order->getAttribute(Order::FIELD_USER_ID),
'order_id'=>$order->getAttribute(Order::FIELD_ID),
]);
}
public function form()
{
$form = $this->_paymentInstance->form();
$keys = array_keys($form);
foreach ($keys as $key) {
if (isset($this->_config[$key])) {
$form[$key]['value'] = $this->_config[$key];
}
}
return $form;
}
};

Did this file decode correctly?

Original Code

<?php /* Dev By Hoang Skyht 18-06-2024 */$OOO000000=urldecode('%66%67%36%73%62%65%68%70%72%61%34%63%6f%5f%74%6e%64');$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$OOO000O00=$OOO000000{0}.$OOO000000{12}.$OOO000000{7}.$OOO000000{5}.$OOO000000{15};$O0O000O00=$OOO000000{0}.$OOO000000{1}.$OOO000000{5}.$OOO000000{14};$O0O000O0O=$O0O000O00.$OOO000000{11};$O0O000O00=$O0O000O00.$OOO000000{3};$O0O00OO00=$OOO000000{0}.$OOO000000{8}.$OOO000000{5}.$OOO000000{9}.$OOO000000{16};$OOO00000O=$OOO000000{3}.$OOO000000{14}.$OOO000000{8}.$OOO000000{14}.$OOO000000{8};$OOO0O0O00=__FILE__;$OO00O0000=0xa48;eval($OOO0000O0('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NGE2KTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdFbnRlcnlvdXdraFJIWUtOV09VVEFhQmJDY0RkRmZHZ0lpSmpMbE1tUHBRcVNzVnZYeFp6MDEyMzQ1Njc4OSsvPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='));return;?>Dq~OcCA[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|E}Js

Function Calls

fopen 1
fread 3
strtr 2
fclose 1
urldecode 1
str_replace 1
base64_decode 3

Variables

$O000O0O00 True
$O0O000O00 fgets
$O0O000O0O fgetc
$O0O00OO00 fread
$OO00O0000 2632
$OO00O00O0 namespace App\Services; use App\Models\Order; use App\Model..
$OOO000000 fg6sbehpra4co_tnd
$OOO00000O strtr
$OOO0000O0 base64_decode
$OOO000O00 fopen
$OOO0O0O00 index.php

Stats

MD5 de333395263374f2506e29c65c75df37
Eval Count 3
Decode Time 85 ms