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 /* Este arquivo protegido pela lei de direitos autorais e fornecido sob licena. A e..

Decoded Output download


ini_set('display_errors','Off');
error_reporting(E_ALL);
class Functions {
var $PLSALT = "p2kd0ub0ubkwxncdi";
private $conn;
public function __construct() {
include_once 'xc_config.php';
$database = new Database();
$this->conn = $database->getConnection();
}
public function validateUser($username,$password) {
$sql = "SELECT login, password "
."FROM users "
."WHERE login='$username' "
."AND password='$password' "
."AND status=0";
$query = $this->conn->prepare($sql);
$query->bindParam(':username',$username,PDO::PARAM_STR);
$query->bindParam(':password',$password,PDO::PARAM_STR);
$query->execute();
$results = $query->fetch(PDO::FETCH_OBJ);
if ($query->rowCount() >0) {
return true;
}else {
return false;
}
}
public function getUserInfo($username,$password) {
if ($this->validateUser($username,$password)) {
$sql = "SELECT login, password, expire_billing_date as exp_date, status, enabled, is_trial, connections_number as max_connections, created as created_at "
."FROM users "
."WHERE login=:username "
."AND password=:password "
."LIMIT 1";
$query = $this->conn->prepare($sql);
$query->bindParam(':username',$username,PDO::PARAM_STR);
$query->bindParam(':password',$password,PDO::PARAM_STR);
$query->execute();
$results = $query->fetch(PDO::FETCH_OBJ);
$status = "Inactive";
$auth = 0;
if ($results->status == "0") {
$status = "Active";
$auth = 1;
$exp_date_timestamp = strtotime($results->exp_date);
$current_timestamp = time();
$time_difference = $exp_date_timestamp -$current_timestamp;
if ($time_difference <= 3 * 24 * 60 * 60) {
$message = "Aviso: Sua assinatura expirar em 3 dias.";
}else {
$message = "A Vida  Bela ";
}
}else {
$status = "Inactive";
$auth = 0;
}
$exp_date = (string)strtotime($results->exp_date);
$created_at = (string)strtotime($results->created_at);
$stream_outputs = array("m3u8","ts","rtmp","mp4");
$user_info = array(
"username"=>$results->login,
"password"=>$results->password,
"message"=>$message,
"auth"=>$auth,
"status"=>$status,
"exp_date"=>$exp_date,
"is_trial"=>$results->is_trial,
"active_cons"=>$results->max_connections,
"created_at"=>$created_at,
"max_connections"=>$results->max_connections,
"allowed_output_formats"=>$stream_outputs,
);
return $user_info;
}else {
$user_info = array(
"auth"=>0,
"status"=>"Inactive",
);
return $user_info;
}
}
public function getServerInfo() {
$sql1 = "SELECT ss.server_name, ss.http_broadcast_port, se.default_timezone "
."FROM streaming_servers ss, settings se";
$query1 = $this->conn->prepare($sql1);
$query1->execute();
$results1 = $query1->fetch(PDO::FETCH_OBJ);
$server = $_SERVER['HTTP_HOST'];
$server_info = array(
"url"=>$server,
"port"=>$results1->http_broadcast_port,
"https_port"=>"443",
"server_protocol"=>"http",
"rtmp_port"=>"25462",
"timestamp_now"=>time(),
"time_now"=>date('y-m-d H:m:s'),
"timezone"=>$results1->default_timezone
);
return $server_info;
}
public function getCategories($username,$password,$type) {
$categories = array();
if ($this->validateUser($username,$password)) {
$sql1 = "SELECT i.id, i.name, i.logo, i.status as added, cmd, i.tv_genre_id as category_id, i.xmltv_id, i.type_tv, st.type_name, st.type_key
                FROM itv i
                INNER JOIN streams_types st ON st.type_id = i.type_tv
                INNER JOIN service_in_package sip ON sip.service_id = i.id
                INNER JOIN package_in_plan pip ON pip.package_id = sip.package_id
                INNER JOIN users u ON u.tariff_plan_id = pip.plan_id
                WHERE st.type_output IN ('live', 'created_live')
                AND u.login = :username
                ORDER BY sip.order_num";
$query1 = $this->conn->prepare($sql1);
$query1->bindParam(':username',$username);
$query1->execute();
$results1 = $query1->fetchAll(PDO::FETCH_OBJ);
$categoryIds = array();
foreach ($results1 as $result) {
$categoryIds[] = $result->category_id;
}
$sql2 = "SELECT DISTINCT tg.id as category_id, tg.title as category_name "
."FROM tv_genre tg "
."WHERE tg.category_type = '$type' "
."AND tg.id IN (".implode(',',$categoryIds) .")";
$query2 = $this->conn->prepare($sql2);
$query2->execute();
$results2 = $query2->fetchAll(PDO::FETCH_OBJ);
if ($query2->rowCount() >0) {
foreach ($results2 as $result) {
$categoryName = $result->category_name;
if (stripos($categoryName,'+18') !== false &&$this->isAdultContentHidden($username)) {
continue;
}
$categories[] = array(
"category_id"=>(int) $result->category_id,
"category_name"=>$categoryName,
"parent_id"=>0
);
}
}
return $categories;
}else {
return $categories;
}
}
private function isAdultContentHidden($username) {
$sql = "SELECT adult_on FROM users WHERE login = :username";
$query = $this->conn->prepare($sql);
$query->bindParam(':username',$username,PDO::PARAM_STR);
$query->execute();
return $query->fetchColumn() == 1;
}
public function getCategoriesvod($username,$password,$type) {
$categories = array();
if ($this->validateUser($username,$password)) {
$sql = "SELECT DISTINCT vc.id as category_id, vc.categoria as category_name "
."FROM vod_categoria vc "
."INNER JOIN vod_url vu "
."ON vc.id = vu.categoria_id "
."WHERE vc.category_type='$type'";
$query = $this->conn->prepare($sql);
$query->execute();
$results = $query->fetchAll(PDO::FETCH_OBJ);
$categories = array();
if ($query->rowCount() >0) {
foreach ($results as $result) {
$categories[] = array(
"category_id"=>(int) $result->category_id,
"category_name"=>$result->category_name,
"parent_id"=>0);
}
}
return $categories;
}else {
return $categories;
}
}
public function getSeriesCategories($username,$password,$type) {
$categories1 = array();
if ($this->validateUser($username,$password)) {
$sql = "SELECT DISTINCT vc.id as category_id, vc.categoria as category_name "
."FROM vod_categoria vc "
."INNER JOIN add_episodios vu "
."ON vc.id = vu.categoria_id "
."WHERE vc.category_type='$type'";
$query = $this->conn->prepare($sql);
$query->execute();
$results = $query->fetchAll(PDO::FETCH_OBJ);
$categories1 = array();
if ($query->rowCount() >0) {
foreach ($results as $result) {
$categories1[] = array(
"category_id"=>(int) $result->category_id,
"category_name"=>$result->category_name,
"parent_id"=>0);
}
}
return $categories1;
}else {
return $categories1;
}
}
function getToken($username,$password) {
$usertoken = md5($username .$this->PLSALT .$password);
return $usertoken;
}
public function getLiveStreams($username,$password,$type) {
if ($this->validateUser($username,$password)) {
$functions = new Functions();
$usertoken = $functions->getToken($username,$password);
$server = $_SERVER['HTTP_HOST'];
$streams = array();
$sql = "SELECT i.id, i.name, i.logo, i.status as added, cmd, i.tv_genre_id as category_id, i.xmltv_id, i.type_tv, st.type_name, st.type_key
                FROM itv i
                INNER JOIN streams_types st ON st.type_id = i.type_tv
                INNER JOIN service_in_package sip ON sip.service_id = i.id
                INNER JOIN package_in_plan pip ON pip.package_id = sip.package_id
                INNER JOIN users u ON u.tariff_plan_id = pip.plan_id
                WHERE st.type_output IN ('live', 'created_live')
                AND u.login = :username
                ORDER BY sip.order_num";
$query = $this->conn->prepare($sql);
$query->bindParam(':username',$username);
$query->execute();
$results = $query->fetchAll(PDO::FETCH_OBJ);
if ($query->rowCount() >0) {
foreach ($results as $result) {
$streams[] = array(
"num"=>(int) $result->id,
"name"=>$result->name,
"stream_type"=>"live",
"stream_id"=>(int) $result->id,
"stream_icon"=>'http://'.$server .'/portal/misc/logos/320/'.$result->logo,
"epg_channel_id"=>$result->xmltv_id ?: '',
"added"=>$result->added,
"custom_sid"=>"",
"tv_archive"=>0,
"direct_source"=>$result->cmd .'?username='.$username .'&password='.$password .'&token='.$usertoken .'&ch_id='.$result->id,
"tv_archive_duration"=>0,
"category_id"=>$result->category_id,
"category_ids"=>[
(int)$result->category_id
],
"thumbnail"=>""
);
}
}
return $streams;
}else {
return false;
}
}
public function getEpg($username,$password,$stream_id) {
if ($this->validateUser($username,$password)) {
$sql = "SELECT eg.id, eg.name as titulo, eg.ch_id, eg.time as tempo, eg.time_to, eg.duration, eg.descr, eg.real_id, eg.category, eg.director, eg.actor, it.id, it.name, it.logo, it.xmltv_id "
."FROM epg eg "
."INNER JOIN itv it ON it.id = eg.ch_id "
."WHERE it.id = :stream_id";
$query = $this->conn->prepare($sql);
$query->bindParam(':stream_id',$stream_id,PDO::PARAM_INT);
$query->execute();
$results = $query->fetchAll(PDO::FETCH_OBJ);
$epg_listings = array();
if ($query->rowCount() >0) {
foreach ($results as $result) {
$titleBase64 = base64_encode($result->titulo);
$descriptionBase64 = base64_encode($result->descr);
$epg_listings[] = array(
"id"=>(int) $result->id,
"epg_id"=>0,
"channel_id"=>$result->xmltv_id,
"start"=>$result->tempo,
"end"=>$result->time_to,
"lang"=>"pt",
"title"=>$titleBase64,
"description"=>$descriptionBase64,
"start_timestamp"=>strtotime($result->tempo),
"stop_timestamp"=>strtotime($result->time_to),
"now_playing"=>0,
"has_archive"=>0
);
}
}
$epg_listing = array(
"epg_listings"=>$epg_listings,
);
return $epg_listing;
}else {
return $epg_listing;
}
}
public function getMovieStreams($username,$password,$type) {
if ($this->validateUser($username,$password)) {
$functions = new Functions();
$usertoken = $functions->getToken($username,$password);
$streams = array();
$sql = "SELECT v.id, v.nome as stream_display_name, v.ano, v.genero_id as genre, v.description as plot, v.actors as cast, v.url, v.logo_id as stream_icon, DATE(v.adicionado) as added, v.target_container_id, v.categoria_id as category_id, v.typemovie, st.type_name, st.type_key "
."FROM vod_url v "
."INNER JOIN  streams_types  st "
."ON st.type_id= v.typemovie "
."AND st.type_output='movie' ";
$query = $this->conn->prepare($sql);
$query->execute();
$results = $query->fetchAll(PDO::FETCH_OBJ);
if ($query->rowCount() >0) {
foreach ($results as $result) {
$rating = rand(5 * 10,10 * 10) / 10;
$timestamp = strtotime($result->added);
$year = trim(str_replace("ANO","",$result->ano));
$streams[] = array(
"num"=>(int) $result->id,
"name"=>$result->stream_display_name .' ('.$year .')',
"title"=>$result->stream_display_name,
"year"=>$year,
"stream_type"=>"movie",
"stream_id"=>(int) $result->id,
"stream_icon"=>$this->getLogoVod($result->stream_icon),
"rating"=>$rating,
"rating_5based"=>$rating,
"added"=>(string) $timestamp,
"plot"=>$result->plot,
"cast"=>$result->cast,
"director"=>"",
"genre"=>$this->getGenerovod($result->genre),
"release_date"=>$year,
"youtube_trailer"=>"",
"episode_run_time"=>"",
"category_id"=>$result->category_id,
"category_ids"=>[
(int)$result->category_id
],
"container_extension"=>$this->getMovieContainerName($result->target_container_id),
"custom_sid"=>"",
"direct_source"=>$result->url .'?username='.$username .'&password='.$password .'&token='.$usertoken .'&ch_id='.$result->id
);
}
}
return $streams;
}else {
return false;
}
if ($this->validateUser($username,$password)) {
}else {
return $streams;
}
}
public function getSeries($username,$password,$type) {
if ($this->validateUser($username,$password)) {
$streams = array();
$sql = "SELECT ds.id, ds.nome, ds.logo_id, DATE(ds.adicionado) as last_modified, ds.description, ds.actors, ds.ano as anoserie, ds.categoria_id as category_id, ds.genero_id as genre, ds.typeseries, st.type_name, st.type_key "
."FROM add_episodios ds "
."INNER JOIN  streams_types st "
."ON st.type_id= ds.typeseries "
."AND st.type_output='series' "
."GROUP BY ds.nome";
$query = $this->conn->prepare($sql);
$query->execute();
$results = $query->fetchAll(PDO::FETCH_OBJ);
if ($query->rowCount() >0) {
foreach ($results as $result) {
$year = trim(str_replace("ANO","",$result->anoserie));
$timestamp = strtotime($result->last_modified);
$rating = rand(5 * 10,10 * 10) / 10;
$streams[] = array(
"num"=>(int) $result->id,
"name"=>$result->nome .' ('.$year .')',
"title"=>$result->nome,
"year"=>$year,
"stream_type"=>"series",
"series_id"=>(int) $result->id,
"cover"=>$this->getLogoVod($result->logo_id),
"plot"=>$result->description,
"cast"=>$result->actors,
"director"=>"",
"genre"=>$this->getGenerovod($result->genre),
"release_date"=>$year,
"releaseDate"=>$year,
"last_modified"=>(string) $timestamp,
"rating"=>(string)$rating,
"rating_5based"=>$rating,
"backdrop_path"=>array(
$this->getLogoVod($result->logo_id)
),
"youtube_trailer"=>"",
"episode_run_time"=>"",
"category_id"=>$result->category_id,
"category_ids"=>array(
(int)$result->category_id
)
);
}
}
return $streams;
}else {
return false;
}
}
public function getSeriesInfo($username,$password,$series_id) {
if ($this->validateUser($username,$password)) {
$functions = new Functions();
$usertoken = $functions->getToken($username,$password);
$sql = "SELECT id, nome, logo_id as movie_image, ano, categoria_id, url, n_episodio, n_temporada, DATE(adicionado) as last_modified, genero_id as genre, description as plot, actors as cast, time FROM add_episodios WHERE nome = (SELECT nome FROM add_episodios WHERE id = '$series_id')";
$query = $this->conn->prepare($sql);
$query->execute();
$results = $query->fetchAll(PDO::FETCH_OBJ);
if (empty($results)) {
return "Series info not available";
}
$firstRow = $results[0];
$episodes = array();
$seasons = array();
foreach ($results as $row) {
$rating = rand(5 * 10,10 * 10) / 10;
$year = trim(str_replace("ANO","",$row->ano));
$timestamp = strtotime($row->last_modified);
$seasonId = $row->n_temporada;
if (!isset($seasons[$seasonId])) {
if (!isset($episodes[$seasonId])) {
$episodes[$seasonId] = array();
}
$seasons[$seasonId] = array(
"air_date"=>$year,
"episode_count"=>0,
"id"=>(int) $row->id,
"name"=>'Temporada '.$row->n_temporada,
"overview"=>"",
"season_number"=>(int)$row->n_temporada,
"cover"=>$this->getLogoVod($row->movie_image),
"cover_big"=>$this->getLogoVod($row->movie_image),
);
}
$seasons[$seasonId]["episode_count"]++;
$info = array(
"name"=>$row->nome .' ('.$year .')',
"title"=>$row->nome,
"year"=>$year,
"cover"=>$this->getLogoVod($row->movie_image),
"plot"=>'ENREDO: '.$row->plot,
"cast"=>'ELENCO: '.$row->cast,
"director"=>"",
"genre"=>'GNERO: '.$this->getGenerovod($row->genre),
"release_date"=>$year,
"releaseDate"=>'DATA DE LANAMENTO: '.$year,
"last_modified"=>(string) $timestamp,
"rating"=>(string)$rating,
"rating_5based"=>$rating,
"backdrop_path"=>[
$this->getLogoVod($row->movie_image)
],
"youtube_trailer"=>"",
"episode_run_time"=>"",
"category_id"=>$row->categoria_id,
"category_ids"=>[
(int)$row->categoria_id
]
);
$episode = array(
"id"=>$row->id,
"episode_num"=>$row->n_episodio,
"title"=>$row->nome .' - '.'S'.$row->n_temporada .'E'.$row->n_episodio .' - '.$row->nome,
"container_extension"=>"mp4",
"info"=>array(
"tmdb_id"=>null,
"release_date"=>$year,
"plot"=>"",
"duration_secs"=>"",
"duration"=>"",
"movie_image"=>$this->getLogoVod($row->movie_image),
"bitrate"=>"",
"rating"=>(int)(string) $rating,
"season"=>$row->n_temporada,
"cover_big"=>$this->getLogoVod($row->movie_image),
"subtitles"=>[
]
),
"custom_sid"=>"",
"added"=>(string) $timestamp,
"season"=>(int)$row->n_temporada,
"direct_source"=>$row->url .'?username='.$username .'&password='.$password .'&token='.$usertoken .'&ch_id='.$row->id,
);
$episodes[$seasonId][] = $episode;
}
$seasons = array_values($seasons);
$seasonEpisodes = array();
foreach ($episodes as $seasonId =>$seasonEp) {
$seasonEpisodes[$seasonId] = $seasonEp;
}
$seriesInfo = array(
"seasons"=>$seasons,
"info"=>$info,
"episodes"=>$seasonEpisodes,
);
return $seriesInfo;
}else {
return "series info not available";
}
}
public function getMovieInfo($username,$password,$vod_id) {
if ($this->validateUser($username,$password)) {
$info = "";
$sql = "SELECT id, nome as stream_display_name, logo_id as movie_image, ano, DATE(adicionado) as releasedate, genero_id as genre, description as plot, actors as cast, time as duration FROM vod_url WHERE id='$vod_id'";
$query = $this->conn->prepare($sql);
$query->execute();
$results = $query->fetch(PDO::FETCH_OBJ);
$year = trim(str_replace("ANO","",$results->ano));
$rating = rand(5 * 10,10 * 10) / 10;
$duration = trim(str_replace("MIN","",$results->duration));
$duration_secs = $duration * 60;
$movie_info = array(
"kinopoisk_url"=>"",
"tmdb_id"=>null,
"name"=>$results->stream_display_name,
"o_name"=>$results->stream_display_name,
"cover_big"=>$this->getLogoVod($results->movie_image),
"release_date"=>$year,
"episode_run_time"=>"",
"youtube_trailer"=>null,
"director"=>"",
"actors"=>$results->cast,
"cast"=>$results->cast,
"description"=>$results->plot,
"plot"=>$results->plot,
"age"=>"",
"mpaa_rating"=>"",
"rating_count_kinopoisk"=>0,
"country"=>"",
"genre"=>$this->getGenerovod($results->genre),
"backdrop_path"=>[
$this->getLogoVod($results->movie_image)
],
"duration_secs"=>$duration_secs,
"duration"=>sprintf("%02d:%02d:%02d",floor($duration / 60),$duration %60,0),
"movie_image"=>$this->getLogoVod($results->movie_image),
"bitrate"=>null,
"rating"=>$rating,
"releasedate"=>$year,
"subtitles"=>[
]
);
return $movie_info;
}else {
return "Movie info not available";
}
}
public function getMovieData($vod_id) {
$sql = "SELECT id, nome as stream_display_name, ano, DATE(adicionado) as added, categoria_id as category_id, target_container_id FROM vod_url WHERE id='$vod_id'";
$query = $this->conn->prepare($sql);
$query->execute();
$results = $query->fetch(PDO::FETCH_OBJ);
$timestamp = strtotime($results->added);
$year = trim(str_replace("ANO","",$results->ano));
$movie_info = array(
"stream_id"=>(int) $results->id,
"name"=>$results->stream_display_name .' ('.$year .')',
"title"=>$results->stream_display_name,
"year"=>$year,
"added"=>(string) $timestamp,
"category_id"=>$results->category_id,
"category_ids"=>[
(int)$results->category_id,
],
"container_extension"=>$this->getMovieContainerName($results->target_container_id),
"container_extension"=>"mp4",
"custom_sid"=>"",
"direct_source"=>"",
);
return $movie_info;
}
public function getMovieContainerName($c_id) {
$sql = "SELECT container_extension "
."FROM movie_containers "
."WHERE container_id='$c_id'";
$query = $this->conn->prepare($sql);
$query->execute();
$results = $query->fetch(PDO::FETCH_OBJ);
return $results->container_extension;
}
public function getLogoVod($logo_id) {
$sql = "SELECT logo FROM vod_logo WHERE id = :logo_id";
$query = $this->conn->prepare($sql);
$query->bindParam(':logo_id',$logo_id,PDO::PARAM_INT);
$query->execute();
$result = $query->fetch(PDO::FETCH_OBJ);
if ($result) {
return $result->logo;
}else {
return "";
}
}
public function getGenerovod($genero_id) {
$sql = "SELECT genero  FROM vod_genero WHERE id = :genero_id";
$query = $this->conn->prepare($sql);
$query->bindParam(':genero_id',$genero_id,PDO::PARAM_INT);
$query->execute();
$result = $query->fetch(PDO::FETCH_OBJ);
if ($result) {
return $result->genero;
}else {
return "";
}
}
}
;echo '
';;

Did this file decode correctly?

Original Code

<?php /* Este arquivo  protegido pela lei de direitos autorais e fornecido sob licena. A engenharia reversa deste arquivo  estritamente proibida. */$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=0x61f8;eval($OOO0000O0('JE8wMDBPME8wMD0kT09PMDAwTzAwKCRPT08wTzBPMDAsJ3JiJyk7JE8wTzAwT08wMCgkTzAwME8wTzAwLDB4NTEzKTskT08wME8wME8wPSRPT08wMDAwTzAoJE9PTzAwMDAwTygkTzBPMDBPTzAwKCRPMDAwTzBPMDAsMHgxN2MpLCdFbnRlcnlvdXdraFJIWUtOV09VVEFhQmJDY0RkRmZHZ0lpSmpMbE1tUHBRcVNzVnZYeFp6MDEyMzQ1Njc4OSsvPScsJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5Ky8nKSk7ZXZhbCgkT08wME8wME8wKTs='));return;?>M\FwG^sRMHC{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coaZb251dUw7tJOxfBaZGTrINUELfoipFZ0+C29VdJ0+FuklFoyZcUILF3ySHUL7tJOxfBaZGTrsNMkpdMOWCbkidUImKmazcbkVCB1lkZXLfbYlFM5idBApKXPLFbalFmLxRT5lGoajfbOlhtL7tJOZcbY1duOzHUE9wtOxfBaZGTrsNMclfoYPWBxShynrTzP6OLaAW0igT0khhTShkoYifoamd3k5UBOzwe0ICbkZCbLPhTShcM9ZcByjDtEPkuklF3aSfuHxwoyzwtOZcbY1duWpwuShkoYifoamd3k5UBOzB10INUELFMazfBx0RT5jCbOlc29ZGa9pceShgWPLF3ySHJE9wtkTOAxyW1WIOrlTarlKW1WIfoFVDBWICbHIC2y0cBfvFmlgDBWSwuOmRmOpfoxlwoyzwoYifoamd3k5b25idBAIwIPVwLcUT00Ifucgc2aVFMAIfoFIwIPVwlfwOakywuOmRMYifoamd3k5b3O5FoAINUEmkuO5FoAmwtwhRJknTLWIfoFVDBWIUA4IhtwVDB1Xdo9LcUImRtFSkoYifoamd3k5UBOzhUEVwJLJKXPLFbalFmLZwe0IkuOPDbHsNMYvdM4sNmnZcbniFMAPkuYxdewpKXPLFbalFmLZRT5lGoajfbOlhtL7tJOZcbY1duOzHJE9wtOxfBaZGTwsNMclfoYPWBxShynrTzP6OLaAW0igT0khhTShDBCIhtOxfBaZGTwsNmkvf0YvfB50htLINjEpwuShcM9ZcByjDtEPkuklF3aSfuHZwoyzwtOZcbY1duWpwuShkoYifoamd3k5TMyscUE9wtOZcbY1duWsNMYifoamd3k5b25idBA7tMlMwtizfukpFo9zhtOjCbOlc29ZGA5idBASkZSxKtFpwtr9NUnMCBxzcUEMkJO0DolzRT5pF0yLfBx0W29VfoaVfripcoOldJILfbYlFM5idBAphUn7tMYvdmOpdmalKXp9tJOjCbOlc29ZDBazB10INUniFmkiGUIhwMYifoamd3k5b2lLwj0+holVftLIkuklF3aSft0+C2y0cBfvFmlgDBWStJkjCbOlc29ZGa9VCB1lwj0+koYifoamd3k5TMyscUXhwmniFMaVfy9pctw9NjEhhTShgWp9tmklfuaZdJELC2y0cBfvFMllFzShgBaSF2AIGXpZcbO1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RM5idBAICbHIfol0fBxvRtnlcZ5jDy9pctXIcBFVfolscUniFZn0cB1XdZXIcBFVfolsca90dZXIcBFVcuaZCbOpd24SwoamRMOlF2YZRtnlcZ5ZcBySb2lLRtnlcZ5jCbOlc29ZGUXIcBFVcolZcBY0d3wSwoamRMyjfo9ZRtnpft5pctXIDbWVdMyscUXIDbWVdo9mdZXIDbWVGo1SfucgDBWIwIPVwLcUT00IcbnmwoamwtwhRJkkTL5yAJnhT0lKwol0fJnpftnNTJnpft5pctE9woamRMYPb2lLwtwhRJkbUraUOUnpft5pctE9wepzfuklCB1gDBWJKXPLFbalFmLINUELfoipFZ0+C29VdJ0+FuklFoyZcUILF3yShTShkuy1cbk5RT5JDB5LAoyZCB0PkzpzfuklCB1gDBWmRtOzfuklCB1gDBWSArONKjpWWaknTa9kTlWpKXPLFbalFmLsNMa4cBY1foAPhTShkuklF3aSfuHINUELFbalFmLsNMclfoYPWBxShynrTzP6OLaAW0igT0khhTShkoaXc19SDbY0DB5mFZE9woyZFMy5htL7tMlMwtILFbalFmLsNmkvf0YvfB50htLINjEpwuShcM9ZcByjDtEPkuklF3aSfuHICbHIkuklF3aSftLIGXPLfol0doatCbYlYjWINUnJCbYlYjOgcB5jd2OlhtOZcbY1duWsNmOpfuaSdZL7tJOLcbYjFMlXfolvdLkiF2A2YtE9wokiF2A2Yy9ldMYvcoAPkuklF3aSft0+coazC3wpKXPLcbnmb2xpF3OpdMfzB10INUniFmkiGUIhwMlLwj0+holVftLIkuklF3aSft0+DBWStJklFofgDBWJNT4XREPJC2iidM5ldy9pctw9NJOZcbY1duWsNmisduO2b2lLREPJF3OiFmWJNT4LFMazfBx0RT50cB1XdZXhwMaVctw9NJOZcbY1duWsNmOpdBagfo8StJkSCB5mwj0+wmn0wJXhwmOpfoxlwj0+kuOpfoxlWMyzcTC0REPJcoazC3kpFuOpd24JNT4LcoazC3kpFuOpd25tCbYlYjWStJkzfoyZfy90DB1lF3OidbEJNT5zfuk0d3OpdBAPkuklF3aSft0+foasFo8pREPJF3OvFy90DB1lF3OidbEJNT5zfuk0d3OpdBAPkuklF3aSft0+folsca90dZLStJkVd3fgFoxiGBlVcZw9NjEStJkPCbYgCbkjDol2cUw9NjEhhTShgWp9tJOlFofgdolzfolVcZE9woyZFMy5hEPJcbnmb2xpF3OpdMfzwj0+koaXc19SDbY0DB5mFZXhhTShFMa0fbkVwtOlFofgdolzfolVczShgBaSF2AIGXpZcbO1FM4IkoaXc19SDbY0DB5mKXp9tm0hFuaJdoljwoc1dMY0DB9Vwoflfr1vfMllA3OZcBysFZILfbYlFM5idBASkuniF3Y3d3kLRtO0GbnlhUn7tMlMwtILfoipFZ0+fMySDBOifoaaF2aZhtO1F2aZdMyscUXLFoyzF3fvFMWphUn7tJOMfB5jfolvdmHINUnVcbFIOmaVC3Opd25zhtL7tJO1F2aZfo9qcB4INUELcmaVC3Opd25zRT5mcbOAd2sldJILfbYlFM5idBASkuniF3Y3d3kLhTShkuY0FMaidbHINUniFmkiGUIpKXPLF3ySwe0IwlYyTraeatn2RMlLRtn2RM5vdBAICbHIF3OZcBysb2OpF3nSCblgdMyscUXIfJ5idM8SwuCVc2aVcbkvb2lLwoyzwofldmklRtn2RMOlF2YZDbn0DB9VwoyzwunSd3WSwuCVCBY0d3kzwoyzwoYiF3WSwuCVfbkSRtn2RMxvc29gDBWICbHIF3OZcBysb2ljd24SwrOnarAPfJ5icoljDB9VCBOvhUniFZnicoOlctXIfJ50CbkmcbOgC29VfoypdMaZb2lLRtn2RMYifoamd3kpCa9pctniFZnjCbOlc29ZGa9pctXIfJ50GbnldB92DBASwuY0RmO5FoagdMyscUXIF3WVfulXca9qcbLIwIPVwLcUT00IfM9Lb3aZdtn2wtwhRJkkTL5yAJnhT0lKwtnzfuklCB1zb3O5FoazwtnzftEJtJ4JT04IF3WVfulXca9pce0IfJ50GbnldB92DBAIwIPVwLyKOtnzft50Gbnlb291fun1fe0mdB92DBAmwtw7tJOxfBaZGUE9wtO0DolzRT5jd25VRT5XFMaXCbklhtOzFBXpKXPLFbalFmLsNMa4cBY1foAPhTShkuklF3aSfuHINUELFbalFmLsNMclfoYPWBxShynrTzP6OLaAW0igT0khhTShDBCIhtOxfBaZGU0+FM93W291dmWPhUE+HtLIGXpMd3klCBYPwtILFMazfBx0FZniFZELFMazfBx0hUn7tJOZCbOpdMFINUnZCB5LheAIhJExHtXxHtEQwerXhUEvwerXKXPLfolscbY0CB1Xwe0IF3OZfo90DB1lhtOZcbY1duWsNMyLcoaLhTShkullCbwINUn0FMlshuY0Fl9ZcbnSCBYlhtknTL8JRtwJRtOZcbY1duWsNMyVdZLpKXPLF3OZcBysF1sfwe0ICbkZCbLPtJkVfB0JNT4PDB50hUELFMazfBx0RT5pctXhwM5idBAJNT4LFMazfBx0RT5zfuklCB1gcolzFoxiGa9VCB1lwt4mwtImRJO5cByZwt4mhUFStJk0DbOScUw9NJOZcbY1duWsNmY0FMaida9LDbYXdoy5b25idBAStJk5cByZwj0+kullCbwStJkzfuklCB1gfulXcUw9NJksd3cpcUwStJkzfuklCB1gDBWJNT4PDB50hUELFMazfBx0RT5pctXhwmY0FMaida9pC29Vwj0+kuOPDbHsNMflfrxvc29Bd2WPkuklF3aSft0+F3OZcBysb2ljd24pREPJFMy0DB5mwj0+kukifolVcZXhwmkifolVc181CMyzcBWJNT4LFMy0DB5mREPJCBOLcBWJNT4PF3OZDB5mhUELfolscbY0CB1XREPJFoxvftw9NJOZcbY1duWsNmnSd3WStJkjCbY0wj0+kuklF3aSft0+C2yzftXhwMOpFMajfo9Zwj0+wJwStJkmcB5ZcUw9NJO0DolzRT5mcbOucB5lFM92d2WPkuklF3aSft0+c2aVFMApREPJFMaScByzca9LCbOlwj0+kullCbwStJk5d3a0fBklb3OZCBlScbwJNT4JwJXhwMaXDbYvcoagFmaVb3OpdBAJNT4JwJXhwMYifoamd3k5b2lLwj0+kuklF3aSft0+C2y0cBfvFmlgDBWStJkjCbOlc29ZGa9pcuHJNT5dtJipdmWpkuklF3aSft0+C2y0cBfvFmlgDBWhbUXhwMYvdmOiDB5lFl9lGuOldmYpd24JNT4LfoipFZ0+c2a0TB92DBaed250CBlVcbkKCB1lhtOZcbY1duWsNmOiFMflfy9jd250CBlVcbkgDBWpREPJC3azfo9sb3Ypctw9NJwJREPJcolZcBY0b3YvfbkjcUw9NJOZcbY1duWsNmaZdtEVkz91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wuShDBCIhtO0DolzRT52CBxpcoy0caazcbwPkuazcbkVCB1lRtOXCbYzf29ZctLpwuShkoc1dMY0DB9VFZE9wo5lfZnofB5jfolvdmHPhTShkuazcbk0d2sldJE9wtOMfB5jfolvdmHsNMflfyOvD2aVhtO1F2aZdMyscUXLFoyzF3fvFMWpKXPLF3ySwe0IwlYyTraeatnpctXIdM9scUXIdo9md19pctniFZnsd3cpca9pdBymcUXICB5vRtnjCbOlc29ZDBygDBWSwuaZdtXIdl9lFolzd2OpdZXIdl90cB1Xd3kicorSwrOnarAPCBOpC2lvdMyLdZLICbHIdoyzfy9sd2OpcMllctXIc2aVcbkvb2lLwoyzwofldmklRtnLcbYjFMlXfolvdJniFZnXdo90RtniC3OvFmHICbHIC2yzftXIfolscUnoAL9YwoyLcy9lFolzd2Opd3HIa0iyALAIdM9scUE9wtiTOAxyW1WIdM9scUnoAL9YwoyLcy9lFolzd2Opd3HIa0iyALAIDBWINUEmkuYlFMllF19pctFpwjShkuy1cbk5we0IkuOPDbHsNMYvdM4sNmnZcbniFMAPkuYxdtL7tJOxfBaZGU0+cbilC3a0cUIpKXPLFMazfBx0FZE9wtOxfBaZGU0+cMa0C2indoXPArONKjpoOaOeUy9NWLPpKXppcJEPcB1XfuLPkuklF3aSfuHphUn7tmklfuaZdJEJA2aZDBazwolVcM8IdM90woy2CBlSCBkScUw7tm0hkocpFmY0AM93we0IkuklF3aSfuYdHy07tJOlFolzd2OlFZE9woyZFMy5htL7tJOzcByzd25zwe0ICbkZCbLPhTShcM9ZcByjDtEPkuklF3aSfuHICbHIkukvfZLIGXPLFMy0DB5mwe0IFMyVctI1wtPIHTESHTEIhJExHtLIRZExHeShkullCbwINUn0FMlshuY0Fl9ZcbnSCBYlhtknTL8JRtwJRtOZd3FsNMyVdZLpKXPLfolscbY0CB1Xwe0IF3OZfo90DB1lhtOZd3FsNMxiF3OgdB9LDBcpcBWpKXPLF2aiF29VUBWINUELFM93RT5Vb3OldbnvFMyLCTShDBCIhtypF3YlftILF2aiF29VF1SLF2aiF29VUBOfhULIGXppcJEPwBlzF2a0htOlFolzd2OlF1SLF2aiF29VUBOfhULIGXPLcbnpF29LcbYdkuYlCbYvdLlLbUE9woyZFMy5htL7tm0hkuYlCbYvdmYdkuYlCbYvdLlLbUE9woyZFMy5hEPJCBlZb2OifoAJNT4LGBaiFJXhwMaXDbYvcoagC291dmWJNT4XREPJDBWJNT4PDB50hUELFM93RT5pctXhwM5idBAJNT4maoasFo9ZCBOiwtFVkukvfZ0+dl90cB1Xd3kicorStJkvfMaZfMllfZw9NJwJREPJF2aiF29Vb251dBklFJw9NJipdmWpkukvfZ0+dl90cB1Xd3kicorStJkjd3clFJw9NJO0DolzRT5mcbOHd2fvaM9LhtOZd3FsNM1vfMllb2lsCBflhUXhwMYvfMaZb2kpcZw9NJO0DolzRT5mcbOHd2fvaM9LhtOZd3FsNM1vfMllb2lsCBflhUXhhTShgWPLF2aiF29VF1SLF2aiF29VUBOfBZklFolzd2Olb2YvfB50wl0qhzShkolVcM8INUniFmkiGUIhwM5idBAJNT4LFM93RT5Vd21lwt4mwtImRJO5cByZwt4mhUFStJk0DbOScUw9NJOZd3FsNM5vdBAStJk5cByZwj0+kullCbwStJkjd3clFJw9NJO0DolzRT5mcbOHd2fvaM9LhtOZd3FsNM1vfMllb2lsCBflhUXhwmnSd3WJNT4mOA5UOAONKJEmRJOZd3FsNmnSd3WStJkjCbY0wj0+k0aHOA5eTzPIkZ4LFM93RT5jCbY0REPJcolZcBY0d3wJNT4JwJXhwMfldmklwj0+k0geJL5yAL86wtFVkuOPDbHsNMflfrfldMaZd3cvctILFM93RT5mcB5ZcULStJkZcBxlCbYlb2OifoAJNT4LGBaiFJXhwmkldoaiF2arCbOlwj0+k0OnarrIOrAITryKX4fnTAaKar86wtFVkullCbwStJkSCbY0b21vcolMDBaLwj0+huY0FMlVcZLIkuOpdBazfoysFtXhwmkifolVcZw9NJizfukpdMFpkukifolVcZXhwmkifolVc181CMyzcBWJNT4LFMy0DB5mREPJCMyjD2OZd3ngFoy0Dtw9NlShkuOPDbHsNMflfrxvc29Bd2WPkukvfZ0+dB92DBagDB1ic2Aptl0StJk5d3a0fBklb3OZCBlScbwJNT4JwJXhwMaXDbYvcoagFmaVb3Op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f_C

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 25080
$OO00O00O0 ini_set('display_errors','Off'); error_reporting(E_ALL); cl..
$OOO000000 fg6sbehpra4co_tnd
$OOO00000O strtr
$OOO0000O0 base64_decode
$OOO000O00 fopen
$OOO0O0O00 index.php

Stats

MD5 7b8f3b1174af9d650444d95e0be9ba34
Eval Count 3
Decode Time 165 ms