导航:首页 > 编程语言 > php混淆加密工具

php混淆加密工具

发布时间:2024-11-28 23:22:55

A. 如何破解phpjm.net的混淆加密并解密

$file = 'plugin.php'; //要破解的文件
$fp = fopen($file, 'r');
$str = fread($fp, filesize($file));
fclose($fp);
($file, '0_'.$file);
$n = 1;
while($n < 10){
$code = strdecode($str);
if($n == 1){
$code = str_replace("__FILE__", "'0_$file'", $code);
}
$replace = '$decode'.$n.'=trim';
if(strpos($code, 'eval(') > 0){
$code = str_replace('eval(', $replace.'(', $code);
}else{
preg_match("/@\\$(.*)\(\\$(.*),(.*)\(/isU", $code, $res);
$code = str_replace($res[3], "'$replace", $code);
}
$code = preg_replace('/\\$(.*)=false;(.*?)\(\);/', '', $code); //上一版本
$code = preg_replace('/\|\|@\\$(.*?)\(\);/', '|| print("ok");', $code);
$code = destr($code);
$tmp_file = 'detmp'.$n.'.php';
file_put_contents($tmp_file, $code);
include($tmp_file);
$val = 'decode'.$n;
$str = $$val;
unlink($tmp_file);
if(strpos($str, ';?>') === 0){
$decode = $str;
break;
}
$str = " $n++;
}
$decode = preg_replace("/^(.*)exit\('Access Denied'\); /", " $del = strrchr($decode, 'unset');
$decode = str_replace($del, "\r\n?>", $decode);
file_put_contents($file.'.de.php' ,$decode);
unlink('0_'.$file);
echo 'done';
////////////
function val_replace($code, $val, $deval){
$code = str_replace('$'.$val.',', '$'.$deval.',', $code);
$code = str_replace('$'.$val.';', '$'.$deval.';', $code);
$code = str_replace('$'.$val.'=', '$'.$deval.'=', $code);
$code = str_replace('$'.$val.'(', '$'.$deval.'(', $code);
$code = str_replace('$'.$val.')', '$'.$deval.')', $code);
$code = str_replace('$'.$val.'.', '$'.$deval.'.', $code);
$code = str_replace('$'.$val.'/', '$'.$deval.'/', $code);
$code = str_replace('$'.$val.'>', '$'.$deval.'>', $code);
$code = str_replace('$'.$val.'<', '$'.$deval.'<', $code);
$code = str_replace('$'.$val.'^', '$'.$deval.'^', $code);
$code = str_replace('$'.$val.'||', '$'.$deval.'||', $code);
$code = str_replace('($'.$val.' ', '($'.$deval.' ', $code);
return $code;
}
function fmt_code($code){
global $vals,$funs;
preg_match_all("/\\$[0-9a-zA-Z\[\]']+(,|;)/iesU", $code, $res);
foreach($res[0] as $v){
$val = str_replace(array('$',',',';'), '', $v);
$deval = destr($val, 1);
$vals[$val] = $deval;
$code = val_replace($code, $val, $deval);
}
preg_match_all("/\\$[0-9a-zA-Z\[\]']+=/iesU", $code, $res);
foreach($res[0] as $v){
$val = str_replace(array('$','='), '', $v);
$deval = destr($val, 1);
$vals[$val] = $deval;
$code = val_replace($code, $val, $deval);
}
preg_match_all("/function\s[0-9a-zA-Z\[\]]+\(/iesU", $code, $res);
foreach($res[0] as $v){
$val = str_replace(array('function ','('), '', $v);
$deval = destr($val, 1);
$funs[$val] = $deval;
$code = str_replace('function '.$val.'(', 'function '.$deval.'(', $code);
$code = str_replace('='.$val.'(', '='.$deval.'(', $code);
$code = str_replace('return '.$val.'(', 'return '.$deval.'(', $code);
}
return $code;
}
function strdecode($str){
$len = strlen($str);
$newstr = '';
for($i=0; $i<$len; $i++){
$n = ord($str[$i]);
$newstr .= decode($n);
}
return $newstr;
}
function decode($dec){
if(($dec > 126 || $dec<32) && $dec<>13 && $dec<>10){
return '['.$dec.']';
}else{
return chr($dec);
}
}
function destr($str, $val=0){
$k = 0;
$num = '';
$n = strlen($str);
$code = '';
for($i=0; $i<$n; $i++){
if($str[$i] == '[' && ($str[$i+1]==1 || $str[$i+1]==2)){
$k = 1;
}elseif($str[$i] == ']' && $k==1){
$num = intval($num);
if($val==1){
$num = 97 + fmod($num, 25);
}
$code .= chr($num);
$k = 0;
$num = null;
}else{
if($k == 1){
$num .= $str[$i];
}else{
$code .= $str[$i];
}
}
}
return $code;
}
?>

B. 解密PHP混淆代码,求解码(过程)完整方法。。

用 Echo '<pre>',Var_Dump(),'</pre>'; 不断跟踪输出
例如:
$OOO0000O0 .= $OOO0000O0[3].$OOO000000[11].$OOO000000[12].$OOO0000O0[7].$OOO000000[5];
$O0O0000O0 = "OOO0000O0";
Echo '<pre>',Var_Dump($$O0O0000O0),'</pre>';//我在这里跟踪会输出base64_decode
所以你就可以把$$O0O0000O0理解成是base64_decode这个函数的另外一种表现方式,虽然看起来不同,但是他却是实实在在的在做base64_decode该做的事情.
这样一步一步跟踪输出,有时候需要替换一下,最后就能出结果了

阅读全文

与php混淆加密工具相关的资料

热点内容
linux文件操作命令 浏览:125
安卓手机图片文件夹加锁 浏览:778
steam提示音在哪个文件夹 浏览:337
项目开发全程实录pdf 浏览:530
单片机reset 浏览:595
pdf怎么是英文 浏览:969
旗云2压缩机保险 浏览:374
做程序员压力大吗表情包 浏览:312
pdf下拉 浏览:371
php去掉小数后面的0 浏览:954
阿里备案买什么服务器 浏览:261
网络驱动下载到哪个文件夹 浏览:481
达内程序员培训西安 浏览:505
人保送车主惠app上怎么年检 浏览:604
android手机开机密码 浏览:480
linux查看某个进程命令 浏览:529
闲置的腾讯云服务器 浏览:439
rar压缩包mac 浏览:628
php混淆加密工具 浏览:583
java把数字拆分 浏览:466