有如下类型的代码,谁知道除了base64加密,还是用了什么类型的加密方式,用什么方式可以还原,谢谢!<?php $viart_encoded = true; class VA_Tree { var $db_category_id; var $db_parent_id; var $db_category_name; var $db_table; var $tree_name; var $top_name; var $erase_tags; function VA_Tree($Q8N9,$M2N3,$V7B3,$F3O2,$U0I4,$B3W6="Top",$Z9G4=true) { $this->db_category_id = $Q8N9 ? $Q8N9 : base64_decode("Y2F0ZWdvcnlfaWQ="); $this->db_category_name = $M2N3 ? $M2N3 : base64_decode("Y2F0ZWdvcnlfbmFtZQ=="); $this->db_parent_id = $V7B3 ? $V7B3 : base64_decode("cGFyZW50X2NhdGVnb3J5X2lk"); $this->db_table = $F3O2 ? $F3O2 : base64_decode("Y2F0ZWdvcmllcw=="); $this->tree_name = $U0I4 ? $U0I4 : base64_decode("dHJlZQ=="); $this->top_name = $B3W6; $this->erase_tags = $Z9G4; } function get_path($C2N1) { global $db; $I2E0 = ""; if($C2N1) { $T1R1  = base64_decode("IFNFTEVDVCA=") . $this->db_category_id . base64_decode("LA=="); $T1R1 .=  $this->db_parent_id . base64_decode("IEZST00g") . $this->db_table; $T1R1 .= base64_decode("IFdIRVJFIA==") . $this->db_category_id . base64_decode("PQ=="); while ($C2N1) { $db->query($T1R1 . $db->tosql($C2N1, INTEGER)); if($db->next_record()) { $I2E0 = $C2N1 . base64_decode("LA==") . $I2E0; $C2N1 = $db->f($this->db_parent_id); } else { $C2N1 = base64_decode("MA=="); $I2E0 = ""; } } $I2E0 = base64_decode("MCw=") . $I2E0; } else { $I2E0 = base64_decode("MCw="); } return $I2E0; } function show($M0I2) { global $db, $t, $language_code; $Z5Y8 = $this->tree_name; if (!$M0I2) { if (strlen($this->top_name)) { $G4T1 = base64_decode("MA=="); $t->set_var($Z5Y8 . base64_decode("X2N1cnJlbnRfbmFtZQ=="), $this->top_name); $t->set_var($Z5Y8 . base64_decode("X2N1cnJlbnRfaWQ="), base64_decode("MA==")); $t->set_var($Z5Y8, ""); } } else { $G4T1 = $M0I2; $Y8V3  = base64_decode("IFNFTEVDVCA=") . $this->db_category_id . base64_decode("LA==") . $this->db_category_name . base64_decode("LA=="); $Y8V3 .=  $this->db_parent_id . base64_decode("IEZST00g") . $this->db_table; $Y8V3 .= base64_decode("IFdIRVJFIA==") . $this->db_category_id . base64_decode("PQ=="); while ($M0I2) { $db->query($Y8V3 . $db->tosql($M0I2, INTEGER)); if($db->next_record()) { $P3T1 = $db->f($this->db_category_name); $P3T1 = get_translation($P3T1, $language_code); if ($this->erase_tags) { $P3T1 = strip_tags($P3T1); } if ($G4T1 != $M0I2) { $t->set_var($Z5Y8 . base64_decode("X2NhdF9pZA=="), htmlspecialchars($M0I2)); $t->set_var($Z5Y8 . base64_decode("X2NhdF9uYW1l"), $P3T1); $t->rparse($Z5Y8); } else { $t->set_var($Z5Y8 . base64_decode("X2N1cnJlbnRfbmFtZQ=="), $P3T1); $t->set_var($Z5Y8 . base64_decode("X2N1cnJlbnRfaWQ="), htmlspecialchars($M0I2)); } $M0I2 = $db->f($this->db_parent_id); } else { $t->set_var($Z5Y8 . base64_decode("X2N1cnJlbnRfbmFtZQ=="), base64_decode("Tk8gQ0FURUdPUlk=")); $M0I2 = base64_decode("MA=="); } } if (strlen($this->top_name)) { $t->set_var($Z5Y8 . base64_decode("X2NhdF9pZA=="), base64_decode("MA==")); $t->set_var($Z5Y8 . base64_decode("X2NhdF9uYW1l"), $this->top_name); $t->rparse($Z5Y8); } } } }  ?>

