微盾PHP脚本加密专家php解密算法

yipeiwu_com7年前PHP代码库
复制代码 代码如下:

<?php
/***********************************
*威盾PHP加密专家解密算法 By:Neeao
*http://Neeao.com
*2009-09-10
***********************************/

$filename="play-js.php";//要解密的文件
$lines = file($filename);//0,1,2行

//第一次base64解密
$content="";
if(preg_match("/O0O0000O0\('.*'\)/",$lines[1],$y))
{
$content=str_replace("O0O0000O0('","",$y[0]);
$content=str_replace("')","",$content);
$content=base64_decode($content);
}
//第一次base64解密后的内容中查找密钥
$decode_key="";
if(preg_match("/\),'.*',/",$content,$k))
{
$decode_key=str_replace("),'","",$k[0]);
$decode_key=str_replace("',","",$decode_key);
}
//查找要截取字符串长度
$str_length="";
if(preg_match("/,\d*\),/",$content,$k))
{
$str_length=str_replace("),","",$k[0]);
$str_length=str_replace(",","",$str_length);
}
//截取文件加密后的密文
$Secret=substr($lines[2],$str_length);
//echo $Secret;

//直接还原密文输出
echo "<?php\n".base64_decode(strtr($Secret,$decode_key,'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/'))."?>";
?>

微盾PHP脚本破解
复制代码 代码如下:

<?php
function get_filetree($path){
$tree = array();
foreach(glob($path . '/*') as $single){
if(is_dir($single)){
$tree = array_merge($tree,get_filetree($single));
} else {
$tree[] = $single;
}
}
return $tree;
}
function eval_decode($File)
{
$Lines = file($File);
$Content;
if(preg_match("/O0O0000O0\('.*'\)/", $Lines[1], $S)){
$Content = str_replace("O0O0000O0('", "", $S[0]);
$Content = str_replace("')", "", $Content);
$Content = base64_decode($Content);
} else {
return "file not encode!";
}
$Key;
if(preg_match("/\),'.*',/", $Content, $K)){
$Key = str_replace("),'", "", $K[0]);
$Key = str_replace("',", "", $Key);
} else {
return "not decode key!";
}
$Length;
if(preg_match("/,\d*\),/", $Content, $K)){
$Length = str_replace("),", "", $K[0]);
$Length = str_replace(",", "", $Length);
} else {
return "not decode base64 string!";
}
$Secret = substr($Lines[2], $Length);
$Decode = "<?php".base64_decode(strtr($Secret,$Key,'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')) ."?>";
file_put_contents($File, $Decode);
return "file decode success!";
}

$filelist = get_filetree("D:/PHPnow/htdocs/1");
foreach($filelist as $value){
echo $value." :\t\t".eval_decode($value) . "\n\r<br>";
}
?>

相关文章

使用PHPStorm+XDebug搭建单步调试环境

使用PHPStorm+XDebug搭建单步调试环境

PHP是一个解释执行的语言,一般来说,进行调试的时候,只要通过使用 var_dump 或者 var_export 两个函数,就可以得到PHP中变量的值,达到调试的地步,但是对于大型项目,...

用PHP读取和编写XML DOM的实现代码

用PHP读取和编写XML DOM的实现代码

用 PHP 读取和编写可扩展标记语言(XML)看起来可能有点恐怖。实际上,XML 和它的所有相关技术可能是恐怖的,但是用 PHP 读取和编写 XML 不一定是项恐怖的任务。首先,需要学习...

学习php设计模式 php实现备忘录模式(Memento)

学习php设计模式 php实现备忘录模式(Memento)

一、意图 在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样可以在以后把该对象的状态恢复到之前保存的状态。 二、备忘录模式结构图 三、备忘录模式中主要角色...

Php中文件下载功能实现超详细流程分析

Php中文件下载功能实现超详细流程分析

客户端从服务端下载文件的流程分析: 浏览器发送一个请求,请求访问服务器中的某个网页(如:down.php),该网页的代码如下。 服务器接受到该请求以后,马上运行该down.php文件 运...

PHP使用递归算法无限遍历数组示例

本文实例讲述了PHP使用递归算法无限遍历数组。分享给大家供大家参考,具体如下: (PS:为方便阅读,此处代码使用php代码格式化工具http://tools.jb51.net/code/...