完全解密wdcp的php程序

wdcp的代码完全解密php程序如下,可以把wdcp的php代码批量还原为php源程序

<?php
/**
* wd_decode
*/

function wd_decode($filename) {

$data = unpack('C*', substr(file_get_contents($filename), 9));
$key = array(0xB8, 0x35, 0x6, 0x2, 0x88, 0x1, 0x5B, 0x7, 0x44, 0x0);
$j = count($data);
foreach($data as $k => &$v) {
$v = $key [ 2 * ($j % 5) ] ^ ~$v;
// $v = sprintf('%u', $v);
$v &= 0xFF;
$v = pack('C*', $v);
-- $j;
}
return @gzuncompress(join('', $data));
}

//scandir("wdcp");
//print_r(glob_mark($path));

$dir='wdcp';
$phpfile='';
function traverse($path = '.') {
$current_dir = opendir($path); //opendir()返回一个目录句柄,失败返回false
while(($file = readdir($current_dir)) !== false) { //readdir()返回打开目录句柄中的一个条目
$sub_dir = $path . DIRECTORY_SEPARATOR . $file; //构建子目录路径
if($file == '.' || $file == '..') {
continue;
} else if(is_dir($sub_dir)) { //如果是目录,进行递归
// echo 'Directory ' . $file . ':<br>';
traverse($sub_dir);
} else { //如果是文件,直接输出
$phpfile=$path.DIRECTORY_SEPARATOR.$file;
$filestr=explode('.',$phpfile);
$strnum=sizeof($filestr);
if($filestr[$strnum-1]=='php'){
//echo $phpfile."\n";
$content=wd_decode($phpfile);
if(!empty($content)){
$fp=fopen($phpfile,'wb');
fwrite($fp,$content);
fclose($fp);
}
}
// echo $path.DIRECTORY_SEPARATOR.$file;
// echo 'File in Directory ' . $path . ': ' . $file . '<br>';
}
}
}

traverse($dir);

注:核心功能代码可参考http://tkxxd.net/thread-1843-1-1.html,转载请注明出处

解决php连接mysql乱码问题

用php程序访问mysql数据库的时候,我们要定义数据库编码,如果不指定会有乱码的问题,在supesite中存在此类问题。

在连接mysql数据库时要有以下的语句

mysql_connect(‘localhost’,’user’,’password’);
mysql_select_db(‘my_db’);
mysql_query(“set names utf8;”);

例如数据库的编码是gbk,使用supesite4.0时候,找到sources/source.php在select数据后添加如以下代码
mysql_select_db ($dbname);
mysql_query("set names gbk;");