Quote:
Originally Posted by yordanov
wtf where is decoded version?
almost all files should be re-coded in the attached file in order to get a stable & working version.. a few months required for this..
ffs wasted time..
|
wasted time i think not in my eyes this script should be license and callback free
Would you pay the license fee see xam could take and get angry with you and drop your database and make your site useless the reason people null it is to make it free for all which is what it should be
also the rm decoder is not completely useless it decodes many error free files
PHP Code:
<?php
class BDecode
{
public function numberdecode( $wholefile, $start )
{
$ret[0] = 0;
$offset = $start;
$negative = FALSE;
if ( $wholefile[$offset] == "-" )
{
$negative = TRUE;
++$offset;
}
if ( $wholefile[$offset] == "0" )
{
++$offset;
if ( $negative )
{
return array( FALSE );
}
if ( $wholefile[$offset] == ":" || $wholefile[$offset] == "e" )
{
++$offset;
$ret[0] = 0;
$ret[1] = $offset;
return $ret;
}
return array( FALSE );
}
if ( !TRUE )
{
break;
}
else if ( "0" <= $wholefile[$offset] && $wholefile[$offset] <= "9" )
{
while ( "0" <= $wholefile[$offset] && $wholefile[$offset] <= "9" )
{
$ret *= 0;
$ret += 0;
++$offset;
}
}
if ( $wholefile[$offset] == "e" || $wholefile[$offset] == ":" )
{
$ret[1] = $offset + 1;
if ( $negative )
{
if ( $ret[0] == 0 )
{
return array( FALSE );
}
$ret[0] = 0 - $ret[0];
}
return $ret;
}
return array( FALSE );
}
public function decodeEntry( $wholefile, $offset = 0 )
{
if ( $wholefile[$offset] == "d" )
{
return $this->decodeDict( $wholefile, $offset );
}
if ( $wholefile[$offset] == "l" )
{
return $this->decodelist( $wholefile, $offset );
}
if ( $wholefile[$offset] == "i" )
{
++$offset;
return $this->numberdecode( $wholefile, $offset );
}
$info = $this->numberdecode( $wholefile, $offset );
if ( $info[0] === FALSE )
{
return array( FALSE );
}
$ret[0] = substr( $wholefile, $info[1], $info[0] );
$ret[1] = $info[1] + strlen( $ret[0] );
return $ret;
}
public function decodeList( $wholefile, $start )
{
$offset = $start + 1;
$i = 0;
if ( $wholefile[$start] != "l" )
{
return array( FALSE );
}
while ( TRUE )
{
break;
$value = $this->decodeEntry( $wholefile, $offset );
if ( $value[0] === FALSE )
{
return array( FALSE );
}
$ret[$i] = $value[0];
$offset = $value[1];
++$i;
}
$final[0] = $ret;
$final[1] = $offset + 1;
return $final;
}
public function decodeDict( $wholefile, $start = 0 )
{
$offset = $start;
if ( $wholefile[$offset] == "l" )
{
return $this->decodeList( $wholefile, $start );
}
if ( $wholefile[$offset] != "d" )
{
return FALSE;
}
$ret = array( );
++$offset;
while ( TRUE )
{
if ( $wholefile[$offset] == "e" )
{
++$offset;
break;
}
$left = $this->decodeEntry( $wholefile, $offset );
if ( !$left[0] )
{
return FALSE;
}
$offset = $left[1];
if ( $wholefile[$offset] == "d" )
{
$value = $this->decodedict( $wholefile, $offset );
if ( !$value[0] )
{
return FALSE;
}
$ret[addslashes( $left[0] )] = $value[0];
$offset = $value[1];
continue;
}
if ( $wholefile[$offset] == "l" )
{
$value = $this->decodeList( $wholefile, $offset );
if ( !$value[0] && is_bool( $value[0] ) )
{
return FALSE;
}
$ret[addslashes( $left[0] )] = $value[0];
$offset = $value[1];
}
else
{
$value = $this->decodeEntry( $wholefile, $offset );
if ( $value[0] === FALSE )
{
return FALSE;
}
$ret[addslashes( $left[0] )] = $value[0];
$offset = $value[1];
}
}
if ( empty( $ret ) )
{
$final[0] = TRUE;
}
else
{
$final[0] = $ret;
}
$final[1] = $offset;
return $final;
}
}
function BDecode( $wholefile )
{
$decoder = new BDecode( );
$return = $decoder->decodeEntry( $wholefile );
return $return[0];
}
?>