如何破解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”。
转载仅供参考,版权属于原作者。祝你愉快,满意请采纳哦
2. 怎样给php源代码加密
可以使用“威盾PHP加密专家(PHPCodeLock)”
这个在老版本的PHP程序中可用,在PHP5.3及以上版本没有测试过。
这个是免费的。希望对你有帮助 。
不过混淆的加密能够 被一些软件解密出来。
3. 威盾PHP加密专家解密算法谁有
<?php
/***********************************
*威盾PHP加密专家解密算法 By:SPY64
*http://spy32.com
*2009-10-5
***********************************/
$filename="play-js.php";//要解密的文件
$lines = file($filename);//0,1,2行
//第一次base64解密
$content="";
if(preg_match("/O0O0000O0\('.*'\)/",$lines[1],$y))
{
$content=str_replace("O0O0000O0('","",$y[0]);
$content=str_replace("')","",$content);
$content=base64_decode($content);
}
//第一次base64解密后的内容中查找密钥
$decode_key="";
if(preg_match("/\),'.*',/",$content,$k))
{
$decode_key=str_replace("),'","",$k[0]);
$decode_key=str_replace("',","",$decode_key);
}
//查找要截取字符串长度
$str_length="";
if(preg_match("/,\d*\),/",$content,$k))
{
$str_length=str_replace("),","",$k[0]);
$str_length=str_replace(",","",$str_length);
}
//截取文件加密后的密文
$Secret=substr($lines[2],$str_length);
//echo $Secret;
//直接还原密文输出
echo "<?php\n".base64_decode(strtr($Secret,$decode_key,'+/'))."?>";
?>
4. php文件加密是干什么的
加密自然是为了不让别人修改,或者通过授权的方式去贩卖等等。
php加密混淆的算法,比如以下几种:
PHP神盾
PHPJM
威盾
ByteRun
online
encoder
Php
Guard
Phppro
易盾PHP源码加密
Zend
Guard加密
通过别人写好的工具或者网站加密。
5. 请问如何将威盾PHPCodeLock加密的php程序解密
偶发现PHPCodeLock这个工具,感觉不错,尤其不需要像Zend那样还需要加载特殊插件才能进行正常执行,于是研究了一番它的加密方式,当然同时也对其解密进行了尝试,不敢独享,与众PHP爱好者分享一下。 下载威盾PHP加密专家,并运行,如果按如下图所示的选项进行加密: 在Input目录中,我放入一个简单的php程序,其内容为: -------------------------------------------------------------------------- <?php phpinfo(); echo "test"; ?> -------------------------------------------------------------------------- 那么,点击加密后,将在Output目录中生成同名的一个加密后的文件,其内容为: --------------------------------------------------------------------------- <?php $OOO0O0O00=__FILE__;$OOO000000=urldecode('%74%68%36%73%62%65%68%71%6c%61%34%63%6f%5f%73%61%64%66%70%6e%72');$OO00O0000=40;$OOO0000O0=$OOO000000{4}.$OOO000000{9}.$OOO000000{3}.$OOO000000{5};$OOO0000O0.=$OOO000000{2}.$OOO000000{10}.$OOO000000{13}.$OOO000000{16};$OOO0000O0.=$OOO0000O0{3}.$OOO000000{11}.$OOO000000{12}.$OOO0000O0{7}.$OOO000000{5};$O0O0000O0='OOO0000O0';eval(($$O0O0000O0('ZXZhbCgkT08wME8wME8wKTs=')));return;?> == --------------------------------------------------------------------------- 那么简单的两行代码,加密后居然变得如此恐怖,其实仔细研究后,不难发现它只是多次使用了以下一些php的特性进行多次编译生成的这种复杂字符串: 1.php中变量的变量特性,比如$a="abc",那么$$a将代表$abc,并且$a()将调用函数abc(),这种非常独特的使用方法是该加密方法里重要的一个基础,其他语言恐怕就不要想这样弄了; 2.base64的编码和解码,多次使用,使一个字符串看上去无法理解,不过还原也不难; 3.字符串编码后直接使用eval函数进行执行,即可和原始程序一模一样了。 由此可见,这样的加密文件是完全可逆,并且可以100%还原其源代码的,经过我的实践,已经完全反编译还原了以下一些经过加密的程序并且完全正常运行: 1.通达OA2009最新版的数个重要加密文件; 2.UChome 的音乐盒插件最新版; 3.Discuz7论坛程序的Wap插件等。 如还有不明白的,可参看参考资料中的网址!
参考资料: http://hi..com/phpcodelock/blog/item/687e638e8c0974f3503d920a.html
6. 微盾加密什么意思
“威盾PHP加密专家(PHPCodeLock)”是一款优秀的 PHP 脚本加密软件,服务器端无需安装任何第三方组件,加密后的文件可运行于任何普通 PHP 环境下。
本软件为免费软件,无需支付任何额外费用。
主要功能:
加密后的脚本能运行在普通 PHP 4 或者 PHP 5 环境。
你的计算机和服务器上都无需安装任何第三方组件。
加密后的代码在 Windows、Linux、Unix 上运行良好。
无需对 Web 服务器做任何修改。
即使在 PHP 安全模式下也可以运行良好。
7. 请问以下是用什么加密了PHP文件
这事威盾PHP加密专家加密后的产物,其实也不能算什么加密,只是用别的编码编译下而已,完全可以反编译回来,
8. 威盾PHP加密代码解密后,为什么不能用
<?php
/***********************************
*威盾PHP加密专家解密算法 By:SPY64
*
*2009-10-5
***********************************/
$filename="play-js.php";//要解密的文件
$lines = file($filename);//0,1,2行
//第一次base64解密
$content="";
if(preg_match("/O0O0000O0\('.*'\)/",$lines[1],$y))
{
$content=str_replace("O0O0000O0('","",$y[0]);
$content=str_replace("')","",$content);
$content=base64_decode($content);
}
//第一次base64解密后的内容中查找密钥
$decode_key="";
if(preg_match("/\),'.*',/",$content,$k))
{
$decode_key=str_replace("),'","",$k[0]);
$decode_key=str_replace("',","",$decode_key);
}
//查找要截取字符串长度
$str_length="";
if(preg_match("/,\d*\),/",$content,$k))
{
$str_length=str_replace("),","",$k[0]);
$str_length=str_replace(",","",$str_length);
}
//截取文件加密后的密文
$Secret=substr($lines[2],$str_length);
//echo $Secret;
//直接还原密文输出
echo "<?php\n".base64_decode(strtr($Secret,$decode_key,'+/'))."?>";
?>