解决方案 »

  1.   

    哪有什么加密
    就是变量名混淆和一些base64_decode替换。想要清晰的话,把base64_decode的结果替换为相应的字符串即可。例如第一个初始化的VA_tree替换如下:<?php $viart_encoded = true; 
       class VA_Tree {
            var $db_category_id; 
    var $db_parent_id; 
    var $db_category_name; 
    var $db_table; 
    var $tree_name; 
    var $top_name; 
    var $erase_tags; 

    function VA_Tree($cateid,$catename,$pareid,$table,$treename,$topname="Top",$etag=true) {
         $this->db_category_id = $cateid ? $cateid : "category_id"; 
      $this->db_category_name = $catename ? $catename : 'category_name'; 
      $this->db_parent_id = $pareid ? $pareid : 'parent_category_id'; 
      $this->db_table = $table ? $table : 'categories'; 
      $this->tree_name = $treename ? $treename : 'tree'; 
      $this->top_name = $topname; 
      $this->erase_tags = $etag;
      } 
    }
      

  2.   

    自己耍耍。
    function pass_code($num)
    {
    $key ='X(#';
    $len = strlen($num);
    for($i=0;$i<$len;$i++) 
    {
    $en .= $num[$i]^$key;
    }
    Return $en;
    }
    $code = '<?php $viart_encoded = true; class VA_Tree { var $db_category_id; var $db_parent_id; var $db_category_name; var $db_table; var $tree_name; var $top_name; var $erase_tags; function VA_Tree($Q8N9,$M2N3,$V7B3,$F3O2,$U0I4,$B3W6="Top",$Z9G4=true) { $this->db_category_id = $Q8N9 ? $Q8N9 : base64_decode("Y2F0ZWdvcnlfaWQ="); $this->db_category_name = $M2N3 ? $M2N3 : base64_decode("Y2F0ZWdvcnlfbmFtZQ=="); $this->db_parent_id = $V7B3 ? $V7B3 : base64_decode("cGFyZW50X2NhdGVnb3J5X2lk"); $this->db_table = $F3O2 ? $F3O2 : base64_decode("Y2F0ZWdvcmllcw=="); $this->tree_name = $U0I4 ? $U0I4 : base64_decode("dHJlZQ=="); $this->top_name = $B3W6; $this->erase_tags = $Z9G4; } function get_path($C2N1) { global $db; $I2E0 = ""; if($C2N1) { $T1R1 = base64_decode("IFNFTEVDVCA=") . $this->db_category_id . base64_decode("LA=="); $T1R1 .= $this->db_parent_id . base64_decode("IEZST00g") . $this->db_table; $T1R1 .= base64_decode("IFdIRVJFIA==") . $this->db_category_id . base64_decode("PQ=="); while ($C2N1) { $db->query($T1R1 . $db->tosql($C2N1, INTEGER)); if($db->next_record()) { $I2E0 = $C2N1 . base64_decode("LA==") . $I2E0; $C2N1 = $db->f($this->db_parent_id); } else { $C2N1 = base64_decode("MA=="); $I2E0 = ""; } } $I2E0 = base64_decode("MCw=") . $I2E0; } else { $I2E0 = base64_decode("MCw="); } return $I2E0; } function show($M0I2) { global $db, $t, $language_code; $Z5Y8 = $this->tree_name; if (!$M0I2) { if (strlen($this->top_name)) { $G4T1 = base64_decode("MA=="); $t->set_var($Z5Y8 . base64_decode("X2N1cnJlbnRfbmFtZQ=="), $this->top_name); $t->set_var($Z5Y8 . base64_decode("X2N1cnJlbnRfaWQ="), base64_decode("MA==")); $t->set_var($Z5Y8, ""); } } else { $G4T1 = $M0I2; $Y8V3 = base64_decode("IFNFTEVDVCA=") . $this->db_category_id . base64_decode("LA==") . $this->db_category_name . base64_decode("LA=="); $Y8V3 .= $this->db_parent_id . base64_decode("IEZST00g") . $this->db_table; $Y8V3 .= base64_decode("IFdIRVJFIA==") . $this->db_category_id . base64_decode("PQ=="); while ($M0I2) { $db->query($Y8V3 . $db->tosql($M0I2, INTEGER)); if($db->next_record()) { $P3T1 = $db->f($this->db_category_name); $P3T1 = get_translation($P3T1, $language_code); if ($this->erase_tags) { $P3T1 = strip_tags($P3T1); } if ($G4T1 != $M0I2) { $t->set_var($Z5Y8 . base64_decode("X2NhdF9pZA=="), htmlspecialchars($M0I2)); $t->set_var($Z5Y8 . base64_decode("X2NhdF9uYW1l"), $P3T1); $t->rparse($Z5Y8); } else { $t->set_var($Z5Y8 . base64_decode("X2N1cnJlbnRfbmFtZQ=="), $P3T1); $t->set_var($Z5Y8 . base64_decode("X2N1cnJlbnRfaWQ="), htmlspecialchars($M0I2)); } $M0I2 = $db->f($this->db_parent_id); } else { $t->set_var($Z5Y8 . base64_decode("X2N1cnJlbnRfbmFtZQ=="), base64_decode("Tk8gQ0FURUdPUlk=")); $M0I2 = base64_decode("MA=="); } } if (strlen($this->top_name)) { $t->set_var($Z5Y8 . base64_decode("X2NhdF9pZA=="), base64_decode("MA==")); $t->set_var($Z5Y8 . base64_decode("X2NhdF9uYW1l"), $this->top_name); $t->rparse($Z5Y8); } } } } ?>';echo pass_code($code);
      

  3.   


    换成易读,有意义的变量名就行了。
     VA_Tree($cateid,$catename,$pareid,$table,$treename,$topname="Top",$etag=true)
    括号中的就是经过替换的变量名。没什么特别的意义,只是一个编程习惯,便于程序阅读。