独创:几十行纯php代码解密goto加密的php单文件[仅供学习]

使用用途
1. 安全测试:测试你用网络工具加密的代码是否可以被快速解密。
2. 学习参考:对自己感兴趣的源码解密用于编程学习,或了解加密解密。
3. 安全评估:解密自己用的第三方源码是否有危险行为,比如后门、间谍行为.
不得用于
1. 解密出售:请尊重他人劳动成果,不得公开、盗卖他人知识产权等侵权行为。
2. 黑产:不得用于网络攻击、非法获取网络数据等违反法律法规的用途。
备注说明 已可解密大部分加密内容(非全),够你用于网络安全分析及解密思路学习。

<?php

//建议用途
//1. 安全测试:测试你用网络工具加密的代码是否可以被快速解密。
//2. 学习参考:对自己感兴趣的源码解密用于编程学习,或了解加密解密。
//3. 安全评估:解密自己用的第三方源码是否有危险行为,比如后门、间谍行为.
//不得用于
//1. 解密出售:请尊重他人劳动成果,不得公开、盗卖他人知识产权等侵权行为。
//2. 黑产:不得用于网络攻击、非法获取网络数据等违反法律法规的用途。


//去行首goto+多字母;
function Trimgoto($str,$stra){
$str = Trim($str);
preg_match_all('/goto.+?;/', $str, $goto);
foreach($goto[0] as $tiqu6){
$str = Trim(str_replace("@#@".$tiqu6,"","@#@".$str));
}
return $str;
}

//作用:按长度降序 替换 \开头+数字字母的转义符
function Trimziti($str,$stra){
$str = Trim($str);
preg_match_all('/(\\\[a-zA-Z0-9]{1,4})+/', $str, $ziti);
foreach($ziti[0] as $tiqu6){
$lans = strlen($tiqu6);
$liti[$tiqu6] = $lans;
}
arsort($liti);
$tiecho="";
$numberOfFiles = sizeOf($liti);
for($t=0;$t<$numberOfFiles;$t++){
$thisFile = each($liti);
$tiqu6 = $thisFile[0];
$tiqua = $thisFile[1];
eval("\$tsts = \"{$tiqu6}\";");
$tiqux = addslashes($tiqu6);
$str = str_replace($tiqux,$tsts,$str);
$str = str_replace($tiqu6,$tsts,$str);
}
return $str;
}

//去行首 多字母: ;
function Trimgete($str,$stra){
$str = Trim($str);
preg_match_all('/\w+:/', $str, $gete);
foreach($gete[0] as $tiqu6){
if(stristr("@#@".$str,"@#@".$tiqu6)){
$str = Trim(str_replace("@#@".$tiqu6,"","@#@".$str));
}
}
return $str;
}

$efile = "install.php"; //要解密的文件
$code = file_get_contents($efile);

if (strlen($code)>10){
    $code1 = $code;
//$code1 = Trimziti($code1,"");
$code1 =str_replace(array('<?php','?>'),"\r\n // ?php? \r\n",$code1);
$code1 =str_replace(array('goto '),"\r\ngoto ",$code1);
$codes = "";
$tat0=explode("\r\n",$code1);
foreach($tat0 as $tat1){
$tat1 = Trim($tat1);
if(strlen(Trim($tat1))>1 && stristr("@".$tat1,"@goto ")){
$codo1 = Trimgoto($tat1,$stra);
$codo1 = Trimgete($codo1,$stra);
$codo2 = "\$chalida .= '" . addslashes($codo1) ."';";
$codel = str_replace($codo1,$codo2,$tat1);
$codes .= $codel."\r\n";
}else{
$codes .= $tat1."\r\n";
}
}
eval($codes);
$chalide = $chalida;
$chalide = Trimziti($chalide,"");
$chalide = stripslashes($chalide);

//以下只是将解密格式化便于肉眼观看
$chalide = str_replace(");",");\r\n",$chalide);
$chalide = str_replace("){","){\r\n",$chalide);
$chalide = str_replace(") {","){\r\n",$chalide); //;if
$chalide = str_replace(";if",";\r\nif",$chalide);
$chalide = str_replace("}function ","}\r\nfunction ",$chalide);
$chalide = str_replace(";function ",";\r\nfunction ",$chalide);
$chalide = str_replace("<","&lt;",$chalide);
$chalide = str_replace(">","&gt;",$chalide);


echo $chalide;
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章