| 
<?php 
// $Id: cleanex.php,v 1.0.1 2009/02/12 03:00:21 humaneasy Exp $
 /**
 * @file
 * Generates config for test program.
 * @Version: 1.0.1
 * @Released: 05/27/03
 * @Donation: http://smsh.me/7kit
 *
 * Copyright (C) 2003-2009 Humaneasy, brainVentures Network.
 * Licensed under GNU Lesser General Public License 3 or above.
 * Please visit http://www.gnu.org to now more about it.
 *
 * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
 * Redistribution and use in source and binary forms, with or without
 * modification, are permitted provided that the following conditions
 * are met:
 *
 * 1. Redistributions of source code must retain the above copyright
 *    notice, this list of conditions and the following disclaimer.
 *
 * 2. Redistributions in binary form must reproduce the above copyright
 *    notice, this list of conditions and the following disclaimer in the
 *    documentation and/or other materials provided with the distribution.
 *
 * 3. Neither the name of the project nor the names of its contributors
 *    may be used to endorse or promote products derived from this software
 *    without specific prior written permission.
 *
 * THIS SOFTWARE IS PROVIDED BY THE PROJECT AND CONTRIBUTORS ``AS IS'' AND
 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
 * PURPOSE ARE DISCLAIMED.  IN NO EVENT SHALL THE PROJECT OR CONTRIBUTORS
 * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
 * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
 * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR
 * BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
 * WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
 * OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
 * ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 */
 ?><!doctype html public "-//W3C//DTD HTML 4.0 //EN">
 <html>
 <head>
 <title>EFC/XFSS - Enhanced File Crypto/Extended File Stealth System!</title>
 
 <!-- START: Browser Icon -->
 <link REL="icon" TYPE="image/gif" HREF="icon_logo.gif">
 <!-- ENDED: Browser Icon -->
 
 <meta HTTP-EQUIV="Cache-Control" value="no-cache, must-revalidate">
 <meta HTTP-EQUIV="~Pragma" value="no cache">
 <meta HTTP-EQUIV="Expires" value="Mon, 26 Jan 1970 00:00:00 GMT">
 <meta HTTP-EQUIV="Last-Modified" value="Mon, 21 May 2003 16:52:00 GMT">
 
 </head>
 <body>
 <table cellpadding=0 cellspacing=0 width="100%" height="100%"><tr><td height="95%">
 <img src=efc_logo.gif alt=efc align=right valign=top>
 
 <?php
 
 // make sure we can use mcrypt_generic_init
 if (!function_exists(mcrypt_generic_init)) {
 ?>
 
 <h5>libmcrypt not available</h5>
 <p>In order to use crypt class you must have libmcrypt >= 2.4.x installed and
 PHP must be compiled with --with-mcrypt, if you don't know what this means
 please contact your hosting provider or system admin.</p>
 
 <?php
 exit;
 }
 
 // Define mandatory variable
 if (!defined("__SECURE_PATH__"))
 define("__SECURE_PATH__", "{$_SERVER['DOCUMENT_ROOT']}/efc/secured/", TRUE);
 
 // Set a temporary $key and $data for encryption tests
 $key = md5(time() . getmypid());
 $data = @file_get_contents('efc.class.php');
 
 // Get and sort available cipher methods
 $ciphers = mcrypt_list_algorithms();
 natsort($ciphers);
 
 // Get and sort available cipher modes
 $modes = mcrypt_list_modes();
 natsort($modes);
 
 print "       <h3>Tests to installed libmcrypt ciphers/modes</h3>\n";
 print "       <ol>\n";
 
 foreach ($ciphers as $cipher) {
 
 print "         <li>Cipher: $cipher\n";
 print "           <ul>\n";
 
 foreach ($modes as $mode) {
 
 // Not Compatible
 $result = 'false';
 
 // open encryption module
 $td = @mcrypt_module_open($cipher, '', $mode, '');
 
 // if we could open the cipher
 if ($td) {
 
 // try to generate the iv
 $iv = @mcrypt_create_iv(mcrypt_enc_get_iv_size ($td), MCRYPT_RAND);
 
 // if we could generate the iv
 if ($iv) {
 
 // initialize encryption
 @mcrypt_generic_init ($td, $key, $iv);
 
 // encrypt data
 $encrypted_data = mcrypt_generic($td, $data);
 
 // cleanup
 mcrypt_generic_deinit($td);
 
 // No error issued
 $result = 'true';
 }
 
 // close
 @mcrypt_module_close($td);
 
 }
 
 print "             <li>Mode <i>$mode</i> is <b>$result</b>.</li>\n";
 if ($result == "true")
 $available["$cipher"][] = $mode;
 
 }
 print "           </ul>\n";
 print "         </li>\n";
 }
 ?>
 </ol>
 <?php
 if (count($available) > 0) {
 print "       <font size=3>Saving config file...</font>\n";
 
 // Set destination file name
 $dst_filename = __SECURE_PATH__.".efc.config.php";
 
 // touch destination file so it will exist when we check for it
 @touch($dst_filename);
 
 // can we write to it
 $msg = "configuration: cannot open ".$dst_filename." ";
 if (!is_writable($dst_filename))
 trigger_error($msg, E_USER_ERROR);
 
 // open the destionation file for writing
 $dest_fp = fopen($dst_filename, w);
 
 // return false if unable to open file
 $msg = "configuration: cannot open ".$dst_filename." ";
 if (!$dest_fp) trigger_error($msg, E_USER_ERROR);
 
 // write encrypted data to file
 $strAv  = "<?php\n\n";
 $strAv .= "/**\n";
 $strAv .= "  Copyright (C) 2003 HumanEasy, Lda. <[email protected]>.\n";
 $strAv .= "  All rights reserved.\n\n";
 $strAv .= "  This file is licensed under GNU GPL version 2 or above.\n";
 $strAv .= "  Please visit http:\/\/www.gnu.org to now more about it.\n\n";
 $strAv .= " ----------------------------------------------------------------\n\n";
 $strAv .= "   Name: EasyFileCrypt Extending Crypt Class\n";
 $strAv .= "   Version: 1.0\n\n";
 $strAv .= "   Created: ".date("r")."\n";
 $strAv .= "   Ciphers Installed on this system: ".count($ciphers)."\n\n";
 $strAv .= "**/\n\n";
 $strAv .= "    \$xfss = Array ( ";
 
 foreach ($ciphers as $avCipher) {
 
 $v = "";
 if (count($available["$avCipher"]) > 0) {
 foreach ($available["$avCipher"] as $avMode)
 $v .= " '".$avMode."', ";
 
 $i = strlen($v) - 2;
 if ($v[$i] == ",")
 $v = substr($v, 2, $i - 3);
 }
 if (!empty($v)) $v = " '".$v."' ";
 $strAv .= "'".$avCipher."' => Array (".$v."),\n                    ";
 }
 $strAv = rtrim($strAv);
 if ($strAv[strlen($strAv) - 1] == ",")
 $strAv = substr($strAv, 0, strlen($strAv) - 1);
 $strAv .= " );\n\n";
 $strAv .= "?>";
 
 fwrite($dest_fp, $strAv);
 
 // close encrypted file pointer
 fclose($dest_fp);
 }
 ?>
 <h1>Done!</h1>
 </td></tr>
 <tr><td height=8 bgcolor=navy align=right><font face=arial,sans-serif size=1 color=white>EFC/XFSS - Extended File Stealth System © 2003 HumanEasy, Lda. Licensed under GNU General Public License 2 or above. All Rights Reserved.   </font></td>
 </tr>
 </table>
 </body>
 </html>
 |