#加密#如何利用PHP代码生成混淆加密PHP文件

虽说分享是传统的美德,但我们有时候辛辛苦苦写一些程序只是为了卖点小钱,挣点辛苦费,也防止有些没有道德的人倒卖,所以我们不得不对我们的程序进行加密

使用方法

首先,新建一个 index.php,然后把代码复制进去,修改代码中你要加密的文件名,并把要加密的文件放在同一目录下。接着,访问 index.php,然后就会自动生成加密后的文件在 index.php 的同一目录下

代码

<?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 = 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 '."\n".$s."\n".' ?>'; 
 echo $s; 
 // 生成 加密后的 PHP 文件 
 $fpp1 = fopen('temp_'.$filename, 'w'); 
 fwrite($fpp1, $s) or die('写文件错误'); 
 ?>

加密效果

<?php 
$O00OOO00O0O0O0O00O0O0O0O=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");$O00O0OOO00O0O00O0OO00O0O=$O00OOO00O0O0O0O00O0O0O0O{3}.$O00OOO00O0O0O0O00O0O0O0O{6}.$O00OOO00O0O0O0O00O0O0O0O{33}.$O00OOO00O0O0O0O00O0O0O0O{30};$O0OO00O00OOO00O0O00O0O0O=$O00OOO00O0O0O0O00O0O0O0O{33}.$O00OOO00O0O0O0O00O0O0O0O{10}.$O00OOO00O0O0O0O00O0O0O0O{24}.$O00OOO00O0O0O0O00O0O0O0O{10}.$O00OOO00O0O0O0O00O0O0O0O{24};$OO0O00OO0O00O0O0O0O00O0O=$O0OO00O00OOO00O0O00O0O0O{0}.$O00OOO00O0O0O0O00O0O0O0O{18}.$O00OOO00O0O0O0O00O0O0O0O{3}.$O0OO00O00OOO00O0O00O0O0O{0}.$O0OO00O00OOO00O0O00O0O0O{1}.$O00OOO00O0O0O0O00O0O0O0O{24};$OO0000OO00O0O0O00O0O0O0O=$O00OOO00O0O0O0O00O0O0O0O{7}.$O00OOO00O0O0O0O00O0O0O0O{13};$O00O0OOO00O0O00O0OO00O0O.=$O00OOO00O0O0O0O00O0O0O0O{22}.$O00OOO00O0O0O0O00O0O0O0O{36}.$O00OOO00O0O0O0O00O0O0O0O{29}.$O00OOO00O0O0O0O00O0O0O0O{26}.$O00OOO00O0O0O0O00O0O0O0O{30}.$O00OOO00O0O0O0O00O0O0O0O{32}.$O00OOO00O0O0O0O00O0O0O0O{35}.$O00OOO00O0O0O0O00O0O0O0O{26}.$O00OOO00O0O0O0O00O0O0O0O{30};eval($O00O0OOO00O0O00O0OO00O0O("JE8wTzAwME9PME8wME8wTzBPME8wME8wTz0iY1FmVG5pWXR5SUhqR3JEV3FtWk11VkNGT3psQlNnc0tSYVV3QWRKTFBib3BreFhFTnZoZU9YRXlZc0lLSHRyUUJlcFNrdm9BbGpaTkRnYWZXYkxobnF6d21kUkZWVUNQR2N4dU1USmlWcDl3cXJtTVp2bzFVdk0wcVM5bHRCZGFkTjlISVM1R1UyMWdkcnRDUkJjYVVZbkN0cDBiTXNHYml3MGh0Wm1idHJSYWRyakhVc2ZZb3huRU92TmxvQjlLaFpuTG9TNTBxWndiUmd1SEFnWDFNUU80RFNOc0kybmFvdmRDcVNQZVVCMWxPck5ITzNuMWRZZDRpeFBmWEdNdW56b3JXdWFoVzBjTXlhZm56YU16ampveFNOYXFSSEc3cFhQOXBYQ2JwWFB2ZFM1UWRCYVRVc2ZZb3huRU92TmxvQjlLaFpuTG9TNVlkQmJMdFpuUXFCTkhPSG05dFpPd0F5dGdNcHoyTWdiNVJIR2JpdzBodFptYnRabkNJeE1DdHAwYlJITzdwWENidFptYlJCMUppWm05dHJNME92Y2FVc2JHSTJKSk9ZQVB0WjBiQXlMTVpzbWJ0WmZ2VTN0Q1JCR2JWV213REhtR3FXbTh0Wm5Mb1M1WWRCYjd0Wm5QaEhMUHRyTE1ac21idFptYnRabWJSQkpKTzJiYkZRMGJSQk1DSXhSZ1MyMTB4M1JKVXZYQ0Fad2JSQjFKaVphZER3MGh0Wm1idHIwTVpzbWJ0WmZIb3huMU92NGJSQkpKTzJiN3BYUDlwWFBhSTJKVHRCZGFkTjlISVM1R1UyMWdkcnRDTXNHN3BYUGFJMkpUdEJkYWROOUhJUzVHVTIxZ2RydENNSEc3cFhDL1ZiPT0iO2V2YWwoJz8+Jy4kTzAwTzBPT08wME8wTzAwTzBPTzAwTzBPKCRPME9PMDBPMDBPT08wME8wTzAwTzBPME8oJE9PME8wME9PME8wME8wTzBPME8wME8wTygkTzBPMDAwT08wTzAwTzBPME8wTzAwTzBPLCRPTzAwMDBPTzAwTzBPME8wME8wTzBPME8qMiksJE9PME8wME9PME8wME8wTzBPME8wME8wTygkTzBPMDAwT08wTzAwTzBPME8wTzAwTzBPLCRPTzAwMDBPTzAwTzBPME8wME8wTzBPME8sJE9PMDAwME9PMDBPME8wTzAwTzBPME8wTyksJE9PME8wME9PME8wME8wTzBPME8wME8wTygkTzBPMDAwT08wTzAwTzBPME8wTzAwTzBPLDAsJE9PMDAwME9PMDBPME8wTzAwTzBPME8wTykpKSk7"));

