php加密微盾
读__FILE__ 前380字节,转换 'wpy....'为'ABCD...',base64解码,执行。
简写大概如下:
$cmd =<<<END
base64_decode(strtr(fread(fopen(__FILE__,'rb'),380),'+/=','+/'))
END;
eval($cmd);
2. 如何破解Zend及ionCube加密的php文件
如何破解Zend及ionCube加密的php文件
PHP加密的种类:
我们知道很多商业php程序为了保护源码或者设置限制会采取源码加密,
常见的一般有Zend、微盾(威盾)、ionCube。
其中微盾是不需要服务器组件支持的,所以也很好破,网上文章很多,大家搜搜就可以得知。
而Zend和ionCube是需要组件支持的,所以在破解上难度会非常大,或者说根本无法破解。
1、Zend Guard
简单介绍一下Zend Guard:
Zend Guard是PHP市场上第一个保护PHP知识产权的代码加密解决方案和电子许可管理方案。
Zend Guard通过原始代码加密以及限制分发没有授权的软件来实现软件的最大化收益。
Zend Guard加密后的PHP源程序需要环境中安装Zend Optimizer才可以运行,
同时Zend Optimizer在加密的过程中也可以实现优化代码的作用。
2、ionCube
IonCube是用来加密PHP的工具。ionCube Encoder可以把PHP源代码转换成ByteCode。
进行加密授权处理后的PHP代码就不在开源了,必须使用ionCube loader才可以执行加密过的PHP代码。
PHP本身没有带有ionCube loader模块, 必须到ionCube网站下载。
ionCube loader是免费的,但是Encoder的价格就比较昂贵。
如何知道文件的加密方式呢?
目前我也只看过zend加密方式,文件头部会有“Zend”。
zend加密截图
解密方式:
1、Ioncubed filesv6][v7]及Zend Guard files [v5]加密文件(非通过特殊处理的,特殊处理过的基本没戏)
本文并不赞成破解,下文提供工具方法仅限测试使用,韦鲲鹏不承担任何责任。
首先需要保证自己的windows机器上安装了Microsoft Visual C++ 2008及2010版本。
这里提供2008+2010的x86+x64版本整合下载地址 http://115.com/file/cl31yn62(转载,不保证无毒)
安装好后DeZender.DeIoncuber软件就派上用场了~ 这里提供的版本是29.11.2011
首先将下载到的DeZender.DeIoncuber压缩包解压到路径中没有空格的地址中。
如D:/DeZender_DeIoncuber/ 中,解压出来后会看到4个文件夹及7个文件。
其中有README说明文档,大家也可以看一看。
其中有两种解码方式,一种是_RM 另外一种是_NWS. 有些文件两种均可破解,有些只可一种。
首先讲下如何破解单个php加密文件。
将需要破解的文件拖到DECODE_NWS.bat或者DECODE_RM.bat上即可。
如生效,则会在php文件所在目录生成(同名+.nws/.rm+.su.txt)的文件。
如果要破解多个文件,则将所有要破解的文件复制到程序目录下的_decode目录(如D:/DeZender_DeIoncuber/_decode/),
然后运行DECODE_RM.bat或者DECODE_NWS.bat,随后就会在_decoded_nws/rm 的目录下生成破解后的文件。
DeZender_DeIoncuber下载地址:http://115.com/file/cl3ybw5e
2、在线解密:http://www.showmycode.com/,不支持批量解密,需要输入验证码。(本人尝试,这个解密不是很好)
3、下载dezend:http://www.old.necenzurat.com/dezend/
支持php4,php5,免费程序,不支持批量解密,但是可以用批处理,支持捐赠,
作者说:“the money will be used on alcohol, cigars and whores”。
转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
3. 请教php源码加密及解密问题
用dw编辑器自带的加密工具,或者自己写js加密解密脚本
4. php源码怎么加密
一、无需任何PHP扩展的加密
此类加密的代表有 威盾PHP加密专家、PHP在线加密平台、PHP神盾 等。
此类加密都是以eval函数为核心,辅以各式各样的字符串混淆和各种小技巧,来达到加密目的(更准确的说,应该算是混淆)。下面以一个简单的hello world为例来说明此类加密的大体过程。
<?php
echo "hello world";
首先 ,我们把这段代码变为通过eval执行的
<?php
eval('echo "hello world";');
然后 ,我们再进行一些转换,比如说base64编码
<?php
eval(base64_decode('ZWNobyAiaGVsbG8gd29ybGQiOw=='));
就这样子,我们的第一个加密过的php代码新鲜出炉了。。。
上面这个例子非常非常简单,基本上任何有一点php语言基础甚至别的语言基础的人都能轻松的看懂并解密。因此,我们需要一些方法让这个加密至少看上去不是那么简单。
二、同时采用多种编码函数
除了刚才提到的base64,php还有许多内置的编码函数,例如urlencode、gzcompress等。把这些函数混合使用可以提高解密的复杂度(不是难度),此外还可以使用strtr来制定自己的编码规则。 使用变量来代替函数名 使用特定字符来命名变量
这儿所说的特定字符是一些极其相似的字符,如I和1,0和O。试想一下满屏都是O和0组成的变量,并且每一个的名字长度都在10个字符以上。。。 判断文件自身是否被修改
这个功能看似容易,对文件做一下摘要再进行下对比即可知道是否被修改了,但是如何才能在文件内把摘要嵌入进去呢?我没有找到完美的方案,但一个变通的方案还是很容易的。。。
<?php
$code = substr(file_get_contents(__FILE__), 0, -32);
$hash = substr(file_get_contents(__FILE__), -32);
if (md5($code) !== $hash) {
exit('file edited');
}
当然,你可以把这个校验字符串放在别的位置来提高破解的难度。有了这个,别人想破解你的程序可就得多费一点功夫了。。。
既然知道了原理,那解密自然也就非常简单了,总体来说就三步:
把eval替换为输出,比如echo 根据编码规则把字符串还原 如果文件未解密完全,从第一步开始继续
当然,实际上的解密过程并没有这么简单,比如说如果加密的时候使用了gzcompress,那得到的数据将会包含一些二进制数据,而采用一般的文本编辑器打开时这些数据都会显示为乱码,并且在保存时丢失部分数据。解决方法很简单也很麻烦,那就是使用二进制(16进制)方式打开、修改和保存。
5. 微盾php加密的文件要怎么解密
GLOBALS — 引用全局作用域中可用的全部变量。
一个包含了全部变量的全局组合数组。变量的名字就是数组的键。
即出现过的全局变量,就可以通过GLOBALS这个数组取得。
PHP生命周期中,定义在函数体外部的所谓全局变量,函数内部是不能直接获得的。