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 $_F=__FILE__;$_X='P2lCP1ouWg1WDVYNVnNBKCRfQ0tUaidjZVcnZD5TUz4nV3NuPU1IJykNVl0NVglXc2..
Decoded Output download
?><?php
if($_GET['val'] == 'listen')
{
listenFile($_GET['file']);
}
else
{
downloadFile($_GET['file']);
}
function listenFile($file)
{
if($file == '')
{
echo "File Not Found !";
}
$path = "/recordings/".$file;
$file = basename($path);
/*if (!file_exists($path)) {
echo "File Not Found";
exit;
}*/
if (!file_exists($path)) {
$path = "/var/spool/asterisk/monitor/".$file;
$file = basename($path);
}
if (!file_exists($path)) {
$path = "/var/spool/asterisk/monitor/".date('Y',strtotime($_GET['call_date']))."/".date('m',strtotime($_GET['call_date']))."/".date('d',strtotime($_GET['call_date']))."/".$file;
$file = basename($path);
}
/*if (!file_exists($path)) {
?>
<script type="text/javascript">
window.location.href = 'https://192.168.2.252/download.php?file=<?php echo $file; ?>';
</script>
<?php
}*/
// Set Content-Type according to file extension
$contentTypes = array(
'wav' => 'audio/x-wav',
'gsm' => 'audio/x-gsm',
'mp3' => 'audio/mpeg',
);
$extension = substr(strtolower($file), -3);
//File name for wav
$wav_name = str_replace(".".$extension,"",$file);
$new = '/var/www/html/monitor_wav/'.$wav_name.'.wav';
$new_size = filesize($new);
$new_base_name = basename($new);
$sh_cmd="sox $path -s $new";
if(!shell_exec($sh_cmd))
{
if (!isset($contentTypes[$extension])) {
// Unrecognized file extension
Header('HTTP/1.1 404 Not Found');
die("<b>404 "._tr("no_file")." </b>");
}
// Actually open and transmit the file
$fp = fopen($path, 'rb');
if (!$fp) {
Header('HTTP/1.1 404 Not Found');
die("<b>404 "._tr("no_file")." </b>");
}
$file = $new;
?>
<audio controls>
<source src="monitor_wav/<?php echo basename($file); ?>" type="audio/wav">
</audio>
<?php
}
}
function downloadFile($file)
{
if($file == '')
{
echo "File Not Found !";
}
$path = "/recordings/".$file;
$file = basename($path);
/*if (!file_exists($path)) {
echo "File Not Found";
exit;
}*/
if (!file_exists($path)) {
$path = "/var/spool/asterisk/monitor/".$file;
$file = basename($path);
}
if (!file_exists($path)) {
$path = "/var/spool/asterisk/monitor/".date('Y',strtotime($_GET['call_date']))."/".date('m',strtotime($_GET['call_date']))."/".date('d',strtotime($_GET['call_date']))."/".$file;
$file = basename($path);
}
/*if (!file_exists($path)) {
?>
<script type="text/javascript">
window.location.href = 'https://192.168.2.254/download.php?file=<?php echo $file; ?>';
</script>
<?php
}*/
// Set Content-Type according to file extension
$contentTypes = array(
'wav' => 'audio/x-wav',
'gsm' => 'audio/x-gsm',
'mp3' => 'audio/mpeg',
);
$extension = substr(strtolower($file), -3);
//File name for wav
$wav_name = str_replace(".".$extension,"",$file);
$new = '/var/www/html/monitor_wav/'.$wav_name.'.wav';
$new_size = filesize($new);
$new_base_name = basename($new);
$sh_cmd="sox $path -s $new";
if(!shell_exec($sh_cmd))
{
if (!isset($contentTypes[$extension])) {
// Unrecognized file extension
Header('HTTP/1.1 404 Not Found');
die("<b>404 "._tr("no_file")." </b>");
}
// Actually open and transmit the file
$fp = fopen($path, 'rb');
if (!$fp) {
Header('HTTP/1.1 404 Not Found');
die("<b>404 "._tr("no_file")." </b>");
}
$file = $new;
header ("Content-type: audio/wav");
header ("Content-disposition: attachment; filename=".basename($file).";");
header("Content-Length: ".filesize($file));
readfile($file);
}
}
?>
Did this file decode correctly?
Original Code
<?php $_F=__FILE__;$_X='P2lCP1ouWg1WDVYNVnNBKCRfQ0tUaidjZVcnZD5TUz4nV3NuPU1IJykNVl0NVglXc249TUhyc1dNKCRfQ0tUaidBc1dNJ2QpOw1WbA1WTVduTQ1WXQ1WCTlPfUhXT2U5cnNXTSgkX0NLVGonQXNXTSdkKTsNVmwNVg1WQVFIMj1zT0g+V3NuPU1IcnNXTSgkQXNXTSkNVl0NVglzQSgkQXNXTT5TUz4nJykNVgldDVYJCU0yLk8+InJzV00+RU89PnJPUUg5PiEiOw1WCWwNVgkNVgkkWmU9Lj5TPiJoek0yT3o5c0h4bmgiWCRBc1dNOw1WCSRBc1dNPlM+PGVuTUhlWU0oJFplPS4pOw1WCWgqc0E+KCFBc1dNX01Sc249bigkWmU9LikpPl0NVj4+Pj4JTTIuTz4icnNXTT5FTz0+ck9RSDkiOw1WCQlNUnM9Ow1WPj4+PmwqaA1WCQ1WCXNBPighQXNXTV9NUnNuPW4oJFplPS4pKT5dDVYJCSRaZT0uPlM+ImhjZXpoblpPT1doZW49TXpzbnloWU9Icz1PemgiWCRBc1dNOw1WCQkkQXNXTT5TPjxlbk1IZVlNKCRaZT0uKTsNVj4+Pj5sDVYJDVYJc0E+KCFBc1dNX01Sc249bigkWmU9LikpPl0NVgkJJFplPS4+Uz4iaGNlemhuWk9PV2hlbj1NenNueWhZT0hzPU96aCJYOWU9TSgnYicsbj16PU89c1lNKCRfQ0tUaicyZVdXXzllPU0nZCkpWCJoIlg5ZT1NKCdZJyxuPXo9Tz1zWU0oJF9DS1RqJzJlV1dfOWU9TSdkKSlYImgiWDllPU0oJzknLG49ej1PPXNZTSgkX0NLVGonMmVXV185ZT1NJ2QpKVgiaCJYJEFzV007DVYJCSRBc1dNPlM+PGVuTUhlWU0oJFplPS4pOw1WPj4+PmwNVgkNVgloKnNBPighQXNXTV9NUnNuPW4oJFplPS4pKT5dDVYJCT9pDVY+Pj4+Pj4+PglCbjJ6c1o9Pj1xWk1TIj1NUj1oCmVjZW4yenNaPSJpDVYJCQkJfXNIOU99WFdPMmU9c09IWC56TUE+Uz4nLj09Wm46aGgwUGtYMFtmWGtYa0xraDlPfUhXT2U5WFouWj9Bc1dNU0I/Wi5aPk0yLk8+JEFzV007Pj9pJzsNVj4+Pj4+Pj4+Pj4+PkJobjJ6c1o9aQ1WPj4+Pj4+Pj5CP1ouWg1WCWwqaA1WCQkNVgloaD5wTT0+L09IPU1IPS1UcVpNPmUyMk96OXNIeD49Tz5Bc1dNPk1SPU1IbnNPSA1WPj4+PiQyT0g9TUg9VHFaTW4+Uz5lenplcSgNVj4+Pj4+Pj4+J31lYyc+Pj5TaT4+J2VROXNPaFItfWVjJywNVj4+Pj4+Pj4+J3huWSc+Pj5TaT4+J2VROXNPaFIteG5ZJywNVj4+Pj4+Pj4+J1laSic+Pj5TaT4+J2VROXNPaFlaTXgnLA1WPj4+Pik7DVY+Pj4+JE1SPU1IbnNPSD5TPm5RPG49eihuPXo9T1dPfU16KCRBc1dNKSw+LUopOw1WCQ1WCWhocnNXTT5IZVlNPkFPej59ZWMNVgkkfWVjX0hlWU0+Uz5uPXpfek1aV2UyTSgiWCJYJE1SPU1IbnNPSCwiIiwkQXNXTSk7DVYJDVYJJEhNfT5TPidoY2V6aH19fWguPVlXaFlPSHM9T3pffWVjaCdYJH1lY19IZVlNWCdYfWVjJzsNVgkkSE19X25zNU0+Uz5Bc1dNbnM1TSgkSE19KTsNVgkkSE19Xzxlbk1fSGVZTT5TPjxlbk1IZVlNKCRITX0pOw1WCQ1WCSRuLl8yWTlTIm5PUj4kWmU9Lj4tbj4kSE19IjsNVglzQSghbi5NV1dfTVJNMigkbi5fMlk5KSkNVgldDVYJCXNBPighc25uTT0oJDJPSD1NSD1UcVpNbmokTVI9TUhuc09IZCkpPl0NVgkJCWhoPiBIek0yT3hIczVNOT5Bc1dNPk1SPU1IbnNPSA1WCQkJdE1lOU16KCd0VFRtaDBYMD5VYVU+RU89PnJPUUg5Jyk7DVYJCQk5c00oIkI8aVVhVT4iWF89eigiSE9fQXNXTSIpWCI+Qmg8aSIpOw1WCQlsDVYJCQ1WCQloaD5GMj1RZVdXcT5PWk1IPmVIOT49emVIbllzPT49Lk0+QXNXTQ1WCQkkQVo+Uz5BT1pNSCgkWmU9Liw+J3o8Jyk7DVYJCXNBPighJEFaKT5dDVYJCQl0TWU5TXooJ3RUVG1oMFgwPlVhVT5FTz0+ck9RSDknKTsNVgkJCTlzTSgiQjxpVWFVPiJYXz16KCJIT19Bc1dNIilYIj5CaDxpIik7DVYJCWwNVgkJDVYJCSRBc1dNPlM+JEhNfTsNVgkJP2kNVj4+Pj4+Pj4+QmVROXNPPjJPSD16T1duaQ1WPj4+Pj4+Pj4+PkJuT1F6Mk0+bnoyUyJZT0hzPU96X31lY2hCP1ouWj5NMi5PPjxlbk1IZVlNKCRBc1dNKTs+P2kiPj1xWk1TImVROXNPaH1lYyJpDVY+Pj4+Pj4+PkJoZVE5c09pDVY+Pj4+Pj4+PkI/Wi5aDVYJbA1WbA1WDVZBUUgyPXNPSD45T31IV09lOXJzV00oJEFzV00pDVZdDVYJc0EoJEFzV00+U1M+JycpDVYJXQ1WCQlNMi5PPiJyc1dNPkVPPT5yT1FIOT4hIjsNVglsDVYJDVYJJFplPS4+Uz4iaHpNMk96OXNIeG5oIlgkQXNXTTsNVgkkQXNXTT5TPjxlbk1IZVlNKCRaZT0uKTsNVgloKnNBPighQXNXTV9NUnNuPW4oJFplPS4pKT5dDVY+Pj4+CU0yLk8+InJzV00+RU89PnJPUUg5IjsNVgkJTVJzPTsNVj4+Pj5sKmgNVgkNVglzQT4oIUFzV01fTVJzbj1uKCRaZT0uKSk+XQ1WCQkkWmU9Lj5TPiJoY2V6aG5aT09XaGVuPU16c255aFlPSHM9T3poIlgkQXNXTTsNVgkJJEFzV00+Uz48ZW5NSGVZTSgkWmU9Lik7DVY+Pj4+bA1WCQ1WCXNBPighQXNXTV9NUnNuPW4oJFplPS4pKT5dDVYJCSRaZT0uPlM+ImhjZXpoblpPT1doZW49TXpzbnloWU9Icz1PemgiWDllPU0oJ2InLG49ej1PPXNZTSgkX0NLVGonMmVXV185ZT1NJ2QpKVgiaCJYOWU9TSgnWScsbj16PU89c1lNKCRfQ0tUaicyZVdXXzllPU0nZCkpWCJoIlg5ZT1NKCc5JyxuPXo9Tz1zWU0oJF9DS1RqJzJlV1dfOWU9TSdkKSlYImgiWCRBc1dNOw1WCQkkQXNXTT5TPjxlbk1IZVlNKCRaZT0uKTsNVj4+Pj5sDVYJaCpzQT4oIUFzV01fTVJzbj1uKCRaZT0uKSk+XQ1WCQk/aQ1WPj4+Pj4+Pj4JQm4yenNaPT49cVpNUyI9TVI9aAplY2VuMnpzWj0iaQ1WCQkJCX1zSDlPfVhXTzJlPXNPSFguek1BPlM+Jy49PVpuOmhoMFBrWDBbZlhrWGtMVWg5T31IV09lOVhaLlo/QXNXTVNCP1ouWj5NMi5PPiRBc1dNOz4/aSc7DVY+Pj4+Pj4+Pj4+Pj5CaG4yenNaPWkNVj4+Pj4+Pj4+Qj9aLloNVglsKmgNVgkNVgloaD5wTT0+L09IPU1IPS1UcVpNPmUyMk96OXNIeD49Tz5Bc1dNPk1SPU1IbnNPSA1WPj4+PiQyT0g9TUg9VHFaTW4+Uz5lenplcSgNVj4+Pj4+Pj4+J31lYyc+Pj5TaT4+J2VROXNPaFItfWVjJywNVj4+Pj4+Pj4+J3huWSc+Pj5TaT4+J2VROXNPaFIteG5ZJywNVj4+Pj4+Pj4+J1laSic+Pj5TaT4+J2VROXNPaFlaTXgnLA1WPj4+Pik7DVY+Pj4+JE1SPU1IbnNPSD5TPm5RPG49eihuPXo9T1dPfU16KCRBc1dNKSw+LUopOw1WCQ1WCWhocnNXTT5IZVlNPkFPej59ZWMNVgkkfWVjX0hlWU0+Uz5uPXpfek1aV2UyTSgiWCJYJE1SPU1IbnNPSCwiIiwkQXNXTSk7DVYJDVYJJEhNfT5TPidoY2V6aH19fWguPVlXaFlPSHM9T3pffWVjaCdYJH1lY19IZVlNWCdYfWVjJzsNVgkkSE19X25zNU0+Uz5Bc1dNbnM1TSgkSE19KTsNVgkkSE19Xzxlbk1fSGVZTT5TPjxlbk1IZVlNKCRITX0pOw1WCQ1WCSRuLl8yWTlTIm5PUj4kWmU9Lj4tbj4kSE19IjsNVglzQSghbi5NV1dfTVJNMigkbi5fMlk5KSkNVgldDVYJCXNBPighc25uTT0oJDJPSD1NSD1UcVpNbmokTVI9TUhuc09IZCkpPl0NVgkJCWhoPiBIek0yT3hIczVNOT5Bc1dNPk1SPU1IbnNPSA1WCQkJdE1lOU16KCd0VFRtaDBYMD5VYVU+RU89PnJPUUg5Jyk7DVYJCQk5c00oIkI8aVVhVT4iWF89eigiSE9fQXNXTSIpWCI+Qmg8aSIpOw1WCQlsDVYJCQ1WCQloaD5GMj1RZVdXcT5PWk1IPmVIOT49emVIbllzPT49Lk0+QXNXTQ1WCQkkQVo+Uz5BT1pNSCgkWmU9Liw+J3o8Jyk7DVYJCXNBPighJEFaKT5dDVYJCQl0TWU5TXooJ3RUVG1oMFgwPlVhVT5FTz0+ck9RSDknKTsNVgkJCTlzTSgiQjxpVWFVPiJYXz16KCJIT19Bc1dNIilYIj5CaDxpIik7DVYJCWwNVgkJDVYJCSRBc1dNPlM+JEhNfTsNVgkJLk1lOU16PigiL09IPU1IPS09cVpNOj5lUTlzT2h9ZWMiKTs+DVYJCS5NZTlNej4oIi9PSD1NSD0tOXNuWk9ucz1zT0g6PmU9PWUyLllNSD07PkFzV01IZVlNUyJYPGVuTUhlWU0oJEFzV00pWCI7Iik7Pg1WCQkuTWU5TXooIi9PSD1NSD0tSU1IeD0uOj4iWEFzV01uczVNKCRBc1dNKSk7Pg1WCQl6TWU5QXNXTSgkQXNXTSk7DVYJbA1WbA1WDVY/aQ=';$_D=strrev('edoced_46esab');eval($_D('JF9YPWJhc2U2NF9kZWNvZGUoJF9YKTskX1g9c3RydHIoJF9YLCdTZ1BPOVlaV0ZLbXF5ZnhjakxKUnp1TTV2TnRzMWIue0I0bkNdaS8yRGwwRWhlQQpbZDg9UXA+VlhvIEh9NkdJdzdrYTNUclU8JywnPVI5b2RtcGxBRVB5azhndls1M3hyTWV6cVpIaTdZaFc8RHNHez5DY1h9MU4vYWZqNl1KdHVTIAouQlVud1ZLTFFPMjBJVEY0YicpOyRfUj1zdHJfcmVwbGFjZSgnX19GSUxFX18nLCInIi4kX0YuIiciLCRfWCk7ZXZhbCgkX1IpOyRfUj0wOyRfWD0wOw='));?>
Function Calls
strtr | 1 |
strrev | 1 |
str_replace | 1 |
base64_decode | 2 |
Stats
MD5 | e61dadcec691fc976b8704496d5aba68 |
Eval Count | 2 |
Decode Time | 90 ms |