本文转载至自VPS评审的#加密#如何利用PHP代码生成混淆加密PHP文件

相关

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我和未来有约会

Silverlight第三方控件专题

这里我收集整理了目前网上silverlight第三方控件的专题,若果有所遗漏请告知我一下。 名称 简介 截图 telerik 商 RadC...

4355
来自专栏hbbliyong

WPF Trigger for IsSelected in a DataTemplate for ListBox items

<DataTemplate DataType="{x:Type vm:HeaderSlugViewModel}"> <vw:HeaderSlug...

4214
来自专栏C#

DotNet加密方式解析--非对称加密

    新年新气象,也希望新年可以挣大钱。不管今年年底会不会跟去年一样,满怀抱负却又壮志未酬。(不过没事,我已为各位卜上一卦,卦象显示各位都能挣钱...)...

5798
来自专栏张善友的专栏

LINQ via C# 系列文章

LINQ via C# Recently I am giving a series of talk on LINQ. the name “LINQ via C...

2965
来自专栏菩提树下的杨过

Flash/Flex学习笔记(23):运动学原理

先写一个公用的小球类Ball: package{ import flash.display.Sprite; //小球 类 public class B...

27110
来自专栏Ceph对象存储方案

Luminous版本PG 分布调优

Luminous版本开始新增的balancer模块在PG分布优化方面效果非常明显,操作也非常简便,强烈推荐各位在集群上线之前进行这一操作,能够极大的提升整个集群...

3615
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2886
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

38010
来自专栏转载gongluck的CSDN博客

cocos2dx 打灰机

#include "GamePlane.h" #include "PlaneSprite.h" #include "BulletNode.h" #include...

6876
来自专栏闻道于事

js登录滑动验证,不滑动无法登陆

js的判断这里是根据滑块的位置进行判断,应该是用一个flag判断 <%@ page language="java" contentType="text/html...

8358

扫码关注云+社区