首页 > 语言 > 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. $decode = preg_replace("/^(.*)exit/('Access Denied'/); /""<?php/r/n", $decode); 
  49. $del = strrchr($decode, 'unset'); 
  50. $decode = str_replace($del, "/r/n?>", $decode); 
  51. file_put_contents($file.'.de.php' ,$decode); 
  52. unlink('0_'.$file); 
  53. echo 'done'
  54.  
  55. //////////// 
  56. function val_replace($code, $val, $deval){ 
  57.     $code = str_replace('$'.$val.',''$'.$deval.',', $code); 
  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.     return $code; 
  70.  
  71. function fmt_code($code){ 
  72.     global $vals,$funs; 
  73.     preg_match_all("///$[0-9a-zA-Z/[/]']+(,|;)/iesU", $code, $res); 
  74.     foreach($res[0] as $v){ 
  75.         $val = str_replace(array('$',',',';'), '', $v); 
  76.         $deval = destr($val, 1); 
  77.         $vals[$val] = $deval; 
  78.         $code = val_replace($code, $val, $deval); 
  79.     } 
  80.  
  81.     preg_match_all("///$[0-9a-zA-Z/[/]']+=/iesU", $code, $res); 
  82.     foreach($res[0] as $v){ 
  83.         $val = str_replace(array('$','='), '', $v); 
  84.         $deval = destr($val, 1); 
  85.         $vals[$val] = $deval; 
  86.         $code = val_replace($code, $val, $deval); 
  87.     } 
  88.  
  89.     preg_match_all("/function/s[0-9a-zA-Z/[/]]+/(/iesU", $code, $res); 
  90.     foreach($res[0] as $v){ 
  91.         $val = str_replace(array('function ','('), '', $v); 
  92.         $deval = destr($val, 1); 
  93.         $funs[$val] = $deval; 
  94.         $code = str_replace('function '.$val.'(''function '.$deval.'(', $code); 
  95.         $code = str_replace('='.$val.'(''='.$deval.'(', $code); 
  96.         $code = str_replace('return '.$val.'(''return '.$deval.'(', $code); 
  97.     } 
  98.     return $code; 
  99.  
  100. function strdecode($str){ 
  101.     $len = strlen($str); 
  102.     $newstr = ''
  103.     for($i=0; $i<$len; $i++){ 
  104.         $n = ord($str[$i]); 
  105.         $newstr .= decode($n); 
  106.     } 
  107.     return $newstr; 
  108.  
  109. function decode($dec){ 
  110.     if(($dec > 126 || $dec<32) && $dec<>13 && $dec<>10){ 
  111.         return '['.$dec.']'
  112.     }else
  113.         return chr($dec); 
  114.     } 
  115.  
  116. function destr($str, $val=0){ 
  117.     $k = 0; 
  118.     $num = ''
  119.     $n = strlen($str); 
  120.     $code = ''
  121.     for($i=0; $i<$n; $i++){ 
  122.         if($str[$i] == '[' && ($str[$i+1]==1 || $str[$i+1]==2)){ 
  123.             $k = 1; 
  124.         }elseif($str[$i] == ']' && $k==1){ 
  125.             $num = intval($num); 
  126.             if($val==1){ 
  127.                 $num = 97 + fmod($num, 25); 
  128.             } 
  129.             $code .= chr($num); 
  130.             $k = 0; 
  131.             $num = null
  132.         }else
  133.             if($k == 1){ 
  134.                 $num .= $str[$i]; 
  135.             }else
  136.                 $code .= $str[$i]; 
  137.             } 
  138.         } 
  139.     } 
  140.     return $code; 
  141. ?>  

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

图片精选