首页 > 语言 > PHP > 正文

新版phpjm.net加密程序破解解密代码

2024-05-04 23:45:27
字体:大 中 小
来源:转载
供稿:网友

新版phpjm.net加密程序破解解密代码,很久没人找我解密了,看来这加密已过时,现公布我这边最新的解密工具。

若有解不出的可联系qq: 267014855 (不免费帮忙)
 

  1. <?php 
  2. $file = 'vevb.php';  //要破解的文件 
  3.  
  4.  
  5. $fp = fopen($file, 'r'); 
  6. $str = fread($fp, filesize($file)); 
  7. fclose($fp); 
  8.  
  9. copy($file, '0_'.$file); 
  10.  
  11. $n = 1; 
  12. while($n < 10){ 
  13.     $code = strdecode($str); 
  14.     if($n == 1){ 
  15.         $code = str_replace("__FILE__", "'0_$file'", $code); 
  16.     } 
  17.      
  18.     $replace = '$decode'.$n.'=trim'; 
  19.     if(strpos($code, 'eval(') > 0){ 
  20.         $code = str_replace('eval(', $replace.'(', $code); 
  21.     }else{ 
  22.         preg_match("/@//$(.*)/(//$(.*),(.*)/(/isU", $code, $res); 
  23.         $code = str_replace($res[3], "'$replace", $code); 
  24.     } 
  25.      
  26.     $code = preg_replace('///$(.*)=false;(.*?)/(/);/', '', $code); //上一版本 
  27.     $code = preg_replace('//|/|@//$(.*?)/(/);/', '|| print("ok");', $code); 
  28.      
  29.     $code = destr($code); 
  30.     $tmp_file = 'detmp'.$n.'.php'; 
  31.     file_put_contents($tmp_file, $code); 
  32.     include($tmp_file); 
  33.  
  34.     $val = 'decode'.$n; 
  35.     $str = $$val; 
  36.      
  37.     unlink($tmp_file); 
  38.      
  39.     if(strpos($str, ';?>') === 0){ 
  40.         $decode = $str; 
  41.         break; 
  42.     } 
  43.      
  44.     $str = "<?php/r/n". $str; 
  45.     $n++; 
  46. } 
  47.  
  48.  
  49. $decode = preg_replace("/^(.*)exit/('Access Denied'/); /", "<?php/r/n", $decode); 
  50. $del = strrchr($decode, 'unset'); 
  51. $decode = str_replace($del, "/r/n?>", $decode); 
  52. file_put_contents($file.'.de.php' ,$decode); 
  53. unlink('0_'.$file); 
  54. echo 'done'; 
  55.  
  56. //////////// 
  57. function val_replace($code, $val, $deval){ 
  58.     $code = str_replace('$'.$val.',', '$'.$deval.',', $code); 
  59.     $code = str_replace('$'.$val.';', '$'.$deval.';', $code); 
  60.     $code = str_replace('$'.$val.'=', '$'.$deval.'=', $code); 
  61.     $code = str_replace('$'.$val.'(', '$'.$deval.'(', $code); 
  62.     $code = str_replace('$'.$val.')', '$'.$deval.')', $code); 
  63.     $code = str_replace('$'.$val.'.', '$'.$deval.'.', $code); 
  64.     $code = str_replace('$'.$val.'/', '$'.$deval.'/', $code); 
  65.     $code = str_replace('$'.$val.'>', '$'.$deval.'>', $code); 
  66.     $code = str_replace('$'.$val.'<', '$'.$deval.'<', $code); 
  67.     $code = str_replace('$'.$val.'^', '$'.$deval.'^', $code); 
  68.     $code = str_replace('$'.$val.'||', '$'.$deval.'||', $code); 
  69.     $code = str_replace('($'.$val.' ', '($'.$deval.' ', $code); 
  70.     return $code; 
  71. } 
  72.  
  73. function fmt_code($code){ 
  74.     global $vals,$funs; 
  75.     preg_match_all("///$[0-9a-zA-Z/[/]']+(,|;)/iesU", $code, $res); 
  76.     foreach($res[0] as $v){ 
  77.         $val = str_replace(array('$',',',';'), '', $v); 
  78.         $deval = destr($val, 1); 
  79.         $vals[$val] = $deval; 
  80.         $code = val_replace($code, $val, $deval); 
  81.     } 
  82.  
  83.     preg_match_all("///$[0-9a-zA-Z/[/]']+=/iesU", $code, $res); 
  84.     foreach($res[0] as $v){ 
  85.         $val = str_replace(array('$','='), '', $v); 
  86.         $deval = destr($val, 1); 
  87.         $vals[$val] = $deval; 
  88.         $code = val_replace($code, $val, $deval); 
  89.     } 
  90.  
  91.     preg_match_all("/function/s[0-9a-zA-Z/[/]]+/(/iesU", $code, $res); 
  92.     foreach($res[0] as $v){ 
  93.         $val = str_replace(array('function ','('), '', $v); 
  94.         $deval = destr($val, 1); 
  95.         $funs[$val] = $deval; 
  96.         $code = str_replace('function '.$val.'(', 'function '.$deval.'(', $code); 
  97.         $code = str_replace('='.$val.'(', '='.$deval.'(', $code); 
  98.         $code = str_replace('return '.$val.'(', 'return '.$deval.'(', $code); 
  99.     } 
  100.     return $code; 
  101. } 
  102.  
  103. function strdecode($str){ 
  104.     $len = strlen($str); 
  105.     $newstr = ''; 
  106.     for($i=0; $i<$len; $i++){ 
  107.         $n = ord($str[$i]); 
  108.         $newstr .= decode($n); 
  109.     } 
  110.     return $newstr; 
  111. } 
  112.  
  113. function decode($dec){ 
  114.     if(($dec > 126 || $dec<32) && $dec<>13 && $dec<>10){ 
  115.         return '['.$dec.']'; 
  116.     }else{ 
  117.         return chr($dec); 
  118.     } 
  119. } 
  120.  
  121. function destr($str, $val=0){ 
  122.     $k = 0; 
  123.     $num = ''; 
  124.     $n = strlen($str); 
  125.     $code = ''; 
  126.     for($i=0; $i<$n; $i++){ 
  127.         if($str[$i] == '[' && ($str[$i+1]==1 || $str[$i+1]==2)){ 
  128.             $k = 1; 
  129.         }elseif($str[$i] == ']' && $k==1){ 
  130.             $num = intval($num); 
  131.             if($val==1){ 
  132.                 $num = 97 + fmod($num, 25); 
  133.             } 
  134.             $code .= chr($num); 
  135.             $k = 0; 
  136.             $num = null; 
  137.         }else{ 
  138.             if($k == 1){ 
  139.                 $num .= $str[$i]; 
  140.             }else{ 
  141.                 $code .= $str[$i]; 
  142.             } 
  143.         } 
  144.     } 
  145.     return $code; 
  146. } 
  147. ?>  

注:相关教程知识阅读请移步到PHP教程频道。
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

图片精选