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 /* This file is protected by copyright law and provided under license. Reverse engin..

Decoded Output download

$O000O0O00=$OOO000O00($OOO0O0O00,'rb');$O0O00OO00($O000O0O00,0x4f9);$OO00O00O0=$OOO0000O0($OOO00000O($O0O00OO00($O000O0O00,0x17c),'AT4zyXot3jFlfrQiKk8LUdNashuq+ZSx6DvmHPe0EYOWJV/GI52c7R9MwgCnBp1b=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'));eval($OO00O00O0);$OO00O00O0=str_replace('__FILE__',"'".$OOO0O0O00."'",$OOO0000O0($OOO00000O($O0O00OO00($O000O0O00,$OO00O0000),'AT4zyXot3jFlfrQiKk8LUdNashuq+ZSx6DvmHPe0EYOWJV/GI52c7R9MwgCnBp1b=','ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')));fclose($O000O0O00);eval($OO00O00O0);
class youtube {
private $_ci;
public function __construct()
{
$this->_ci =&get_instance();
$this->_ci->load->library('html_parser');
$this->_ci->load->library('curl');
$proxy_list = false;
$proxy_link = $this->_ci->settings->get_setting('yt_proxy_link');
if ( $proxy_link ) @$proxy_list = file_get_contents($proxy_link);
if ( !$proxy_list ) $proxy_list = $this->_ci->settings->get_setting('yt_proxy_list');
if ( $proxy_list ) $proxy_list = explode("
",$proxy_list);
if ( !$proxy_list ) $proxy_list = array();
$proxy_auth = $this->_ci->settings->get_setting('yt_proxy_auth');
if ( $proxy_list ) $this->_ci->curl->use_proxy($proxy_list,false,$proxy_auth);
}
public function search_by_api($query,$page=0,&$error=null)
{
if ( $page >100 ) return array();
for ($i = 0;$i <3;$i++) {
$url = 'http://gdata.youtube.com/feeds/api/videos?q='.urlencode($query).'&orderby=relevance&start-index='.($page*10+1).'&max-results=10&format=5&v=2';
$xml = $this->get_page($url);
$xml = simplexml_load_string($xml);
if ( isset($xml->error) ) $error = $xml->error;
if ( isset($xml->entry) ) break;
sleep(3);
}
if ( !isset($xml->entry) )
{
log_message('error','YouTube API:   ! '.$error);
return array();
}
$result = array();
foreach ($xml->entry as $entry)
{
$id = $entry->id;
$id = end( explode(':',$id) );
$video_url = 'https://www.youtube.com/watch?v='.$id;
$video = array(
'id'=>$id,
'title'=>$entry->title .'',
'url'=>$video_url
);
$result[] = $video;
}
return $result;
}
public function get_video_by_api($video_id,&$error=null)
{
$data = $this->get_page("http://gdata.youtube.com/feeds/api/videos/$video_id?v=2");
$xml = simplexml_load_string($data);
if ( isset($xml->error) ) $error = $xml->error;
$thumb = end( $this->_ci->html_parser->parse_text($data,"|thumbnail url='([^']+)default.jpg'|") );
if ( $thumb ) $thumb .= 'default.jpg';
$duration = $this->_ci->html_parser->parse_string($data,"|duration='(\d+)'|");
if ( !$duration ) $duration = 0;
$description = $this->_ci->html_parser->get_text_between($data,"<media:description type='plain'>","</media:description>",true);
$legacy_url = (string)$xml->content['src'];
$legacy_url = str_replace('http:','',$legacy_url);
$legacy_url = str_replace('&','&amp;',$legacy_url);
$embed = '
<object width="640" height="360">
	<param name="movie" value="'.$legacy_url.'"></param>
	<param name="allowFullScreen" value="true"></param>
	<param name="allowscriptaccess" value="always"></param>
	<embed src="'.$legacy_url.'" type="application/x-shockwave-flash" width="640" height="360" allowscriptaccess="always" allowfullscreen="true"></embed>
</object>			
';
$video = array(
'id'=>$video_id,
'title'=>$xml->title .'',
'description'=>$description .'',
'cnt_views'=>0,
'embed'=>$embed,
'thumb'=>$thumb,
'duration'=>$duration
);
return $video;
}
public function get_page($url,$params=false)
{
sleep(1);
$result = $this->_ci->curl->get_page($url,$params);
return $result;
}
public function get_thumb_by_embed($embed)
{
$url = $this->_ci->html_parser->get_text_between($embed,'src="','"',true);
if ( !$url ) return '';
$html = $this->get_page($url);
$thumb = $this->_ci->html_parser->get_text_between($html,'"iurl": "','"',true);
$thumb = stripslashes($thumb);
return $thumb;
}
public function add_video($queries,$target,$target_id)
{
$this->_ci = &get_instance();
$this->_ci->load->library('html_parser');
$thumb_min = $this->_ci->settings->get_setting('thumb_min');
$thumb_max = $this->_ci->settings->get_setting('thumb_max');
foreach ($queries as $query)
{
$query = trim($query);
$vids = $this->search_by_api($query);
if ( !$vids ) continue;
$vid = $vids[0];
$video = $this->get_video_by_api($vid['id']);
$thumb = download_video_thumb($video['thumb'],$thumb_min,$thumb_max);
if ( !$thumb ) $thumb = $video['thumb'];
$video['description'] = $this->_ci->html_parser->delete_links($video['description']);
$row = array(
'target'=>$target,
'target_id'=>$target_id,
'video_id'=>$video['id'],
'title'=>$video['title'],
'description'=>$video['description'],
'thumb'=>$thumb,
'duration'=>$video['duration'],
'code'=>$video['embed'],
'query'=>$query
);
$this->_ci->db->insert('video',$row);
return true;
}
return false;
}
};

Did this file decode correctly?

Original Code

<?php /* This file is protected by copyright law and provided under license. Reverse engineering of this file is strictly prohibited. */$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=0x15c0;eval($OOO0000O0('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NGY5KTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdBVDR6eVhvdDNqRmxmclFpS2s4TFVkTmFzaHVxK1pTeDZEdm1IUGUwRVlPV0pWL0dJNTJjN1I5TXdnQ25CcDFiPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='));return;?>~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alVnRPIq

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 5568
$OO00O00O0 class youtube { private $_ci; public function __construct()..
$OOO000000 fg6sbehpra4co_tnd
$OOO00000O strtr
$OOO0000O0 base64_decode
$OOO000O00 fopen
$OOO0O0O00 index.php

Stats

MD5 76362bc8d6610393297e3e0d32a5b733
Eval Count 3
Decode Time 169 ms