解码GL\x4f\x42A\x4c\x53类加密实例
网上有很多PHP的加密文件,类似GL\x4f\x42A\x4c\x53格式的,下面我们给出解密的方法:
这里要解密的文件命名为:aaa.php 。
<?php
//laoji.org 解码GL\x4f\x42A\x4c\x53类加密
$fn='aaa.php';
$t='0123456789abcdefABCDEF';
$r=$p=$qt=$s='';
$slash=false;
$i=$j=0;
if ($f=fopen($fn,"rb")){
$s=fread($f,filesize($fn));
fclose($f);
for ($i=0;$i<strlen($s);$i++){
$slash=false;
$p=sprintf(" %06d,%06d",$i,$j);
if ($s[$i]=='\\'&&$s[$i + 1]=='x'
&&strpos($t,$s[$i+2])!==false&&strpos($t,$s[$i+3])!==false){
$qt=strtolower(substr($s,$i,4));
$slash=(($qt=='\\x22'||$qt=='\\x5c')&&$s[$i-1]!='\\') //引号\x22 斜杠\x5c,前面不是斜杠,需补充斜杠
||(($qt=='\\x22'||$qt=='\\x5c')&&substr($s,$i-2,2)=='\\\\');//前面是2+个斜杠,需要补充斜杠
if ($slash) {
$p=sprintf("<font color=red>%s",$p);
$j++;
}
//echo 'H:'.$qt.'=> '.chr(hexdec($s[$i+2].$s[$i+3])).$p.'<br />';
$qt=($slash)?'\\':'';
$r.=$qt.chr(hexdec($s[$i+2].$s[$i+3]));
$i=$i+3;
}else{
//echo 'C:=====> '.$s[$i].$p.'<br />';
$r.=$s[$i];
}
$j++;
}
$i=0;
$ra=array();
preg_match_all('/(?P<item>\$\{"[a-zA-Z_0-9]+"\}\s*\[\"[a-zA-Z_0-9]+\"\])\s*=\s*"(?P<value>[a-zA-Z_0-9]+)";/i',$r,$ra);
foreach ($ra['item'] as $i=>$a){ //$a = ${"GLOBALS"}["mqhformwegp"]
$b=$a.'="'.$ra['value'][$i].'";';
if (strpos($r,$b)!==false) {
//print_r($b);exit;
$r=str_replace($b,'',$r);
$r=str_replace('{'.$a.'}',$ra['value'][$i],$r);
}
}
preg_match_all('/(?P<item>\$[a-zA-Z_0-9]+)\s*=\s*"(?P<value>[a-zA-Z_0-9]+)";/i',$r,$ra);
foreach ($ra['item'] as $i=>$a){
$b=$a.' = "'.$ra['value'][$i].'";';
$a1='${'.$a.'}';
if (strpos($r,$b)!==false&&strpos($r,$a1)!==false) {
$r=str_replace($b,'',$r);
$r=str_replace('{'.$a.'}',$ra['value'][$i],$r);
}
}
preg_match_all('/(?P<item>\$\{(?P<value>\$[a-z]+)\})/i',$r,$ra);
foreach ($ra['item'] as $i=>$a){ //$a = ${$mqhformwegp}
//$b=$a.'="'.$ra['value'][$i].'";';
$b='/\\'.$ra['value'][$i].'=\"([a-zA-Z_0-9]+)\";/';
//print_r($b);
//if(preg_match($b, $r, $c)){
if( preg_match($b,$r, $c) ){
$r=str_replace($c[0],'',$r);
$r=str_replace($a,'$'.$c[1],$r);
}
}
$r= str_replace("{","{\r\n\t",$r);
$r= str_replace("}","}\r\n\t",$r);
$r= str_replace(";",";\r\n\t",$r);
$fn='aaa1.php';
$f=fopen($fn,"wb");
fwrite($f,$r);
fclose($f);
echo 'done...';
exit;
}
解密完成后会新建一个文件aaa1.php。 这里就是解密好的文件了。
- QQ群:253510359
- 建议:VPS商家层出不穷,根据需要购买,切莫剁剁剁!
- 评测:很多VPS虽已评测,但网络环境改变稳定性,速度也会随之改变.评测只能作为一般性参考.不负任何法律,道义责任.
- 申明:所有vps,域名,服务器优惠信息均来自网络公开内容,由于水平有限不免有谬误.请以官方为准.