如何保护自己的php代码:
代码混淆+加密
实际加密算不上,具体实现思路就是把代码ba64加密,然后对ba64里的字符串进行字符串映射(随机生成字典混淆)然后eval执行 这种百分之百能被破解还原
代表代码如下:
<?php function randabc($length = ""桂王) { // 返回随机字符串 $str = "abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz"; return str_shuffle($str); } $filename = 'index.php'; //要加密的文件 $t_k1 = randabc(); //随机密匙1 $t_k2 = randabc(); //随机密匙2 $vstr = file_get_contents($filename); $v1 = ba64_encode($vstr); $c = strtr($v1, $t_k泰国旅游注意事项1, $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.'("'.ba64_encode('$'.$q2.'="'.$c.'";eval(\'?>\'.$'.$q1.'($'.$q3.'($'.$q4.'($'.$q2.',$'.$q5.'*2),$'.$q4.'($'.$q2.',$'.$q5.',$'.$q5.'),$'.$q4.'($'.$q2.',0,$'.$q5.'))));').'"));'; $s = '&l手足口病的传播途径t;?php '."\n".$s."\n".' ?>'; //echo $s; // 生成 加密后的php文件 $fpp1 = fopen('temp_'.$filename, 'w'); fwrite($fpp1, $s) or die('写文件错误'); ?>
混淆乱码字符
代码混淆变量还有一些东西 和1原理差不多,不过是把字符串换到 ascii 127到255之间非人类还有编辑器看不懂的字符 ,结果也是百分之百能被破解和还原,只是时间问题。
发放opcode
不分发代码,而是先把php代码预编译,分发opcode,php7以后opcache深度集成这个东西 php7以后可以用这个方法保护源码,但是也会被opcode反编译回去 也会被破解。
混淆+加密+写php扩展
混淆+加密+写php扩展,但是只要是开源的php扩展都会被破解,除非自己写加密算法,把php代码加密, 然后自己拿c语音写扩展闭源, 别人不知道你加密思路和破解思路,被破解的可能性很小。
swoole compiler
swoole出的那个,是拿生成的opcode以后混淆加密, 然后这个就牛逼了,这个要想执行很明显zend引擎是不太可能认识混淆加密后的opcode,所以他实际上还需要重写zend,所以说配套的zend引擎也要换。
内容扩展:
<?phpfunction randabc($length=""){//返回随机字符串$str="abcdefghijklmnopqrstuvwxyzabcdefghijklmnopqrstuvwxyz";return str_shuffle($str);}$filepath='index.php';$path_parts= p可爱的猫咪athinfo($filepath);$filename=$path_parts["baname"];$t_k1=randabc();//随机密匙1$t_k2=randabc();//随机密匙2$vstr=file_get_contents($filename);//要加密的文件 $v1=ba64_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.'("'.ba64_encode('$'.$q2.'="'.$c.'";eval(\'?>\'.$'.$q1.'($'.$q3.'($'.$q4.'($'.$q2.',$'.$q5.'*2),$'.$q4.'($'.$q2.',$'.$q5.',$'.$q5.'),$'.$q4.'($'.$q2.',0,$'.$q5.'))));').'"));';$s='<?'.$s.'?>';echo $s;//生成 加密后的php文件!is_dir('create/') && mkdir('create/');$fpp1 = fopen('create/'.$filename,'w');fwrite($fpp1,$s) or die('写文件错误');echo '加密成功!';
到此这篇关于php代码加密的方法总结的文章就介绍到这了,更多相关php代码加密的几种方法介绍内容请搜索www.887551.com以前的文章或继续浏览下面的相关文章希望大家以后多多支持www.887551.com!
本文发布于:2023-04-08 15:11:58,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/27470a84759cb54dc14d3fedd7506516.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:PHP代码加密的方法总结.doc
本文 PDF 下载地址:PHP代码加密的方法总结.pdf
留言与评论(共有 0 条评论) |