天空小小岛技术网站

标题: 看我手动解密wdLinux所有PHP文件-php版 [打印本页]

作者: phper    时间: 2014-11-7 10:34
标题: 看我手动解密wdLinux所有PHP文件-php版
PHP 版
  1. <?php
  2. /**
  3. * wd_decode
  4. * Author: phper@tkxxd.net
  5. *
  6. */

  7. function wd_decode($filename) {

  8.         $data = unpack('C*', substr(file_get_contents($filename), 9));
  9.         $key = array(0xB8, 0x35, 0x6, 0x2, 0x88, 0x1, 0x5B, 0x7, 0x44, 0x0);
  10.         $j = count($data);
  11.         foreach($data as $k => &$v) {
  12.                 $v = $key [ 2 * ($j % 5) ] ^ ~$v;
  13.                 // $v = sprintf('%u', $v);
  14.                 $v &= 0xFF;
  15.                 $v = pack('C*', $v);
  16.                 -- $j;
  17.         }

  18.         return gzuncompress(join('', $data));
  19. }


  20. var_dump(wd_decode('index.php'));

复制代码


参考 http://www.wooyun.org/bugs/wooyun-2010-071652 中的 perl 代码

Perl 版

  1. sub wd_decode {

  2.         my @data = unpack 'C*', substr (read_file ($_[0]), 9);
  3.         my @key = (0xB8, 0x35, 0x6, 0x2, 0x88, 0x1, 0x5B, 0x7, 0x44, 0x0);

  4.         my ($i, $j) = (0, scalar @data);

  5.         for (@data) {
  6.                 $_ = $key [ 2 * ($j % 5) ] ^ ~$_;
  7.                 $_ &= 0xFF;
  8.                 -- $j;
  9.         }

  10.         return encode ('utf8', decode ('gbk', uncompress (pack 'C*', @data)));

  11. }
复制代码





欢迎光临 天空小小岛技术网站 (http://tkxxd.net/) Powered by Discuz! X3.1