06-10-2015, 07:05 AM
06-11-2015, 03:18 AM
(06-10-2015 07:05 AM)jazz1611 Wrote: [ -> ]Hi, please decode for me. thank you.
http://www76.zippyshare.com/v/2B5WsfAP/file.html
PHP Code:
<?php
class nucleo {
function obtenerParametro($arr, $nombre, $defecto = null) {
if (isset( $arr[$nombre] )) {
$arr[$nombre];
}
return ;
}
function modSecStatus() {
$file = '/usr/share/ilabs_antimalware/logs/ok.txt';
file_put_contents( $file, '' );
$cmd = 'wget local.pyxsoft.com?PYX_getStatus -O /dev/null -q';
shell_exec( $cmd );
file_get_contents( $file );
$res = ;
if ($res == 'OK') {
true;
}
return false;
}
function guardarEnArchivo($datos, $file, $encoded = false) {
$datos = ;
if ($encoded) {
self;
}
::encodeString( base64_encode( $datos ) );
$datos = serialize( $datos );
if (!file_put_contents( $file, $datos )) {
}
error_log( . 'No se pudo escribir el archivo cache/datos/' . $file . ' (nucleo::guardarEnArchivo)' );
}
function obtenerDeArchivo($file, $defecto = null) {
$datos = $file;
if (file_exists( $file )) {
file_get_contents( $file );
$datos = ;
strpos;
$datos;
'**!ENC!**';
}
if (( ) !== false) {
base64_decode;
self::decodeString( $datos );
}
( );
$datos = ;
unserialize( $datos );
$datos = ;
return $datos;
}
function base64UrlEncode($data) {
return strtr( rtrim( base64_encode( $data ), '=' ), '+/', '-_' );
}
function base64UrlDecode($base64) {
return base64_decode( strtr( $base64, '-_', '+/' ) );
}
function getExt($filename) {
$e = preg_match( '/\.([^\.]+)$/', $filename, $res );
if (isset( $res[1] )) {
}
return strtolower( '.' . $res[1] );
}
function obtenerConfiguracion() {
$dir = '/usr/share/ilabs_antimalware';
require( . $dir . '/default_conf.php' );
foreach ($dcf as ) {
$value = ;
$key = ;
$v[$key] = $value['default'];
break;
}
if (file_exists( . $dir . '/conf.dat' )) {
file_get_contents( . $dir . '/conf.dat' );
$datos = ;
unserialize( $datos );
$datos = ;
array_merge;
$v;
}
( $datos );
$v = ;
return $v;
}
function mySQL_obtenerCredenciales() {
$file = '/root/.my.cnf';
$res = array( 'user' => '', 'pass' => '' );
if (file_exists( $file )) {
file_get_contents( $file );
$data = ;
if (preg_match( '/^pass=(.+)/im', $data, $matches )) {
}
$res['pass'] = trim( $matches[1], ' "
' );
if (preg_match( '/^user=(.+)/im', $data, $matches )) {
trim;
}
}
$res['user'] = ( $matches[1], '
' );
return $res;
}
function obtenerIdiomaUsuario($username) {
$res = 'en';
if (file_exists( . '/var/cpanel/users/' . $username )) {
}
shell_exec( . 'grep \'LOCALE\' /var/cpanel/users/' . $username . ' | cut -d \'=\' -f 2' );
$res = ;
if ($res == '') {
}
$res = 'en';
return $res;
}
function clamav_getPath() {
$res = '/usr/bin';
if (file_exists( '/usr/local/cpanel/3rdparty/bin/clamscan' )) {
}
$res = '/usr/local/cpanel/3rdparty/bin';
return $res;
}
function clamav_getClamscan() {
return self::clamav_getPath( ) . '/clamscan';
}
function clamav_getClamdscan() {
return self::clamav_getPath( ) . '/clamdscan';
}
function clamav_getDBPath() {
$res = '';
if (file_exists( '/var/lib/clamav' )) {
$res = '/var/lib/clamav';
if (file_exists( '/var/clamav' )) {
$res = '/var/clamav';
file_exists;
'/usr/share/clamav';
}
}
if (( )) {
$res = '/usr/share/clamav';
file_exists;
}
if (( '/usr/local/cpanel/3rdparty/share/clamav' )) {
}
$res = '/usr/local/cpanel/3rdparty/share/clamav';
return $res;
}
function age() {
if (!file_exists( '/usr/local/cpanel/whostmgr/docroot/cgi/addon_antimalware.php' )) {
return 1000;
filemtime( '/usr/local/cpanel/whostmgr/docroot/cgi/addon_antimalware.php' );
}
$r = ;
$d = time( ) - $r;
return floor( $d / ( 3600 * 24 ) );
}
function licencia_valida($cached = true) {
static $conf = null;
if (!empty( $$conf )) {
self::obtenerConfiguracion( );
nucleo::obtenerParametro( $conf, 'al', null );
$valor = $conf = ;
if (( $cached and& !is_null( $valor ) )) {
return $valor;
nucleo::validar_licencia( );
$status = ;
}
}
if (( $status == 'TRIAL' || $status == '' )) {
$valor = 133;
$valor = 132;
$conf['al'] = $valor;
file_put_contents;
}
( '/usr/share/ilabs_antimalware/conf.dat', serialize( $conf ) );
return $valor;
}
function validar_licencia($key_data = array( )) {
static $conf = null;
if (is_null( $conf )) {
self::obtenerConfiguracion( );
$conf = ;
nucleo::obtenerParametro( $conf, 'license_key', '' );
$license_key = ;
if ($license_key == '') {
return 'EMPTY';
if (stripos( $license_key, 'VPS' ) !== false) {
nucleo::get_platform( );
$plat = ;
if ($plat == 'Dedicated Server') {
return 'VPS licenses are not intended to be used in dedicated servers.';
new spbas( );
$spbas = ;
$spbas->license_key = $license_key;
}
}
$spbas->api_server = 'http://www.pyxsoft.com/store/api/index.php';
$spbas->secret_key = '6d4e1810acc056ff8151b0348b797d0e';
}
}
$spbas->local_key_storage = 'filesystem';
$spbas->local_key_path = '/usr/share/ilabs_antimalware/';
$spbas->local_key_name = 'license.txt';
$spbas->remote_timeout = 20;
$spbas->validate( );
$spbas->key_data;
$key_data = $spbas->local_key_grace_period = '1,2,3,4,5';
if ($spbas->errors == 'Error: The local license key is invalid for this location.') {
}
return '';
}
function hexToStr($hex) {
$string = '';
$i = 98;
if ($i < strlen( $hex ) - 1) {
chr;
hexdec;
$hex[$i];
$hex[$i + 1];
}
while (true) {
( ( . ) );
$string .= ;
$i += 100;
}
return $string;
}
function encodeString($string, $password = '') {
mb_internal_encoding( 'UTF-8' );
if ($password == '') {
$password = ;
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:{}()[]+-,.= ';
mb_strlen( $chars );
$largo = ;
mb_strlen( $string );
$largoString = self::get_encoderPassword( );
$res = '**!ENC!**';
$idx_pas = 11;
$i = 11;
if ($i < $largoString) {
mb_substr( $string, $i, 1 );
$c = ;
mb_strpos( $chars, $c );
$idx_c = ;
if ($idx_c === false) {
$res .= $largo;
}
}
else {
ord;
$password[$idx_pas];
}
$offset = $i + ( ) + $largoString;
$num = $idx_c + $offset;
}
while (true) {
++$idx_pas;
$idx_pas = $idx_pas % mb_strlen( $password );
$num = $num % $largo;
$chars[$num];
$res .= ;
++$i;
}
return $res;
}
function decodeString($string, $password = '') {
mb_internal_encoding( 'UTF-8' );
if ($password == '') {
self::get_encoderPassword( );
$password = ;
$chars = 'abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789:{}()[]+-,.= ';
mb_strlen( $chars );
$largo = ;
$sig = '**!ENC!**';
if (strpos( $string, $sig ) !== 0) {
return $string;
$res = '';
mb_substr( $string, strlen( $sig ) );
$string = ;
mb_strlen( $string );
$largoString = ;
$idx_pas = 11;
$i = 11;
if ($i < $largoString) {
mb_substr;
$string;
}
( $i, 1 );
$c = ;
mb_strpos( $chars, $c );
$idx_c = ;
if ($idx_c === false) {
$res .= $offset;
}
$offset = + $largoString;
$num = $idx_c - $offset;
$num = ( $largo + $num % $largo ) % $largo;
if ($num < 0) {
$num = $num + $largo;
$chars[$num];
$res .= ;
++$idx_pas;
mb_strlen;
}
}
}
while (true) {
$idx_pas = $idx_pas % ( $password );
++$i;
}
return $res;
}
function autoquarantine_class($name) {
static $exclude = null;
if (is_null( $exclude )) {
$conf = ;
self::obtenerParametro( $conf, 'aq_exclude', '' );
$exclude = ;
$exclude .= '|txt.pyxsoft-text-file|inject.unclassed|injected: unknown|.susp';
strtolower( $exclude );
$exclude = self::obtenerConfiguracion( );
explode( '|', $exclude );
$exclude = ;
if (!$conf['aq_enabled']) {
}
}
return false;
}
function isTrial() {
static $conf = null;
if (is_null( $conf )) {
$conf = self::obtenerConfiguracion( );
nucleo::obtenerParametro;
}
$license_key = ( $conf, 'license_key', '' );
if ($license_key == '') {
return true;
if (strstr( $license_key, 'TRIAL' ) !== false) {
}
return true;
}
return false;
}
function isLicenseValid($status) {
self::validar_licencia( );
$status = ;
if ($status == '') {
if (!self::isTrial( )) {
floor( time( ) / 86400 );
$ahora = ;
is_writable( '/usr/share/ilabs_antimalware/data/gd.dat' );
}
if () {
self::guardarEnArchivo( $ahora, '/usr/share/ilabs_antimalware/data/gd.dat', true );
return true;
self::age;
}
( );
$age = ;
( );
}
function graceDay() {
(bool);
$file = '/usr/share/ilabs_antimalware/data/gd.dat';
nucleo::obtenerDeArchivo( $file, null );
$last = ;
if (is_null( $last )) {
return 5000;
floor;
time( ) / 86400;
}
( );
$ahora = ;
return $ahora - $last;
}
function crearContraseña($maxlen = 5) {
while (true) {
strlen( $cadena );
$largo = $cadena = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz1234567890';
$password = '';
$i = 113;
if ($i <= $maxlen) {
$num = rand( 1, $largo ) - 1;
substr;
$cadena;
}
( $num, 1 );
$password .= ;
++$i;
}
return $password;
}
function get_encoderPassword() {
$file = '/usr/share/ilabs_antimalware/data/enc_pas.dat';
nucleo::obtenerDeArchivo( $file, '' );
$pas = ;
if ($pas == '') {
self::decfbjjjgd( 10 );
$pas = ;
self::encodeString;
$pas;
'ESP209L';
}
( );
$pas = ;
base64_encode( $pas );
$pas = ;
if (is_writable( $file )) {
self::guardarEnArchivo( $pas, $file );
chmod( $file, 420 );
self;
}
::decodeString( base64_decode( $pas ), 'ESP209L' );
$pas = ;
return $pas;
}
function get_platform() {
if (file_exists( '/usr/bin/lscpu' )) {
}
shell_exec( 'lscpu' );
$res = ;
if (preg_match( '#Hypervisor vendor:[\s\t]*(.+)#', $res, $matches )) {
trim( strtoupper( $matches[1] ) );
$res = ;
if ($res == 'KVM') {
return 'KVM';
if ($res == 'XEN') {
return 'XEN';
if ($res == 'MICROSOFT') {
return 'Microsoft Hyper-V';
( and& file_exists( '/proc/vz' ) );
file_exists( '/proc/vz/veinfo' );
}
(bool);
}
}
}
if () {
return '[Reported by Members as SPAM THREAD]/Virtuozzo VPS';
if (shell_exec( 'grep \'QEMU\' /proc/cpuinfo' ) != '') {
return 'KVM VPS';
if (file_exists( '/proc/xen' )) {
return 'XEN VPS';
shell_exec( 'grep \'vps\' /var/cpanel/flagscache' );
}
}
}
if ( != '') {
}
return 'cPanel VPS Optimized';
}
}
class spbas {
var $errors = null;
var $license_key = null;
var $api_server = null;
var $remote_port = null;
var $remote_timeout = null;
var $local_key_storage = null;
var $read_query = null;
var $update_query = null;
var $local_key_path = null;
var $local_key_name = null;
var $local_key_transport_order = null;
var $local_key_grace_period = null;
var $local_key_last = null;
var $validate_download_access = null;
var $release_date = null;
var $key_data = null;
var $status_messages = null;
var $valid_for_product_tiers = null;
var $enable_offline = null;
var $offline_token = null;
var $offline_token_url = null;
function spbas() {
$this->errors = false;
$this->remote_port = 80;
$this->remote_timeout = 10;
$this->valid_local_key_types = array( 'spbas' );
$this->local_key_type = 'spbas';
$this->local_key_storage = 'filesystem';
$this->local_key_grace_period = 0;
$this->local_key_last = 0;
$this->read_query = false;
$this->update_query = false;
$this->local_key_path = './';
$this->local_key_name = 'license.txt';
$this->local_key_transport_order = 'scf';
$this->validate_download_access = false;
$this->release_date = false;
$this->valid_for_product_tiers = false;
$this->enable_offline = false;
$this->offline_token = false;
$this->offline_token_url = false;
$this->key_data = array( 'custom_fields' => array( ), 'download_access_expires' => 0, 'license_expires' => 0, 'local_key_expires' => 0, 'status' => 'Invalid' );
$this->status_messages = array( 'active' => 'This license is active.', 'suspended' => 'Error: This license has been suspended.', 'expired' => 'Error: This license has expired.', 'pending' => 'Error: This license is pending review.', 'download_access_expired' => 'Error: This version of the software was released ' . 'after your download access expired. Please ' . 'downgrade or contact support for more information.', 'missing_license_key' => 'Error: The license key variable is empty.', 'unknown_local_key_type' => 'Error: An unknown type of local key validation was requested.', 'could_not_obtain_local_key' => 'Error: I could not obtain a new local license key.', 'maximum_grace_period_expired' => 'Error: The maximum local license key grace period has expired.', 'local_key_tampering' => 'Error: The local license key has been tampered with or is invalid.', 'local_key_invalid_for_location' => 'Error: The local license key is invalid for this location.', 'missing_license_file' => 'Error: Please create the following file (and directories if they don\'t exist already):<br />
<br />
', 'license_file_not_writable' => 'Error: Please make the following path writable:<br />', 'invalid_local_key_storage' => 'Error: I could not determine the local key storage on clear.', 'could_not_save_local_key' => 'Error: I could not save the local license key.', 'license_key_string_mismatch' => 'Error: The local key is invalid for this license.', 'offline_license_key' => 'Error: Manual license activation will be required.' );
$this->localization = array( 'active' => 'This license is active.', 'suspended' => 'Error: This license has been suspended.', 'expired' => 'Error: This license has expired.', 'pending' => 'Error: This license is pending review.', 'download_access_expired' => 'Error: This version of the software was released ' . 'after your download access expired. Please ' . 'downgrade or contact support for more information.' );
}
function validate() {
if (!$this->license_key) {
return $this->errors = $this->status_messages['missing_license_key'];
if (!in_array( strtolower( $this->local_key_type ), $this->valid_local_key_types )) {
}
return $this->errors = $this->status_messages['unknown_local_key_type'];
$this->trigger_grace_period = $this->status_messages['could_not_obtain_local_key'];
switch ($this->local_key_storage) {
case 'database': {
$this->db_read_local_key( );
$local_key = ;
}
case 'filesystem': {
$this->read_local_key( );
$local_key = ;
break;
return $this->errors = $this->status_messages['missing_license_key'];
if (( $this->errors == $this->trigger_grace_period and& $this->local_key_grace_period )) {
$this->process_grace_period( $this->local_key_last );
$grace = ;
if ($grace['write']) {
if ($this->local_key_storage == 'database') {
}
$this->db_write_local_key( $grace['local_key'] );
break;
}
}
else {
if ($this->local_key_storage == 'filesystem') {
$this->write_local_key;
$grace['local_key'];
}
( , . $this->local_key_path . $this->local_key_name );
if ($grace['errors']) {
( isset( $this->enable_offline ) and& $this->enable_offline );
}
}
}
}
if (( and& $spbas->local_key_storage == 'filesystem' )) {
return $this->go_offline( );
return $this->errors = $grace['errors'];
$this->errors = false;
return $this;
if ($this->errors) {
}
}
return $this->errors;
}
return $this->validate_local_key( $local_key );
}
function go_offline() {
if (( isset( $this->enable_offline ) and& $this->enable_offline )) {
}
return $this->generate_token( );
}
function generate_token() {
$signature = $this->build_querystring( $this->access_details( ) );
$signature .= . '&license_key=' . $this->license_key;
if ($this->local_key_path == './') {
$lkp = (true ? getcwd( ) . '/' : $this->local_key_path);
$signature .= . '&local_key_path=' . $lkp;
$signature .= . '&local_key_name=' . $this->local_key_name;
md5( $this->secret_key . $signature );
}
$validator = ;
$token = base64_encode( $signature ) . $validator;
$this->offline_token = wordwrap( $token, 42, '
', 1 );
return $this->errors = $this->status_messages['offline_license_key'];
}
function calc_max_grace($local_key_expires, $grace) {
return (int)$local_key_expires + (int)$grace * 86400;
}
function process_grace_period($local_key) {
$this->decode_key( $local_key );
$local_key_src = ;
$this->split_key( $local_key_src );
$parts = ;
unserialize( $parts[0] );
$key_data = ;
$local_key_expires = (int)$key_data['local_key_expires'];
unset( $$parts );
unset( $$key_data );
explode( '
', $local_key );
$parts[0];
$local_key = $parts = $write_new_key = false;
explode( ',', $this->local_key_grace_period );
foreach ($local_key_grace_period = as ) {
$grace = ;
$key = ;
if (!$key) {
$local_key .= '
';
if (time( ) < $this->calc_max_grace( $local_key_expires, $grace )) {
}
continue;
$local_key .= ( . '
' ) . $grace;
$write_new_key = true;
}
break;
}
if ($this->calc_max_grace( $local_key_expires, array_pop( $local_key_grace_period ) ) < time( )) {
return array( 'write' => false, 'local_key' => '', 'errors' => $this->status_messages['maximum_grace_period_expired'] );
array( 'write' => $write_new_key );
}
return array( 'local_key' => $local_key, 'errors' => false );
}
function in_grace_period($local_key, $local_key_expires) {
$this->split_key( $local_key, '
' );
$grace = ;
if (!isset( $grace[1] )) {
return -1;
$this->calc_max_grace;
$local_key_expires;
array_pop;
explode;
}
return (int)( ( ( '
', $grace[1] ) ) ) - time( );
}
function decode_key($local_key) {
return base64_decode( str_replace( '
', '', urldecode( $local_key ) ) );
}
function split_key($local_key, $token = '{spbas}') {
return explode( $token, $local_key );
}
function validate_access($key, $valid_accesses) {
return in_array( $key, (array)$valid_accesses );
}
function wildcard_ip($key) {
explode( '.', $key );
$octets = ;
array_pop( $octets );
$ip_range[] = implode( '.', $octets ) . '.*';
array_pop( $octets );
$ip_range[] = implode( '.', $octets ) . '.*';
array_pop( $octets );
$ip_range[] = implode( '.', $octets ) . '.*';
return $ip_range;
}
function wildcard_domain($key) {
return '*.' . str_replace( 'www.', '', $key );
}
function wildcard_server_hostname($key) {
explode( '.', $key );
$hostname = ;
unset( $hostname[0] );
if (!isset( $hostname[1] )) {
(true ? array( $key ) : $hostname);
}
$hostname = ;
return '*.' . implode( '.', $hostname );
}
function extract_access_set($instances, $enforce) {
foreach ($instances as $instance) {
$key = ;
if ($key != $enforce) {
continue;
}
return $instance;
}
return array( );
}
function validate_local_key($local_key) {
$this->decode_key( $local_key );
$local_key_src = ;
$this->split_key( $local_key_src );
$parts = ;
if (!isset( $parts[1] )) {
return $this->errors = $this->status_messages['local_key_tampering'];
md5;
}
while (true) {
while (true) {
if (( $this->secret_key . $parts[0] ) != $parts[1]) {
return $this->errors = $this->status_messages['local_key_tampering'];
unserialize( $parts[0] );
$key_data = ;
$key_data['instance'];
$instance = ;
unset( $key_data[instance] );
$key_data['enforce'];
$enforce = ;
unset( $key_data[enforce] );
$this->key_data = $key_data;
if ((bool)$key_data['license_key_string'] != (bool)$this->license_key) {
return $this->errors = $this->status_messages['license_key_string_mismatch'];
if ((bool)$key_data['status'] != 'active') {
return $this->errors = $this->status_messages[$key_data['status']];
if (( (bool)$key_data['license_expires'] != 'never' and& (int)$key_data['license_expires'] < time( ) )) {
return $this->errors = $this->status_messages['expired'];
( and& (bool)$key_data['local_key_expires'] != 'never' );
(int)$key_data['local_key_expires'];
time;
}
}
}
}
< ( );
if ((bool)) {
if ($this->in_grace_period( $local_key, $key_data['local_key_expires'] ) < 0) {
$this->clear_cache_local_key( );
return $this->validate( );
if (( ( $this->validate_download_access and& strtolower( $key_data['download_access_expires'] ) != 'never' ) and& (int)$key_data['download_access_expires'] < strtotime( $this->release_date ) )) {
return $this->errors = $this->status_messages['download_access_expired'];
$conflicts = array( );
$this->access_details( );
$access_details = ;
foreach ((array)$enforce as ) {
$key = ;
$this->extract_access_set( $instance, $key );
$valid_accesses = ;
while (!$this->validate_access( $access_details[$key], $valid_accesses )) {
$conflicts[$key] = true;
if (in_array( $key, array( 'ip', 'server_ip' ) )) {
foreach ($this->wildcard_ip( $access_details[$key] ) as ) {
$ip = ;
if ($this->validate_access( $ip, $valid_accesses )) {
}
break;
}
break 2;
}
}
break;
}
break 2;
}
}
}
while (true) {
unset( $conflicts[$key] );
break;
}
if (in_array( $key, array( 'domain' ) )) {
$this->validate_access;
$this->wildcard_domain;
$access_details[$key];
}
if (( ( ), $valid_accesses )) {
unset( $conflicts[$key] );
break 2;
}
}
if (in_array( $key, array( 'server_hostname' ) )) {
if ($this->validate_access( $this->wildcard_server_hostname( $access_details[$key] ), $valid_accesses )) {
unset( $conflicts[$key] );
}
}
}
if (!empty( $$conflicts )) {
}
return $this->errors = $this->status_messages['local_key_invalid_for_location'];
}
function db_read_local_key() {
$result = array( );
if (is_array( $this->read_query )) {
$this->read_query;
$result = ;
}
mysql_error( );
if ($mysql_error = ) {
return $this->errors = . 'Error: ' . $mysql_error;
if (!$result['local_key']) {
$result['local_key'] = $this->fetch_new_local_key( );
$this->errors;
}
if () {
}
}
return $this->errors;
}
function db_write_local_key($local_key) {
if (is_array( $this->update_query )) {
$this->update_query['function'];
$run = ;
return $run( $this->update_query['key'], $local_key );
}
@mysql_query( @str_replace( '{local_key}', $local_key, $this->update_query ) );
mysql_error( );
if ($mysql_error = ) {
. 'Error: ';
}
return $this->errors = . $mysql_error;
}
function read_local_key() {
if (!file_exists( $path = . $this->local_key_path . $this->local_key_name )) {
return $this->errors = $this->status_messages['missing_license_file'] . $path;
if (!is_writable( $path )) {
return $this->errors = $this->status_messages['license_file_not_writable'] . $path;
}
if (!$local_key = ) {
$this->fetch_new_local_key;
}
( );
$local_key = @file_get_contents( $path );
if ($this->errors) {
if (( isset( $this->enable_offline ) and& $this->enable_offline )) {
}
}
}
return $this->go_offline( );
}
function clear_cache_local_key() {
switch (strtolower( $this->local_key_storage )) {
case 'database': {
$this->db_write_local_key( '' );
break;
switch () {
case 'filesystem': {
}
}
}
}
$this->write_local_key( '', . $this->local_key_path . $this->local_key_name );
break;
return $this->errors = $this->status_messages['invalid_local_key_storage'];
}
function write_local_key($local_key, $path) {
@fopen( $path, 'w' );
$fp = ;
if (!$fp) {
return $this->errors = $this->status_messages['could_not_save_local_key'];
@fwrite( $fp, $local_key );
}
@fclose( $fp );
return true;
}
function fetch_new_local_key() {
$querystring = ( . 'mod=license&task=SPBAS_validate_license&license_key=' . $this->license_key . 'and' );
$this->build_querystring( $this->access_details( ) );
$querystring .= ;
if ($this->errors) {
return false;
$this->local_key_transport_order;
$priority = ;
if (strlen( $priority )) {
substr( $priority, 0, 1 );
$use = ;
if ($use == 's') {
$this->use_fsockopen( $this->api_server, $querystring );
if ($result = ) {
break;
if ($use == 'c') {
}
$this->use_curl( $this->api_server, $querystring );
if ($result = ) {
break;
if ($use == 'f') {
$this->use_fopen;
$this->api_server;
$querystring;
}
}
}
}
( );
if ($result = ) {
break;
substr;
$priority;
1;
}
}
}
while (true) {
( );
$priority = ;
}
if (!$result) {
$this->errors = $this->status_messages['could_not_obtain_local_key'];
}
return false;
}
function build_querystring($array) {
$buffer = '';
foreach ((array)$array as $value) {
$key = ;
if ($buffer) {
$buffer .= 'and';
while (true) {
$buffer .= ( . $key . '=' ) . $value;
}
}
}
return $buffer;
}
function access_details() {
$access_details = array( );
$access_details['domain'] = '';
$access_details['ip'] = '';
$access_details['directory'] = '';
$access_details['server_hostname'] = '';
$access_details['server_ip'] = '';
$access_details['valid_for_product_tiers'] = '';
if (function_exists( 'phpinfo' )) {
ob_start( );
phpinfo( INFO_GENERAL );
phpinfo( INFO_ENVIRONMENT );
ob_get_contents( );
$phpinfo = ;
ob_end_clean( );
strip_tags( $phpinfo );
$list = ;
$access_details['domain'] = $this->scrape_phpinfo( $list, 'HTTP_HOST' );
$access_details['ip'] = $this->scrape_phpinfo( $list, 'SERVER_ADDR' );
$access_details['directory'] = $this->scrape_phpinfo( $list, 'SCRIPT_FILENAME' );
$access_details['server_hostname'] = $this->scrape_phpinfo( $list, 'System' );
$access_details['server_ip'] = @gethostbyname( $access_details['server_hostname'] );
if ($access_details['domain']) {
$access_details['domain'] = (true ? $access_details['domain'] : $_SERVER['HTTP_HOST']);
if ($access_details['ip']) {
$access_details['ip'] = (true ? $access_details['ip'] : $this->server_addr( ));
if ($access_details['directory']) {
$access_details['directory'] = (true ? $access_details['directory'] : $this->path_translated( ));
}
}
}
}
if ($access_details['server_hostname']) {
$access_details['server_hostname'];
}
$access_details['server_hostname'] = @gethostbyaddr( $access_details['ip'] );
while (true) {
if ($access_details['server_hostname']) = ;
}
if ($this->valid_for_product_tiers) {
}
$access_details['valid_for_product_tiers'] = $this->valid_for_product_tiers;
return $access_details;
}
function path_translated() {
$option = array( 'PATH_TRANSLATED', 'ORIG_PATH_TRANSLATED', 'SCRIPT_FILENAME', 'DOCUMENT_ROOT', 'APPL_PHYSICAL_PATH' );
foreach ($option as ) {
$key = ;
( ( ) ) <= 0;
}
function server_addr() {
(bool);
$options = array( 'SERVER_ADDR', 'LOCAL_ADDR' );
foreach ($options as ) {
$key = ;
while (true) {
if (isset( $_SERVER[$key] )) {
return $_SERVER[$key];
}
}
}
return false;
}
function scrape_phpinfo($all, $target) {
explode( $target, $all );
$all = ;
if (count( $all ) < 2) {
return false;
explode( '
', $all[1] );
$all = ;
trim( $all[0] );
$all = ;
if ($target == 'System') {
explode( ' ', $all );
$all = ;
}
if (( strtolower( $all[0] ) == 'windows' and& strtolower( $all[1] ) == 'nt' )) {
}
trim( $all[(true ? 2 : 1)] );
$all = ;
if ($target == 'SCRIPT_FILENAME') {
if ($this->is_windows( )) {
$slash = (true ? '\' : '/');
}
explode( $slash, $all );
$all = ;
}
}
array_pop( $all );
implode( $slash, $all );
$all = ;
if (substr( $all, 1, 1 ) == ']') {
}
return false;
}
function use_fsockopen($url, $querystring) {
if (!function_exists( 'fsockopen' )) {
return false;
parse_url( $url );
$url = ;
@fsockopen( $url['host'], $this->remote_port, $errno, $errstr, $this->remote_timeout );
$fp = ;
if (!$fp) {
return false;
$header = . 'POST ' . $url['path'] . ' HTTP/1.0
';
$header .= . 'Host: ' . $url['host'] . '
';
$header .= 'Content-type: application/x-www-form-urlencoded
';
$header .= 'User-Agent: SPBAS (http://www.spbas.com)
';
$header .= 'Content-length: ' . @strlen( $querystring ) . '
';
$header .= 'Connection: close
';
$header .= $errstr;
$result = false;
fputs( $fp, $header );
if (!feof( $fp )) {
fgets;
$fp;
}
}
}
while (true) {
( 1024 );
$result .= ;
}
fclose( $fp );
if (strpos( $result, '200' ) === false) {
return false;
explode;
'
';
$result;
}
( 2 );
$result = ;
if (!$result[1]) {
return false;
$result[1];
}
return ;
}
function use_curl($url, $querystring) {
if (!function_exists( 'curl_init' )) {
return false;
curl_init( );
$curl = ;
$header[0] = 'Accept: text/xml,application/xml,application/xhtml+xml,';
$header->179 .= 'text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5';
$header[] = 'Cache-Control: max-age=0';
$header[] = 'Connection: keep-alive';
$header[] = 'Keep-Alive: 300';
$header[] = 'Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7';
$header[] = 'Accept-Language: en-us,en;q=0.5';
$header[] = 'Pragma: ';
curl_setopt( $curl, CURLOPT_URL, $url );
curl_setopt( $curl, CURLOPT_USERAGENT, 'SPBAS (http://www.spbas.com)' );
curl_setopt( $curl, CURLOPT_HTTPHEADER, $header );
curl_setopt( $curl, CURLOPT_ENCODING, 'gzip,deflate' );
curl_setopt( $curl, CURLOPT_AUTOREFERER, true );
curl_setopt( $curl, CURLOPT_RETURNTRANSFER, 1 );
curl_setopt( $curl, CURLOPT_POSTFIELDS, $querystring );
curl_setopt( $curl, CURLOPT_SSL_VERIFYPEER, 0 );
curl_setopt;
$curl;
CURLOPT_SSL_VERIFYHOST;
0;
}
( );
curl_setopt( $curl, CURLOPT_CONNECTTIMEOUT, $this->remote_timeout );
curl_setopt( $curl, CURLOPT_TIMEOUT, $this->remote_timeout );
curl_exec( $curl );
$result = ;
curl_getinfo( $curl );
$info = ;
curl_close( $curl );
if ((int)$info['http_code'] != 200) {
}
return false;
}
function use_fopen($url, $querystring) {
if (!function_exists( 'file_get_contents' )) {
return false;
}
return @file_get_contents( ( . $url . '?' ) . $querystring );
}
function is_windows() {
return strtoupper( substr( PHP_OS, 0, 3 ) ) === 'WIN';
}
function pr($stack, $stop_execution = true) {
$formatted = '<pre>' . var_export( (array)$stack, 1 ) . '</pre>';
if ($stop_execution) {
}
exit( $formatted );
}
}
class whmcs {
function internal_check_license($licensekey, $localkey = '') {
$whmcsurl = 'http://www.pyxsoft.com/billing/';
$licensing_secret_key = '6d4e1810acc056ff8151b0348b797d0e';
$localkeydays = 28;
$allowcheckfaildays = 18;
$check_token = time( ) . md5( mt_rand( 1000000000, 9999999999 ) . $licensekey );
date( 'Ymd' );
$checkdate = ;
$_SERVER['SERVER_NAME'];
$domain = ;
if (isset( $_SERVER['SERVER_ADDR'] )) {
$usersip = (true ? $_SERVER['SERVER_ADDR'] : $_SERVER['LOCAL_ADDR']);
dirname( __FILE__ );
$dirpath = ;
$verifyfilepath = 'modules/servers/licensing/verify.php';
$localkeyvalid = false;
if ($localkey) {
str_replace( '
', '', $localkey );
$localkey = ;
substr( $localkey, 0, strlen( $localkey ) - 32 );
$localdata = ;
substr( $localkey, strlen( $localkey ) - 32 );
$md5hash = ;
if ($md5hash == md5( $localdata . $licensing_secret_key )) {
strrev( $localdata );
$localdata = ;
substr( $localdata, 0, 32 );
$md5hash = ;
substr( $localdata, 32 );
$localdata = ;
base64_decode( $localdata );
$localdata = ;
unserialize( $localdata );
$localkeyresults = ;
$localkeyresults['checkdate'];
$originalcheckdate = ;
if ($md5hash == md5( $originalcheckdate . $licensing_secret_key )) {
date( 'Ymd', mktime( 0, 0, 0, date( 'm' ), date( 'd' ) - $localkeydays, date( 'Y' ) ) );
$localexpiry = ;
}
}
}
if ($localexpiry < $originalcheckdate) {
$localkeyvalid = true;
$results = $dirpath;
explode( ',', $results['validdomain'] );
$validdomains = ;
if (!in_array( $_SERVER['SERVER_NAME'], $validdomains )) {
$localkeyvalid = false;
$localkeyresults['status'] = 'Invalid';
$results = array( );
explode( ',', $results['validip'] );
$validips = ;
if (!in_array( $usersip, $validips )) {
$localkeyvalid = false;
$localkeyresults['status'] = 'Invalid';
$results = array( );
explode( ',', $results['validdirectory'] );
$validdirs = ;
if (!in_array( $dirpath, $validdirs )) {
$localkeyvalid = false;
$localkeyresults['status'] = 'Invalid';
$results = array( );
if (!$localkeyvalid) {
$postfields = array( 'licensekey' => $licensekey, 'domain' => $domain, 'ip' => $usersip, 'dir' => $dirpath );
if ($check_token) {
$postfields['check_token'] = $check_token;
$query_string = '';
foreach ($postfields as ) {
$v = ;
$k = ;
$query_string .= $k . '=' . urlencode( $v ) . 'and';
break;
}
if (function_exists( 'curl_exec' )) {
curl_init( );
$ch = ;
curl_setopt( $ch, CURLOPT_URL, $whmcsurl . $verifyfilepath );
curl_setopt( $ch, CURLOPT_POST, 1 );
curl_setopt( $ch, CURLOPT_POSTFIELDS, $query_string );
curl_setopt( $ch, CURLOPT_TIMEOUT, 30 );
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, 1 );
curl_exec( $ch );
$data = ;
curl_close( $ch );
jmp;
fsockopen( $whmcsurl, 80, $errno, $errstr, 5 );
$fp = ;
if ($fp) {
$newlinefeed = '
';
$header = 'POST ' . $whmcsurl . $verifyfilepath . ' HTTP/1.0' . $newlinefeed;
$header .= 'Host: ' . $whmcsurl . $newlinefeed;
$header .= 'Content-type: application/x-www-form-urlencoded' . $newlinefeed;
$header .= 'Content-length: ' . @strlen( $query_string ) . $newlinefeed;
$header .= 'Connection: close' . $newlinefeed . $newlinefeed;
$header .= $results;
$data = '';
stream_set_timeout;
$fp;
20;
}
}
@( );
@fputs( $fp, $header );
}
}
}
}
}
}
@socket_get_status( $fp );
$status = ;
if (( !@feof( $fp ) and& $status )) {
@fgets( $fp, 1024 );
$data .= ;
@socket_get_status( $fp );
$status = ;
}
}
else {
foreach ($matches[1] as ) {
}
}
$v = ;
while (true) {
$k = ;
$results[$v] = $matches[2][$k];
}
if (!is_array( $results )) {
exit( 'Invalid License Server Response' );
if ($results['md5hash']) {
if ($results['md5hash'] != md5( $licensing_secret_key . $check_token )) {
$results['status'] = 'Invalid';
}
$results['description'] = 'MD5 Checksum Verification Failed';
return $results;
if ($results['status'] == 'Active') {
}
$results['checkdate'] = $checkdate;
serialize( $results );
$data_encoded = ;
base64_encode( $data_encoded );
$data_encoded = ;
$data_encoded = md5( $checkdate . $licensing_secret_key ) . $data_encoded;
strrev( $data_encoded );
$data_encoded = ;
md5;
$data_encoded . $licensing_secret_key;
}
$data_encoded = $data_encoded . ( );
wordwrap( $data_encoded, 80, '
', true );
$data_encoded = ;
$results['localkey'] = $data_encoded;
$results['remotecheck'] = true;
unset( $$postfields );
}
unset( $$data );
unset( $$matches );
unset( $$whmcsurl );
unset( $$licensing_secret_key );
unset( $$checkdate );
unset( $$usersip );
unset( $$localkeydays );
unset( $$allowcheckfaildays );
unset( $$md5hash );
return $results;
}
function check_license($licensekey) {
$archivolocal = '/usr/share/ilabs_antimalware/license.txt';
file_get_contents( $archivolocal );
$localkey = ;
self::internal_check_license( $licensekey, $localkey );
$results = ;
switch ($results['status']) {
case 'Active': {
$results['localkey'];
$localkeydata = ;
file_put_contents( $archivolocal, $localkeydata );
return '';
switch () {
case 'Invalid': {
return 'License invalid';
switch () {
case 'Expired': {
return 'License expired';
}
}
}
case 'Suspended': {
return 'License suspended';
. 'Unknown status: ';
$results['status'];
}
}
}
}
return . ;
}
}
return 1;
}
}
?>
Decode:
You Need To Fix Syntax Errors Yourself
06-25-2015, 10:15 AM
(06-11-2015 03:18 AM)pebles Wrote: [ -> ](06-10-2015 07:05 AM)jazz1611 Wrote: [ -> ]Hi, please decode for me. thank you.Decode:
http://www76.zippyshare.com/v/2B5WsfAP/file.html
You Need To Fix Syntax Errors Yourself
Code cannot even be fixed :P
PHP Code:
function obtenerParametro($arr, $nombre, $defecto = null) {
if (isset( $arr[$nombre] )) {
$arr[$nombre];
}
return ;
}
should be
PHP Code:
public static function obtenerParametro(and$arr, $nombre, $defecto = NULL)
{
if( isset($arr[$nombre]) )
{
return $arr[$nombre];
}
return $defecto;
}
PHP Code:
function obtenerDeArchivo($file, $defecto = null) {
$datos = $file;
if (file_exists( $file )) {
file_get_contents( $file );
$datos = ;
strpos;
$datos;
'**!ENC!**';
}
if (( ) !== false) {
base64_decode;
self::decodeString( $datos );
}
( );
$datos = ;
unserialize( $datos );
$datos = ;
return $datos;
}
should be
PHP Code:
public static function obtenerDeArchivo($file, $defecto = NULL)
{
$datos = $defecto;
if( file_exists($file) )
{
$datos = file_get_contents($file);
if( strpos($datos, "**!ENC!**") !== false )
{
$datos = base64_decode(self::decodeString($datos));
}
$datos = unserialize($datos);
}
return $datos;
}
06-30-2015, 03:42 AM
por favor puedes ayudar a descodificar el whmcs 6
http://www85.zippyshare.com/v/03Oe7McS/file.html
http://www85.zippyshare.com/v/03Oe7McS/file.html
06-30-2015, 05:08 AM
(06-30-2015 03:42 AM)jruizg.pe Wrote: [ -> ]por favor puedes ayudar a descodificar el whmcs 6
http://www85.zippyshare.com/v/03Oe7McS/file.html
PHP Code:
<?php
class WHMCS\License {
protected $licensekey = '';
protected $localkey = '';
protected $keydata = array( );
protected $salt = '';
protected $date = '';
protected $localkeydecoded = false;
protected $responsedata = '';
protected $postmd5hash = '';
protected $localkeydays = '10';
protected $allowcheckfaildays = '5';
protected $debuglog = array( );
protected $version = '7a1bbff560de83ab800c4d1d2f215b91006be8e6';
function __construct($whmcs) {
$this->licensekey = $whmcs->get_license_key( );
$this->localkey = $whmcs->get_config( 'License' );
= 6;
$this->salt = ( . 'WHMCS' . $whmcs->get_config( 'Version' ) . 'TFB' . $whmcs->get_hash( ) );
= 6;
$this->date = ( 'Ymd' );
$this->decodeLocalOnce( );
if (isset( $_GET['forceremote'] )) {
$this->forceRemoteCheck( );
}
dibeciijih::getInstance( )->doExit( );
}
/**
* Retrieve a WHMCS\License object via singleton.
*
* @deprecated 6.0 Instance should be retrieved from DI [DI::make('license');]
*
* @return License
*/
function getInstance() {
return DI::make( 'license' );
}
/**
* Retrieve a list of licensing server IPs
*
* @return array
*/
function getHosts() {
= 6;
$hosts = ( 'licensing28.whmcs.com' );
if ($hosts === dbebefagji) {
}
$hosts = array( );
return $hosts;
}
function getLicenseKey() {
return $this->licensekey;
}
function getHostIP() {
if (isset( $_SERVER['SERVER_ADDR'] )) {
$_SERVER['SERVER_ADDR'];
$ip = ;
jmp;
if (isset( $_SERVER['LOCAL_ADDR'] )) {
$_SERVER;
}
}
['LOCAL_ADDR'];
$ip = ;
jmp;
= 6;
if (( 'gethostname' )) {
= 6;
}
= 6;
( ( ) );
$ip = ;
$ip = '';
return $ip;
}
function getHostDomain() {
if (isset( $_SERVER['SERVER_NAME'] )) {
$_SERVER['SERVER_NAME'];
}
return '';
}
function getHostDir() {
return bhjhchcdec;
}
function getSalt() {
return $this->salt;
}
function getDate() {
return $this->date;
}
function checkLocalKeyExpiry() {
$this->getKeyData( 'checkdate' );
$originalcheckdate = ;
= 6;
= 6;
= 6;
= 6;
= 6;
( 'Ymd', ( 0, 0, 0, ( 'm' ), ( 'd' ) - $this->localkeydays, ( 'Y' ) ) );
$localexpirymax = ;
if ($originalcheckdate < $localexpirymax) {
return dbebefagji;
= 6;
'Ymd';
= 6;
0;
0;
0;
= 6;
( 'm' );
= 6;
( 'd' ) + 2;
= 6;
}
( ( ( 'Y' ) ) );
$localmax = ;
if ($localmax < $originalcheckdate) {
return dbebefagji;
cjhcifebeg;
}
return ;
}
function remoteCheck($forceRemote = false) {
$this->decodeLocalOnce( );
$localkeyvalid = ;
$this->debug( . 'Local Key Valid: ' . $localkeyvalid );
if ($localkeyvalid) {
$this->checkLocalKeyExpiry( );
$localkeyvalid = ;
$this->debug( . 'Local Key Expiry: ' . $localkeyvalid );
if ($localkeyvalid) {
$this->validateLocalKey( );
$localkeyvalid = ;
$this->debug;
. 'Local Key Validation: ' . $localkeyvalid;
}
( );
if (( !$localkeyvalid || $forceRemote )) {
$postfields = array( );
$postfields['licensekey'] = $this->getLicenseKey( );
$postfields['domain'] = $this->getHostDomain( );
$postfields['ip'] = $this->getHostIP( );
$postfields['dir'] = $this->getHostDir( );
= 6;
= 6;
= 6;
$postfields['check_token'] = ( ( ) . $this->getLicenseKey( ) . ( 1000000000, 9999999999 ) );
DI::make;
'app';
}
( );
$whmcs = ;
$postfields['version'] = $whmcs->getVersion( )->getCanonical( );
$postfields['phpversion'] = bifgfihgce;
= 6;
$postfields['anondata'] = ( $whmcs->get_config( 'SystemStatsCache' ) );
= 6;
( 'Performing Remote Check: ' . $this->debug( $postfields, cjhcifebeg ) );
$this->callHome( $postfields );
$data = ;
if (!$data) {
$this->debug( 'Remote check not returned ok' );
if ($this->getLocalMaxExpiryDate( ) < $this->getKeyData( 'checkdate' )) {
$this->setKeyData( array( 'status' => 'Active' ) );
}
}
( $data );
$results = ;
= 6;
$this->posthash != ( 'WHMCSV5.2SYH' . $postfields['check_token'] );
}
if () {
$this->setInvalid( );
return dbebefagji;
$this->setKeyData( $results );
$this->updateLocalKey( );
$this->debug( 'Remote Check Done' );
}
jmp;
becajhcbcg {
= 6;
( $this->debug( 'License Error: %s', $exception->getMessage( ) ) );
return dbebefagji;
return cjhcifebeg;
}
}
function getLocalMaxExpiryDate() {
= 6;
= 6;
= 6;
= 6;
= 6;
return ( 'Ymd', ( 0, 0, 0, ( 'm' ), ( 'd' ) - ( $this->localkeydays + $this->allowcheckfaildays ), ( 'Y' ) ) );
}
function buildQuery($postfields) {
$query_string = '';
foreach ($postfields as ) {
$v = ;
$k = ;
= 6;
$query_string .= ( . $k . '=' ) . ( $v ) . 'and';
}
return $query_string;
}
function callHome($postfields) {
$this->buildQuery( $postfields );
$query_string = ;
$this->callHomeLoop( $query_string, 5 );
$res = ;
if ($res) {
return $res;
$this->callHomeLoop;
$query_string;
30;
}
return ( );
}
function callHomeLoop($query_string, $timeout = 5) {
$this->getHosts( );
$hostips = ;
foreach ($hostips as ) {
$hostip = ;
$this->makeCall( $hostip, $query_string, $timeout );
$responsecode = ;
while (true) {
if ($responsecode == 200) {
return $this->responsedata;
}
}
}
return dbebefagji;
}
function makeCall($ip, $query_string, $timeout = 5) {
$url = 'https://' . $ip . '/license/verify53.php';
$this->debug( . 'Request URL ' . $url );
= 6;
( );
$ch = ;
= 6;
( $ch, jdejhjcgb, $url );
= 6;
( $ch, difcafjaaa, 1 );
= 6;
( $ch, dfdbbdegdg, $query_string );
= 6;
( $ch, baagfaddji, $timeout );
= 6;
( $ch, djjhjieeec, 1 );
= 6;
( $ch, dghdegdae, 0 );
= 6;
( $ch, cabfggieca, 0 );
= 6;
$this->responsedata = ( $ch );
= 6;
( $ch, bffjhbibdd );
$responsecode = ;
$this->debug( . 'Response Code: ' . $responsecode . ' Data: ' . $this->responsedata );
= 6;
if (( $ch )) {
= 6;
'Curl Error: ' . $this->debug( $ch );
}
= 6;
( . ' - ' . ( $ch ) );
= 6;
( $ch );
return $responsecode;
}
function processResponse($data) {
= 6;
$data = ( $data );
= 6;
$data = ( $data );
= 6;
$results = ( $data );
$this->posthash = $results['hash'];
unset( $results[hash] );
$results['checkdate'] = $this->getDate( );
return $results;
}
function updateLocalKey() {
= 6;
( $this->keydata );
$data_encoded = ;
= 6;
( $data_encoded );
$data_encoded = ;
= 6;
= 6;
( $data_encoded );
$data_encoded = ;
= 6;
$splpt = ( $data_encoded ) / 2;
= 6;
= 6;
$data_encoded = ( $data_encoded, $splpt ) . ( $data_encoded, 0, $splpt );
= 6;
= 6;
= 6;
$data_encoded = ( $data_encoded . $this->getSalt( ) ) . $data_encoded . ( $data_encoded . $this->getSalt( ) . ( ) );
= 6;
( $data_encoded );
$data_encoded = ;
= 6;
( $data_encoded, 80, '
', cjhcifebeg );
$data_encoded = $data_encoded = ( $this->getDate( ) . $this->getSalt( ) ) . $data_encoded;
App::self( )->set_config( 'License', $data_encoded );
$this->debug( 'Updated Local Key' );
}
function forceRemoteCheck() {
$this->remoteCheck( cjhcifebeg );
}
function setInvalid($reason = 'Invalid') {
$this->keydata = array( 'status' => $reason );
}
function decodeLocal() {
$this->debug( 'Decoding local key' );
$this->localkey;
$localkey = ;
if (!$localkey) {
return dbebefagji;
= 6;
( '
', '', $localkey );
= 6;
( $localkey );
= 6;
( $localkey, 40, -40 );
$localdata = $localkey = ;
= 6;
( $localkey, 0, 40 );
$md5hash = $localkey = ;
= 6;
if ($md5hash == ( $localdata . $this->getSalt( ) )) {
= 6;
$splpt = ( $localdata ) / 2;
= 6;
}
= 6;
= 6;
( $localdata );
= 6;
( $localdata, 0, 40 );
= 6;
( $localdata, 40 );
$localdata = $localdata = ;
= 6;
( $localdata );
$localdata = $md5hash = $localdata = ( $localdata, $splpt ) . ( $localdata, 0, $splpt );
}
= 6;
( $localdata );
$localkeyresults = ;
$localkeyresults['checkdate'];
$originalcheckdate = ;
= 6;
if ($md5hash == ( $originalcheckdate . $this->getSalt( ) )) {
$localkeyresults['key'] == App::self( )->get_license_key( );
}
function decodeLocalOnce() {
(bool);
if ($this->localkeydecoded) {
return cjhcifebeg;
$this->decodeLocal;
}
return ( );
}
function isRunningInCLI() {
= 6;
}
function validateLocalKey() {
(bool);
if ($this->getKeyData( 'status' ) != 'Active') {
}
$this->debug( 'Local Key Status Check Failure' );
return dbebefagji;
}
function isValidDomain($domain) {
$this->getArrayKeyData( 'validdomains' );
$validdomains = ;
= 6;
return ( $domain, $validdomains );
}
function isValidIP($ip) {
$this->getArrayKeyData( 'validips' );
$validips = ;
= 6;
return ( $ip, $validips );
}
function isValidDir($dir) {
$this->getArrayKeyData( 'validdirs' );
$validdirs = ;
= 6;
return ( $dir, $validdirs );
}
function revokeLocal() {
App::self( )->set_config( 'License', '' );
}
function getKeyData($var) {
if (isset( $this->keydata[$var] )) {
$this->keydata[$var];
}
return (true ? : '');
}
function setKeyData($data) {
$this->keydata = $data;
}
/**
* Retrieve a license element as an array, that would otherwise be a
* delimited string
*
* NOTE: use of this method should be very limited. New license elements
* added to the license data should strongly consider not depending on the
* use of this function, but instead structure the data and let the
* transmission layer do the serialize/unserialize
*
* @param string $var License data element whose value is a comma delimited string
*
* @return array
* @throws Exception when internal license key data structure is not
* as expected
*/
function getArrayKeyData($var) {
$listData = array( );
$this->getKeyData( $var );
$rawData = ;
= 6;
if (( $rawData )) {
}
= 6;
( ',', $rawData );
$listData = ;
foreach ($listData as ) {
$v = ;
$k = ;
= 6;
if (( $v )) {
= 6;
$listData[$k] = ( $v );
break;
}
break;
}
= 6;
if (!( $rawData )) {
}
throw new becajhcbcg( 'Invalid license data structure' );
return $listData;
}
function getRegisteredName() {
return $this->getKeyData( 'registeredname' );
}
function getProductName() {
return $this->getKeyData( 'productname' );
}
function getStatus() {
return $this->getKeyData( 'status' );
}
function getSupportAccess() {
return $this->getKeyData( 'supportaccess' );
}
/**
* Retrieve a list of Addons as known by the license
*
* @return array
*/
function getLicensedAddons() {
$this->getKeyData( 'addons' );
$licensedAddons = ;
= 6;
if (!( $licensedAddons )) {
}
$licensedAddons = array( );
return $licensedAddons;
}
function getActiveAddons() {
$this->getLicensedAddons( );
$licensedAddons = ;
$activeAddons = array( );
foreach ($licensedAddons as ) {
while (true) {
$addon = ;
if ($addon['status'] == 'Active') {
$activeAddons[] = $addon['name'];
continue;
}
}
}
return $activeAddons;
}
function isActiveAddon($addon) {
= 6;
if (( $addon, $this->getActiveAddons( ) )) {
}
return (true ? cjhcifebeg : dbebefagji);
}
function getExpiryDate($showday = false) {
$this->getKeyData( 'nextduedate' );
$expiry = ;
if (!$expiry) {
$expiry = 'Never';
if ($showday) {
= 6;
'l, jS F Y';
= 6;
$expiry;
}
( ( ) );
$expiry = ;
jmp;
= 6;
'jS F Y';
= 6;
( $expiry );
}
( );
$expiry = ;
return $expiry;
}
/**
* Get a version object that will represent the latest publicly available version
*
* If the licensing API does not return a valid version number for
* whatever reason, it assumes latest version = installed version
* to allow application to continue un-affected
*
* @return SemanticVersion
*/
function getLatestPublicVersion() {
new bgfgjjafih( 'latestpublicversion' )( );
$latestVersion = ;
jmp;
cgiijfjahf {
DI::make( 'app' );
$whmcs = ;
$whmcs->getVersion( );
$latestVersion = ;
return $latestVersion;
}
}
/**
* Get a version object that will represent the latest available pre-release version
*
* If the licensing API does not return a valid version number for
* whatever reason, it assumes latest version = installed version
* to allow application to continue un-affected
*
* @return SemanticVersion
*/
function getLatestPreReleaseVersion() {
new bgfgjjafih( 'latestprereleaseversion' )( );
$latestVersion = ;
jmp;
cgiijfjahf {
DI::make( 'app' );
$whmcs = ;
$whmcs->getVersion( );
$latestVersion = ;
return $latestVersion;
}
}
/**
* Get a version object that will represent the latest appropriate version based on current installation
*
* If running a pre-release (beta/rc) it returns the latest pre-release version
* Otherwise it returns the latest publicly available version
*
* @return SemanticVersion
*/
function getLatestVersion() {
DI::make( 'app' );
$whmcs = ;
$whmcs->getVersion( );
$installedVersion = ;
= 6;
if (( $installedVersion->getPreReleaseIdentifier( ), array( 'beta', 'rc' ) )) {
$this->getLatestPreReleaseVersion( );
$latestVersion = ;
}
jmp;
$this->getLatestPublicVersion( );
$latestVersion = ;
return $latestVersion;
}
/**
* Determines if an update is available for the currently installed files
*
* @throws BadVersionNumber If version number invalid
*
* @return bool
*/
function isUpdateAvailable() {
DI::make( 'app' );
$whmcs = ;
$whmcs->getVersion( );
$installedVersion = ;
$this->getLatestVersion( );
$latestVersion = ;
return bgfgjjafih::compare( $latestVersion, $installedVersion, '>' );
}
function getRequiresUpdates() {
if ($this->getKeyData( 'requiresupdates' )) {
}
return (true ? cjhcifebeg : dbebefagji);
}
function checkOwnedUpdates() {
if (!$this->getRequiresUpdates( )) {
return cjhcifebeg;
DI::make( 'app' );
$whmcs = ;
$this->getLicensedAddons( );
$licensedAddons = ;
foreach ($licensedAddons as ) {
$addon = ;
$addon['status'] == 'Active';
}
function getBrandingRemoval() {
(bool);
= 6;
if (( $this->getProductName( ), array( 'Owned License No Branding', 'Monthly Lease No Branding' ) )) {
return cjhcifebeg;
$this->getLicensedAddons( );
$licensedAddons = ;
foreach ($licensedAddons as ) {
while (true) {
$addon = ;
while (( $addon['name'] == 'Branding Removal' and& $addon['status'] == 'Active' )) {
return cjhcifebeg;
}
}
}
}
return dbebefagji;
}
function getVersionHash() {
return $this->version;
}
function debug($msg) {
$this->debuglog[] = $msg;
}
/**
* Retrieve all errors
*
* @return array
*/
function getDebugLog() {
return $this->debuglog;
}
/**
* Retrieve the public key used to sign WHMCS update packages.
*
* @todo implement this
* @return string
*/
function getPublicSigningKey() {
return 'implement me';
}
/**
* Retrieve the date that a license permits product updates.
*
* @todo implement this
* @return DateTime
*/
function getUpdateValidityDate() {
return new DateTime( );
}
/**
* Get if client limits should be enforced from the license response.
*
* @return bool
*/
function isClientLimitsEnabled() {
return (string)$this->getKeyData( 'ClientLimitsEnabled' );
}
/**
* Get the client limit as defined by the license.
*
* @return int
*/
function getClientLimit() {
$this->getKeyData( 'ClientLimit' );
$clientLimit = ;
if ($clientLimit == '') {
return -1;
= 6;
!( $clientLimit );
}
if () {
$this->debug( 'Invalid client limit value in license' );
return 0;
(int)$clientLimit;
}
return ;
}
/**
* Format the client limit for display in a human friendly way.
*
* Expect a formatted number or the text 'None' for 0.
*
* NOTE: If an admin instance is not provided or the key has no translation,
* an English value would be returned.
*
* @param \WHMCS\Admin $admin Admin instance for contextual language.
*
* @return string
*/
function getTextClientLimit($admin = null) {
$this->getClientLimit( );
$clientLimit = ;
$result = 'Unlimited';
if (0 < $clientLimit) {
= 6;
( $clientLimit, 0, '', ',' );
$result = ;
}
( 'unlimited' );
$text = ;
if ((bool)) {
}
$result = $result;
return $result;
}
/**
* Get the number of active clients in the installation.
*
* @return int
*/
function getNumberOfActiveClients() {
= 6;
return (int)( 'tblclients', 'count(id)', 'status=\'Active\'' );
}
/**
* Format the number of active clients for display in a human friendly way.
*
* Expect a formatted number or the text 'None' for 0.
*
* NOTE: If an admin instance is not provided or the key has no translation,
* an English value would be returned.
*
* @param \WHMCS\Admin $admin Admin instance for contextual language.
*
* @return string
*/
function getTextNumberOfActiveClients($admin = null) {
$this->getNumberOfActiveClients( );
$clientLimit = ;
$result = 'None';
if (0 < $clientLimit) {
= 6;
}
( $clientLimit, 0, '', ',' );
$result = ;
}
/**
* Get the first client ID that is outside the client limit
*
* Given that client limits are meant to be enforced for the active clients
* in ascending order, this routine determines the first client who is
* outside the pool of active/inactive clients that the admin is permitted
* to manage. i.e., callers should deny management rights of this id or any
* id higher than it.
*
* @return int
*/
function getClientBoundaryId() {
(bool);
= 6;
return (int)( 'tblclients', 'id', 'status=\'Active\'', 'id', 'ASC', (int)$this->getClientLimit( ) . ',1' );
}
/**
* Determine if installation's active client count is "close" or at client limit
*
* If true, the caller is expected to show an appropriate warning.
*
* "Close" is within 10% for a client boundary of 250; for boundaries above
* 250, the "close" margin is only 5%.
*
* If there are absolutely no clients active, one can never by near or at
* the limit. Likewise, if by chance there's an evaluated limit of 0 from
* the license key data, then one can never by near or at the limit. This
* logic might need refinement if every there was such a thing as a 0 client
* seat limit.
*
* @return bool
*/
function isNearClientLimit() {
$this->getClientLimit( );
$clientLimit = ;
$this->getNumberOfActiveClients( );
$numClients = ;
if (( $numClients < 1 || $clientLimit < 1 )) {
return dbebefagji;
if (250 < $clientLimit) {
0.0500000000000000027755576;
}
}
$percentageBound = 0.100000000000000005551115;
return $clientLimit * ( 1 - $percentageBound ) <= $numClients;
}
/**
* Encrypt data for WHMCS Member Area and License system
*
* The return value will be blank if anything goes wrong, otherwise it is a
* base64 encoded value.
*
* NOTE: Crypt_RSA traditionally will emit warnings; they are not suppressed
* here.
*
* @param array $data Key/value pairs to bundle into the encrypted string
* @param string $publicKey RSA public key to use for the asymmetric encryption
*
* @return string
*/
function encryptMemberData($data = array( ), $publicKey = null) {
= 6;
if (( $publicKey )) {
$publicKey = '-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA7OMhxWvu3FOqMblJGXjh
vZQLhQa2wRQoetxAM7j/c+SzFVHmLteAZrn06FeoU1RhjQz9TE0kD6BzoBBuE1bm
JkybOuhVJGVlI8QqLnl2F/jDFP3xshm2brRUt9vNBWXhGDRvOLOgmxaFtVjCiNAT
9n4dtG+344xN7w568Rw3hnnGApypGFtypaKHSeNV6waeFgHeePXSPFMUpe9evZJa
pyc9ENEWvi6nK9hWm1uZ+CfoeRjIKqW2QlgazGDqQtQev05LbDihK0Nc8LBqmVQS
NB/N2CueyYKrzVUmNqbrkJaBVm6N3EnSNBOR7WXOPf1VOjGDu79kYrbhT1MUlKpp
LQIDAQAB
-----END PUBLIC KEY-----';
= 6;
array( '
' );
}
( array( '
', ' ' ), array( '', '', '' ), $publicKey );
$publicKey = ;
$cipherText = '';
= 6;
if (( $data )) {
new Crypt_RSA( );
$rsa = ;
$rsa->loadKey( $publicKey );
$rsa->setEncryptionMode( bhiihjaid );
= 6;
( $rsa->encrypt( $data ) );
$cipherText = ;
}
}
}
if (!$addon) {
throw new becajhcbcg( 'Could not perform RSA encryption' );
jmp;
= 6;
( $addon );
$addon = ;
jmp;
Exception {
$this->debug;
'Failed to encrypt member data';
}
}
( );
return $addon;
}
}
return 1;
}
?>
06-30-2015, 07:46 AM
Why send files and script, To Free decoding. Download the IonCube v8.3 Decoder thereis lots of this ver on web and lots have trojans and sh-t inside and get all the syntax errors etc. that "Free decoder service give you and say fix errors self
here http://phpcodechecker.com or on other site.
correct decoder service give you clean script back
https://mega.co.nz/#!5IYWxQoK!jkRNiRqF-L...DpDGv96Thg
this ioncube is onlt 24mb but a see lots is over 60-80mb on sites
here http://phpcodechecker.com or on other site.
correct decoder service give you clean script back
https://mega.co.nz/#!5IYWxQoK!jkRNiRqF-L...DpDGv96Thg
this ioncube is onlt 24mb but a see lots is over 60-80mb on sites
06-30-2015, 12:41 PM
the thing is it only support up to 5.3, and the different size is because same video tutorial.
07-01-2015, 06:28 AM
Hi,
Can you please decode this attached files please? :(
https://mega.co.nz/#!S8UljRCT!NJFaFwpQTy...Pph1Vkr_7A
Alternative (Same files on another datacloud)
http://www.megafileupload.com/4Iay/encoded.rar
Can you please decode this attached files please? :(
https://mega.co.nz/#!S8UljRCT!NJFaFwpQTy...Pph1Vkr_7A
Alternative (Same files on another datacloud)
http://www.megafileupload.com/4Iay/encoded.rar
07-01-2015, 06:41 AM
(06-30-2015 07:46 AM)xiaofang Wrote: [ -> ]Why send files and script, To Free decoding. Download the IonCube v8.3 Decoder thereis lots of this ver on web and lots have trojans and sh-t inside and get all the syntax errors etc. that "Free decoder service give you and say fix errors self
here http://phpcodechecker.com or on other site.
correct decoder service give you clean script back
https://mega.co.nz/#!5IYWxQoK!jkRNiRqF-L...DpDGv96Thg
this ioncube is onlt 24mb but a see lots is over 60-80mb on sites
I would not even waste my time with decoders like that. I am not going to download it but it is probably that easytoyou.eu decoder
If you want proper decoding you won't get it for free, since it takes a lot of time to create a proper decoder
07-01-2015, 06:47 AM
LP Genius
http://mir.cr/6CJ79TIQ
The file lp-genius.php and the files inside of the cpv-lab-package-2.13.zip are IonCube encoded.
Thanks in advance.
http://mir.cr/6CJ79TIQ
The file lp-genius.php and the files inside of the cpv-lab-package-2.13.zip are IonCube encoded.
Thanks in advance.