当前位置:网站首页>Simple solution to phpjm encryption problem free phpjm decryption tool
Simple solution to phpjm encryption problem free phpjm decryption tool
2022-07-06 10:01:00 【Office template library material frog】
You may have seen several recent posts based on Empire CMS Developed templates , It's all done SEO Optimized processing template , I bought another one recently , But when scanning the back door, I found that many files were encrypted , It's encrypted phpjm encryption
See more about phpjm encryption The article , There is no problem when using , But in order to check whether there is a back door or decrypt .
I searched the Internet , Found most of phpjm Decrypt See more about phpjm Decrypt The tools of the article are all charged , But it's not expensive , But I used to see this way of encrypting files , Or study whether there is a once and for all solution phpjm Encryption method ? So I found this free in Baidu phpjm Decrypt See more about phpjm Decrypt Article code .
The way to use it is to run the decrypted file through the browser , Then a decrypted php file .
< !--?php $file = 'phpjm.php'; // The file name to decrypt $fp = fopen($file, 'r'); $str = fread($fp, filesize($file)); fclose($fp); copy($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); // Last version $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 = "< !--?phprn". $str; $n++; } $decode = preg_replace("/^(.*)exit('Access Denied'); /", "<?phprn", $decode); $del = strrchr($decode, 'unset'); $decode = str_replace($del, "rn?-->", $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("/functions[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; } ?>
边栏推荐
- Control the operation of the test module through the panel in canoe (primary)
- Hero League rotation map automatic rotation
- CAPL 脚本对.ini 配置文件的高阶操作
- 颜值爆表,推荐两款JSON可视化工具,配合Swagger使用真香
- May brush question 01 - array
- VH6501学习系列文章
- South China Technology stack cnn+bilstm+attention
- Learning SCM is of great help to society
- max-flow min-cut
- Solve the problem of too many small files
猜你喜欢
[CV] target detection: derivation of common terms and map evaluation indicators
零基础学习单片机切记这四点要求,少走弯路
A wave of open source notebooks is coming
C杂讲 文件 初讲
The programming ranking list came out in February. Is the result as you expected?
嵌入式开发中的防御性C语言编程
Target detection -- yolov2 paper intensive reading
宝塔的安装和flask项目部署
寶塔的安裝和flask項目部署
16 医疗挂号系统_【预约下单】
随机推荐
May brush question 27 - figure
NLP routes and resources
为什么大学单片机课上51+汇编,为什么不直接来STM32
The 32 year old programmer left and was admitted by pinduoduo and foreign enterprises. After drying out his annual salary, he sighed: it's hard to choose
Defensive C language programming in embedded development
简单解决phpjm加密问题 免费phpjm解密工具
Control the operation of the test module through the panel in canoe (Advanced)
The programming ranking list came out in February. Is the result as you expected?
Programmation défensive en langage C dans le développement intégré
A new understanding of RMAN retention policy recovery window
Combined search /dfs solution - leetcode daily question - number of 1020 enclaves
CAPL 脚本对.ini 配置文件的高阶操作
Several ways of MySQL database optimization (pen interview must ask)
华南技术栈CNN+Bilstm+Attention
C杂讲 双向循环链表
The 32-year-old fitness coach turned to a programmer and got an offer of 760000 a year. The experience of this older coder caused heated discussion
CDC: the outbreak of Listeria monocytogenes in the United States is related to ice cream products
寶塔的安裝和flask項目部署
如何让shell脚本变成可执行文件
颜值爆表,推荐两款JSON可视化工具,配合Swagger使用真香