1.   阿里云服务器1888元代金券领取
  2.   本网站所有源码包解压密码:www.youhutong.com
登录  帮助问答

wdcp管理系统源代码加密解密方法,Linux服务器管理系统!

小川 技术文章
郑重声明:
  本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,否则后果请用户自负,下载后请24小时内删除。 本站所有内容均不能保证其完整性,不提供任何技术支持,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用。

wdcp管理系统源代码加密解密方法,Linux服务器管理系统!


在修改修复WDCP管理系统时,打开文件全是加密的,那么就需要我们解密PHP文件了!

下面是从网上找到一解密加密代码的方法,都是单个文件加密解密。

觉得麻烦自己就修改了一下方法,使方法能一次直接解密整个文件夹!

以下是修改后的两个方法,自己修改自己测试确认没问题了哦:

<?php
// +------------------------------------------------------------------------------
// | WDCP服务器管理系统源代码 - 加密解密    Author:xiaochuan     28126649@qq.com
// +------------------------------------------------------------------------------
header("Content-Type:text/html;charset=utf-8");
##################################################################################
/**
 * WDCP服务器管理系统源代码  解密方法(整个目录一次性解密)
 * @access public
 * @param 
 * @return 
 */
function wdcp_decode($filename) {
  if (!file_exists($filename)) exit('文件名不存在');

  $data = unpack('C*', substr(file_get_contents($filename), 9)); 
  $nine_bytes = '09574154574443504D'; 
  $str_nice_bytes =  pack('H*', $nine_bytes);

  if(strncmp(file_get_contents($filename), $str_nice_bytes, 9) != 0){
      echo '【文件】'. $filename. ',不是加密文件,不需要解密!<br>';
      return file_get_contents($filename);
  }

  $key = array(0xB8, 0x35, 0x6, 0x2, 0x88, 0x1, 0x5B, 0x7, 0x44, 0x0);
  $j = count($data);
  foreach($data as $k => &$v) {
      $v = $key [ 2 * ($j % 5) ] ^ ~$v;
      $v &= 0xFF;               
      $v = pack('C*', $v);
      -- $j;
  }
  return gzuncompress(join('', $data));
}
function Traversal_Files($path = '.'){
  if (!is_dir($path)) exit('参数不是目录');

  if ($current_dir = opendir($path)) {
    while (false !== ($file = readdir($current_dir))) { 
      $sub_dir = $path . DIRECTORY_SEPARATOR . $file; 
      if ($file == '.' || $file == '..') {
        continue;
      }else if (is_dir($sub_dir)) {
        Traversal_Files($sub_dir); 
      }else{
         $file_ext = substr($file, strrpos($file,".")+1);
         if ($file_ext == 'php' || $file_ext == 'PHP') {
          file_put_contents($sub_dir . '_decode', wdcp_decode($sub_dir));
          unlink($sub_dir); 
          rename($sub_dir . '_decode', $sub_dir);
         }
      }
    }
  }
  closedir($current_dir); 
}
##################################################################################
/**
 * WDCP服务器管理系统源代码  还原加密方法
 * @access public
 * @param 
 * @return 
 */
function wdcp_encode($filename){
  $data = file_get_contents($filename);
  $nine_bytes = '09574154574443504D'; 
  $str_nice_bytes =  pack('H*', $nine_bytes);
  if(strncmp($data, $str_nice_bytes, 9) == 0) exit('【文件】'. $filename. ':已经是加密文件<br>');

  $gz_data = gzcompress($data);
  $length  = strlen($gz_data);
  $array_gz_data = unpack('C*', $gz_data);
  $secret = array(0xB8, 0x35, 0x6, 0x2, 0x88, 0x1, 0x5B, 0x7, 0x44, 0x0);
  foreach ($array_gz_data as $key => &$v) {
     $v = $secret [ 2 * ($length % 5) ] ^ ~$v;
     $v &=0xff;
     $v = pack('C*', $v);
     --$length;
  }
  $result =  join('',$array_gz_data);
  file_put_contents('encode_' . $filename ,$str_nice_bytes.$result);
}
##################################################################################

//Traversal_Files("F:/WWW/demo/wdcp-demo/wdcp/");  //传入目录解密
//wdcp_encode('en.php');                           //传入文件加密
?>


 浏览器启用弹出窗口过滤功能,将无法跳转到下载页。在浏览器地址栏右边符号提示处点击允许就可以了!

转载请注明来源地址:小川编程 » https://www.youhutong.com/index.php/article/index/77.html


  1、本站发布的内容仅限用于学习和研究目的.请勿用于商业或非法用途,下载后请24小时内删除。
  2、本站所有内容均不能保证其完整性,不能接受请勿购买或下载,如需完整程序,请去其官方购买正版使用
  3、本站联系方式Email:admin@youhutong.com ,收到邮件会第一时间处理。
  4、如侵犯到任何版权问题,请立即告知本站(立即在线告知),本站将及时删除并致以最深的歉意
( 0 )个小伙伴在吐槽
    登录帐号  如果已经登录请刷新! 发表我的评论
    表情