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


/**
* Simple excel writer class with no external dependencies, drop it in and have fun
* @author Matt Nowack
* @license Unlicensed
* @version 1.0
*/
class Excel {
private $col;
private $row;
private $data;
private $title;
/**
* Safely encode a string for use as a filename
* @param string $title The title to use for the file
* @return string The file safe title
*/
static function filename($title) {
$result = strtolower(trim($title));
$result = str_replace("'", '', $result);
$result = preg_replace('#[^a-z0-9_]+#', '-', $result);
$result = preg_replace('#\-{2,}#', '-', $result);
return preg_replace('#(^\-+|\-+$)#D', '', $result);
}
/**
* Builds a new Excel Spreadsheet object
* @return Excel The Spreadsheet
*/
function __construct($title) {
$this->title = $title;
$this->col = 0;
$this->row = 0;
$this->data = '';
$this->bofMarker();
}
/**
* Transmits the proper headers to cause a download to occur and to identify the file properly
* @return nothing
*/
function headers() {
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header("Content-Disposition: attachment;filename=" . Excel::filename($this->title) . ".xls ");
header("Content-Transfer-Encoding: binary ");
}
function send() {
$this->eofMarker();
$this->headers();
echo $this->data;
}
/**
* Writes the Excel Beginning of File marker
* @see pack()
* @return nothing
*/
private function bofMarker() {
$this->data .= pack("ssssss", 0x809, 0x8, 0x0, 0x10, 0x0, 0x0);
}
/**
* Writes the Excel End of File marker
* @see pack()
* @return nothing
*/
private function eofMarker() {
$this->data .= pack("ss", 0x0A, 0x00);
}
/**
* Moves internal cursor left by the amount specified
* @param optional integer $amount The amount to move left by, defaults to 1
* @return integer The current column after the move
*/
function left($amount = 1) {
$this->col -= $amount;
if($this->col < 0) {
$this->col = 0;
}
return $this->col;
}
/**
* Moves internal cursor right by the amount specified
* @param optional integer $amount The amount to move right by, defaults to 1
* @return integer The current column after the move
*/
function right($amount = 1) {
$this->col += $amount;
return $this->col;
}
/**
* Moves internal cursor up by amount
* @param optional integer $amount The amount to move up by, defaults to 1
* @return integer The current row after the move
*/
function up($amount = 1) {
$this->row -= $amount;
if($this->row < 0) {
$this->row = 0;
}
return $this->row;
}
/**
* Moves internal cursor down by amount
* @param optional integer $amount The amount to move down by, defaults to 1
* @return integer The current row after the move
*/
function down($amount = 1) {
$this->row += $amount;
return $this->row;
}
/**
* Moves internal cursor to the top of the page, row = 0
* @return nothing
*/
function top() {
$this->row = 0;
}
/**
* Moves internal cursor all the way left, col = 0
* @return nothing
*/
function home() {
$this->col = 0;
}
/**
* Writes a number to the Excel Spreadsheet
* @see pack()
* @param integer $value The value to write out
* @return nothing
*/
function number($value) {
$this->data .= pack("sssss", 0x203, 14, $this->row, $this->col, 0x0);
$this->data .= pack("d", $value);
}
/**
* Writes a string (or label) to the Excel Spreadsheet
* @see pack()
* @param string $value The value to write out
* @return nothing
*/
function label($value) {
$length = strlen($value);
$this->data .= pack("ssssss", 0x204, 8 + $length, $this->row, $this->col, 0x0, $length);
$this->data .= $value;
}
}

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.
$OOO0O0O00=__FILE__;$O00O00O00=__LINE__;$OO00O0000=4936;eval((base64_decode('JE8wMDBPME8wMD1mb3BlbigkT09PME8wTzAwLCdyYicpO3doaWxlKC0tJE8wME8wME8wMClmZ2V0cygkTzAwME8wTzAwLDEwMjQpO2ZnZXRzKCRPMDAwTzBPMDAsNDA5Nik7JE9PMDBPMDBPMD0oYmFzZTY0X2RlY29kZShzdHJ0cihmcmVhZCgkTzAwME8wTzAwLDM3MiksJ0lIVERYVktRNVJhM3Y4RTlzZWNmTnp1aVdvWWxTWjZ5ZDErYkN3TXFKT2cwL2hGRzRydFA3bkEycGp4TFVCa209JywnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODkrLycpKSk7ZXZhbCgkT08wME8wME8wKTs=')));return;?>
RXB9vDH9vDH9vDnwSMzqi2RwSKr1WANJRnByeCwvezByRt4+Rt5FRXB9fPH9vXU4vTp+Rt5/aKR1SANA8VBCou8GoKNJS2etZQ5JoqRwWusJRXU4vDH9vXU4vT4Cf7U4vXU4vDI4ac4qcN1NeV1ucnXnNMXPZb1VEi8wWAoE6qzOzABolV8Y8qwCvch+s2Z8SNO9oPIGYXoQ8QR7NDZFsfR4Yq1vzNR0lf7q3TZHsC8XeNoQcXwac7r8fCBsNzRfzVzuzn1ouMV+WAewoMZJYuO0lKnFl2HrSq87Zio26QwxvDXtvPsn8bSpEc/GRtCOacCLoM8/l28waTe9vDI4fPH9vDIOEAzAWu4JRXB9vDH9vDH9vTCLDsJGa+J8T+JdNAwhSKrw5KzpWAz/5QZtYiewS+HblKVPStH2YieJ5KjG5KzpZKztlMV/5KewSKzFoKzFWAwwSt4doQRGSTHOZTHOl+H1lMsdYKVAocHMZup8T+JdsKVnZK1GS+H8Wie75XjGZAVbY47aa+HIlKwboujPocHzlMrOWAzFSAzCDsJg5XHAoiRPYuBF5DXFvI7aa+U8TM8/Wi8P5XzpWAz/5Q/8TqHtYio1ZKNdRK8GlD/8TqHtYio1ZKNdRQRGZP/8TqHtYio1ZKNdRKe1ZKXLDsO4SMwAWiew5Te7Yie/of/8T+Ugad7aa+HfWuowlQCdoujblAew5KXdS2etYujq5KoGS+HnSANdWivdWcHMYurwlMVhos7aa+HISKVtWu7dS2etYujq5Te7Yie/ocHNYKNdZKw7lKNdZKUdZi8w5KoGS+H7YKNdoMw/os7aa+HISMz7ZiRF5Q87SMwFotHNYKNdoMw/ocHPWuow5QeOZKrwDsJg347aS2e1ZKwb5KonlM87YuBF5KoOlKzFWunwaTe7Yie/ocCd647aRQRwS2z/ZTIB5Q87SqeGlKB2oi5JZQROlcdCZKw7lKNOaf/8T+etoi8nlQsd9cHPZQRySMz4lKVbocd+Rt5/5TSq3TICSMzPZur7af/8T+etoi8nlQsd9cH4SMzqi2RwSKr1WANJRt8liMXh6bIhEzBZatvq3TIq3cS/5Tetoi8nlQsOE47aRQRwS2z/ZTIB5QHtouZySMz4lKVbocdq5n4h6P5/ycvq3TIq3cS/5Tetoi8nlQsOE47aSMz7ZiRF5QHtouZySMz4lKVbocdq5t16iT70yV4hatsO57sq3TIqRt4dRQRwS2z/ZTCLDsOBDsJGa+J8T+JdsqzOlKeP5KXdlMz25XzpWAz/5V84SMz1oQ8Jouz75KB+YMzbZI7aa+HISMz7ZiRF5XzpWAz/5VeJocHfSQRwWuePYKzwZI7aa+U8TMonlM87YuBF5VByWABFS2etZu87aTe7Yie/ocCd647aRQeJYivh9qeOZKrw5D7dRQeOZKrwE47aRQeJYivh9M8GlTIB5DILDsJCZK1OSt7kSMB25D7dvD/8T+e7YKwP3fjCWie15D7dRtSLDsJCZK1OSt7kWMBMfuVtYAztaTCLDsOBDsJGa+J8T+JdzQR1lq8hYieP5QeJocH4SMB4oi5dYKz1oKztStH7ltHbWizPocH15KeGZAj/lAVC5QeG5KBbW2zt5KVFoTH7ltHOoKzFZKwM6cH7YKNdoMw/ocH4SMB4oiR/6s7aa+HISMz7ZiRF5KjGZK1OlMS8T+JGDsOMZujbZKwGl+HJouVCoiRPaTCd647aYKz1oKztaTRDlAj7ouj73zejSKNx5KV4SKrOWAV7YuBF3AoGSM8w3ueGZAj/lAVC5+CLDsOJouVCoi5J5C8GlqewlqshzQw4ofJdWiH4lKwbWieOlApGlA87oishS2etouVh5+CLDsOJouVCoi5J5C8GlqewlqshzQw4ofJdWiH4lKwbWieOlApGoKB2lMrGWus+af/8TM1wWuewS+d+sABFZKzFZTnXYi84l28OZKwGlbJdWie7Wu8JluzFZDhMYurwlMVhof7+5Tpdei1bou4xEMoOlKzFWunwaTe7YKwP3fj7Yie/ocCd3+I+3q1/StI+af/8TM1wWuewS+d+sABFZKzFZTnNSMVFSAowS+nVlM8GoKwFoPJdWMwFWiRj5T5OE47ays7aoqzFW2eOlApdSAzFoTdO5Q/8T+e7YKwP3fjwlAo8WiR0oi5Jaf/8T+e7YKwP3fjJouVCoiRPaTCLDsOwWA1G5Te7YKwP3fjCWie1E47ays7a3tJgDsJg5VZtYiewStH7YKNdei1bou4dsMzqYujFYujq5KBM5XoOlKNdluVtYAztDsJg5XHPouNdSKVbYtdODsJg5XHtoienSMpdlMB7YKwFo47aa+U8TqHtYio1ZKNdoqzFW2eOlApdWMBMfuVtYAztaTCd647aRQeJYivh9Me1ZKXd3b7dSKVbYtd+S28PS28P5+4dvQdpvDC/5DHpET4dvQd43TI46DX43TI46DI/5DHpvTCLDsOBDsJGa+J8T+Jdz2ROZKzP5QeJocHV6K8wlTHVlMsdlAWdeMw/ocHhWiR0oi58T+JdsQ8wocH4Wu80aTC8T+JdsQRwZQztl+HFl2eJYujqDsJg347aSQROZMV7ocHMZujbZKwGl+HwlAo8WiR0oi5JacHLDsJCZK1OSt7koKV7WcIF9cH4Wu80aTRPSt5/5DHpvXX/5DHpvDIOE47ays7a3tJgDsJg5XnGZMzP5KwFZKztlMV/5K8nSq8GS+H/ouo75KRj5QeJocH1luBnlqsdS2HwWAwMYuzCDsJg5XH4WiR1lcHGSQeOlAj1lTHOlqewoAzt5Te1luBnlqsdzK1w5KVhl2zFZTH7ltHhl2ow5KrwoqsdWqC/5KewoMVnlQeP5QeG5DX8T+JdsQRwZQztl+HOlqewoAzt5VeJocHbZiRtouj75K8GlQzhl+H1oqewS+H7YKNdluBAos7aa+U8TMonlM87YuBF5KrwoqsJRKVhl2zFZTIB5DXO5Q/8T+e7YKwP3fjblA4d3f7dRKVhl2zFZD/8TMwMaTe7YKwP3fjblA4d9TI4acHLDsJCZK1OSt7kWAB/5D7dvD/8Tq78TqRwZQztl+ICZK1OSt7kWAB/E47ays7a3tJgDsJg5XnGZMzP5KwFZKztlMV/5K8nSq8GS+HtYuZJZTH+6cH7YKNdWunGZuj75Q84ou8OoMwwoI7aa+HISKVtWu7dl2H7YuBFWu4dYuj7ouZwS+ICWunGZuj75VeJocH1luBnlqsdZKUdluBAocHtYuZJZTH+6c4doKzMWiz/ZQvdZKUdvs7aa+HISMz7ZiRF5KwFZKzqoi5dzK1w5K8nSqRwlqsdWAB/ZunF5KVMZKzt5QeJocHhl2owDsJg347aoqzFW2eOlApdSMwqYQsJRKVhl2zFZTIB5DXO5Q/8T+e7YKwP3fjblA4daP7dRKVhl2zFZD/8TqRwZQztl+ICZK1OSt7kWAB/E47ays7a3tJgDsJg5XnGZMzP5KwFZKztlMV/5K8nSq8GS+HnSTH+6cH1luBnlqs8T+JdsQH1SMVh5KB4ZKwGlMV/5KwFZKzqoi5dRKVhl2zFZTHNYKNdWunGZuj75QeG5KnGZMNdZiIdWqC/5KewoMVnlQeP5QeG5DX8T+JdsQRwZQztl+HOlqewoAzt5VeJocHbZiRtouj75QRGZtH1oqewS+H7YKNdluBAos7aa+U8TMonlM87YuBF5Qz4aTe1luBnlqsd9cIracHLDsJCZK1OSt7kSMB25T7B5Te1luBnlqsLDsOOo+dCZK1OSt7kSMB25D4dvTCd647aRQeJYivh9qRGZtIB5DILDsOBDsOtoienSMpdRQeJYivh9qRGZP/8Tq78T+Ugad7aa+H8l2owStHOlqewSMj1lTHbZiRPl25doKB2l+H+6cH1luBnlqs8T+JdsQH1SMVh5KB4ZKwGlMV/5KwFZKzqoi5dRKVhl2zFZTHNYKNdWunGZuj75QeG5KnGZMNdoKB2l+H+6c4doKzMWiz/ZQvdZKUdvs7aa+HISMz7ZiRF5KwFZKzqoi5dzK1w5K8nSqRwlqsdSMB25KVMZKzt5QeJocHhl2owDsJg347aoqzFW2eOlApdoKB2l+dCWunGZuj75D7dvcCd647aRQeJYivh9qRGZtI09cICWunGZuj7E47aSMz7ZiRF5Te7YKwP3fjtl2SLDsOBDsJGa+J8T+JdfuBAoivdYuj7oiRFWu4dW2ztSABt5QeG5QeJocH7l2IdlAWdZK1w5QH1oAN/5QRGZtIB5DI8T+JdsQRwZQztl+HFl2eJYujqDsJg347aoqzFW2eOlApdZKB4aTCd647aRQeJYivh9qRGZtIB5DILDsOBDsJGa+J8T+JdfuBAoivdYuj7oiRFWu4dW2ztSABt5KV/lTH7YKNdZAVj5Krwoqs/5K8GlTIB5DI8T+JdsQRwZQztl+HFl2eJYujqDsJg347aoqzFW2eOlApdYKBhocdO5Q/8T+e7YKwP3fjblA4d9cI4E47ays7a3tJgDsJg5VZtYiewStH15KjnluRwS+H7ltH7YKNdei1bou4dN2HtouVCSA1wois8T+JdsQ8wocH4Wu80aTC8T+JdsQH1SMVh5KwFZKzqoi5dRQo1lQzw5VeJocHAWurnocH7ltH2SMw7ocHGZis8T+JdsQRwZQztl+HFl2eJYujqDsJg347aoqzFW2eOlApdlqzhWMztaTeAWurnocCd647aRQeJYivh9Me1ZKXd3b7dSKVbYtd+S28PS2v+3TI46D54vt4dvfs/5Te7YKwP3fjtl2S/5Te7YKwP3fjblA4/5DHpvTCLDsJCZK1OSt7koKV7WcIF9cH4Wu80aTRC5+4dRQo1lQzwaf/8Tq78T+Ugad7aa+HiSMw7oivdWcHPZQROlMSdaKBt5Kr1WMz/acH7ltH7YKNdei1bou4dN2HtouVCSA1wois8T+JdsQ8wocH4Wu80aTC8T+JdsQH1SMVh5Q87SMwFotICZMV/ZuNdzK1w5Qo1lQzw5QeG5QZtYiew5KBnZI7aa+HISMz7ZiRF5KjGZK1OlMS8T+JGDsOMZujbZKwGl+H/WuRwlTdCZMV/ZuNO5Q/8T+e/oujqZKdd9cHPZQR/oupJRQo1lQzwaf/8T+e7YKwP3fjCWie15TpB5QH1WA/J5q8PS28PSt5/5DHpvbI73TIp5T/dRKrwlMZ7YT4dRQeJYivh9qRGZt4dRQeJYivh9M8GlT4dvQd43TIClKzFo2eJaf/8T+e7YKwP3fjCWie15TpB5TeAWurnof/8Tq78Tq7=

Function Calls

fgets 2
fopen 1
fread 2
strtr 2
fclose 1
ereg_replace 1
base64_decode 3

Variables

$O000O0O00 True
$O00O00O00 0
$OO00O0000 4936
$OO00O00O0 /** * Simple excel writer class with no external dependen..
$OOO0O0O00 index.php

Stats

MD5 94061dc43d045de8f9d2684082df6bfc
Eval Count 3
Decode Time 58 ms