php源码程序加密方法
文章介绍了两个给php程序自身加密的方法,我们常的方法base64_encode(gzdeflate($contents))这样来加密了,第二种方法不多见有需要的朋友也可以参考一下.
实例1,代码如下:
- <?php
- function encode_file_contents($filename) {
- $type=strtolower(substr(strrchr($filename,'.'),1));
- if('php'==$type && is_file($filename) && is_writable($filename)){
- $contents = file_get_contents($filename);
- $contents = php_strip_whitespace($filename);
-
- $headerPos = strpos($contents,'<?php');
- $footerPos = strrpos($contents,'?>');
- $contents = substr($contents,$headerPos+5,$footerPos-$headerPos);
- $encode = base64_encode(gzdeflate($contents));
- $encode = '<?php'."n eval(gzinflate(base64_decode("."'".$encode."'".")));nn?>";
- return file_put_contents($filename,$encode);
-
- }
- return false;
- }
-
- $filename='dam.php';
- encode_file_contents($filename);
- echo "OK,加密完成!"
- ?>
实例2,代码如下:
- <?php
- function RandAbc($length=""){
- $str="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";
- return str_shuffle($str);
- }
- $filename='dam.php';
- $T_k1=RandAbc();
- $T_k2=RandAbc();
- $vstr=file_get_contents($filename);
- $v1=base64_encode($vstr);
- $c=strtr($v1,$T_k1,$T_k2);
- $c=$T_k1.$T_k2.$c;
- $q1="O00O0O";
- $q2="O0O000";
- $q3="O0OO00";
- $q4="OO0O00";
- $q5="OO0000";
- $q6="O00OO0";
- $s='$'.$q6.'=urldecode("%6E1%7A%62%2F%6D%615%5C%76%740%6928%2D%70%78%75%71%79%2A6%6C%72%6B%64%679%5F%65%68%63%73%77%6F4%2B%6637%6A");$'.$q1.'=$'.$q6.'{3}.$'.$q6.'{6}.$'.$q6.'{33}.$'.$q6.'{30};$'.$q3.'=$'.$q6.'{33}.$'.$q6.'{10}.$'.$q6.'{24}.$'.$q6.'{10}.$'.$q6.'{24};$'.$q4.'=$'.$q3.'{0}.$'.$q6.'{18}.$'.$q6.'{3}.$'.$q3.'{0}.$'.$q3.'{1}.$'.$q6.'{24};$'.$q5.'=$'.$q6.'{7}.$'.$q6.'{13};$'.$q1.'.=$'.$q6.'{22}.$'.$q6.'{36}.$'.$q6.'{29}.$'.$q6.'{26}.$'.$q6.'{30}.$'.$q6.'{32}.$'.$q6.'{35}.$'.$q6.'{26}.$'.$q6.'{30};eval($'.$q1.'("'.base64_encode('$'.$q2.'="'.$c.'";eval('?>'.$'.$q1.'($'.$q3.'($'.$q4.'($'.$q2.',$'.$q5.'*2),$'.$q4.'($'.$q2.',$'.$q5.',$'.$q5.'),$'.$q4.'($'.$q2.',0,$'.$q5.'))));').'"));';
- $s='<?php
- '.$s.
- '
- ?>';
- echo "OK,加密完成!";
-
- $fpp1 = fopen('dam.php','w');
- fwrite($fpp1,$s) or die('写文件错误');
- ?>