本文目录一览:
php 方面大家一般用哪些工具进行代码加密
所谓 zend 加密,其实是预编译
他将 php 代码翻译成了一种虚拟机器的指令集合(php 运行时也是这样,但指令集不同)
所以 zend 解密,实际是反编译
由于涉及到 php 内核机制,故不在本讨论范围之内
凡是比依赖加密环境的加密,实际都是扰码——程序依据自身包含的算法将自身还原成初始的代码
这种程序最终执行的是还原后的代码
所以你完全有可能在他运行期间,拦截到包含 还原后代码 的字符串
由于扰码的程序,本身是可执行的,所以还可以从语法分析入手
php 提供 token_get_all 函数,用于对 php 代码串做词法分析
可得到类似这样的数组
Plain Text code?1234567891011121314151617181920 [32] = Array ( [0] = T_STRING [1] = T挝CB蜦RW仄JW竖IDFZZD蜺FBAADVAVQU颐HCF頕V厝VN游煁啙 [2] = 2 ) [33] = Array ( [0] = symbol [1] = ; [2] = 2 ) [34] = Array ( [0] = T_STRING [1] = T沃FBAEBAFAIBAQIA?腄AAHU领ABF萉A1FVB仡FB頔A庮葴 [2] = 2 )
依据他,就可对程序做出解析,从而反推出原始代码
我使用
PHP code?1234?php$source=file_get_contents('s.php');$tokens = token_get_all ($source ); print_r($tokens);
php加密文件解密
可以用黑刀Dezender来试试,我不担保可以解出来的哦,
从黑刀Dezender4.3版之后,将着力对混淆函数以及自定义函数的解密进行应对。
大家下载压缩包并解压后,会发现有一个“config.ini”的文件,这就是混淆函数库啦!
打开后,可自行编辑其中的内容,当然,也可以通过黑刀Dezender的升级程序直接下载官方最新的混淆函数库文件。这个混淆函数库就相当于是一个字典文件了,在保证格式不变的情况下,大家可以在【黑刀部落】下载《黑刀超级字典生成器》生成字典来挂入主程序进行解密,正确步骤为:先备份、改名自己的config.ini文件,生成的字典文件在第一行加入“[OBFUSCATE_NAME]”,将字典文件改名为config.ini,开始解密。
同时,黑刀部落网站的“项目中心”栏目也开设了用户提交自己已知程序被混淆的函数列表,这样的话,就能让Dezender变得越来越强了。再也不怕混淆函数了。呵呵。
什么是混淆函数?混淆函数,是从Zend Guard 4.0之后新增的一项功能,能把PHP文件中的所有函数名都进行混淆,混淆后变成以“_OBFUSCATE_”开头的一串“乱码”,这种加密方式感觉有点类似Md5,因为函数名已经不是原来的样子了,所以解密出来的PHP文件是不能正常执行的。黑刀Dezender在4.3版之后,新增加了挂入混淆函数库参与解密的功能,而混淆函数库,就像是一个包含了已知函数名的字典,利用这个字典,来与被混淆了的函数名(就是所谓的“乱码”)进行比对,如果比对结果相同,则解密出来的文件,基本上就可以恢复到加密前的样子了。如果混淆函数库中没有包含该PHP文件中使用的函数名,那么解密结果依然还是会存在“乱码”的。掌握了这个原理,我们就可以去想办法解决问题了。
方式有以下几种:
第一,使用黑刀超级字典生成器产生一个字典,字典的内容可以自己把握,修改字典文件名为“config.ini”,然后打开字典文件,在第一行插入“[OBFUSCATE_NAME]”标记(注意,方括号也是需要的,也就是引号内的内容都要加进去),将字典文件拷贝入黑刀Dezender主程序所在目录,同时注意备份原有的config.ini文件。这种办法费时费力,也要看运气,不过却是最实际的解决办法。
第二,常看别人源代码的朋友,可以把自己已经掌握了的混淆函数的真实函数名提交到我的网站上来。操作步骤:进入网站首页,进入项目中心的“DeZender混淆函数库更新表”,提交。我会定期查看大家提交上来的数据,加入到官方的混淆函数库中,不断的增强和完善官方混淆函数库,大家可以利用黑刀Dezender的自动升级功能对其进行升级!
有没有免费的PHP代码加密工具?
这个我不知道。
加密工具,我建议您使用超级加密3000试试。
超级加密3000采用国际上成熟的加密算法和安全快速的加密方法,可以有效保障数据安全!
具体操作方法:
1 下载安装超级加密3000。
2 然后在需要加密的文件上单击鼠标右键选择加密。
3 在弹出的文件加密窗口中设置文件加密密码就OK了。
对php文件加密,有哪些免费软件,怎么加密?
php 源文件加密工具PHP Screw .
目前最新版本是1.3
网址
我的安装环境
系统:Slackware 10
软件:Apache 1.3.31
PHP 4.3.7
以上环境全部是slackware 10默认安装后自带的。具体的Apache+php+mysql安装方法参照如下
支持php的Apache环境安装
获得软件
下载php_screw-1.3 ()
安装
1.将获得的php_screw-1.3.tgz文件放到/usr/local目录下,然后用tar解压缩
tar zxvf php_screw-1.3.tgz
2.进入/usr/local/php_screw-1.3目录开始安装
cd /usr/local/php_screw-1.3
phpize
./confiugre
3.设置自己用来加密的密码
vi my_screw.h
-- Please change the encryption SEED key (pm9screw_mycryptkey) into the
values according to what you like.
The encryption will be harder to break, if you add more values to the
encryption SEED array. However, the size of the SEED is unrelated to
the time of the decrypt processing.
* If you can read and understand the source code, to modify an original
encryption logic will be possible. But in general, this should not
be necessary.
OPTIONAL: Encrypted scripts get a stamp added to the beginning of the
file. If you like, you may change this stamp defined by
PM9SCREW and PM9SCREW_LEN in php_screw.h. PM9SCREW_LEN must
be less than or equal to the size of PM9SCREW.
4.编译
make
5.拷贝modules目录下的php_screw.so文件到/usr/lib/php/extension目录下
cp modules/php_screw.so /usr/lib/php/extension/
6.编辑php.ini文件
在php.ini文件里,加入如下语句
extension=php_screw.so
7.重新启动Apache
/etc/rc.d/rc.httpd restart
8.编译加密工具
cd tools
make
9.将tools目录下加密用的工具screw拷贝到适当目录
cp screw /usr/bin/
经过以上的10步,就已经把php_screw-1.3全部安装完成了。并且现在的php也已经支持解释加密过的php文件了
使用
1.现写一个要加密的php文件。
我写了如下的一个用来测试php速度的compute.php文件
?
$a=0;
$t=time();
for($i=0;$i5000000;$i++)
{$a=$a*$i;}
$t1=time();
echo "p";
echo "It used:";
echo $t1-$t;
echo "seconds";
?
将上面的compute.php文件放到/var/www/htdocs目录下。通过浏览器访问,将显示出php在大量计算时的速度(只能粗略估计一下)
2.将我们写的php文件加密
cd /var/www/htdocs/
screw compute.php
我们加密后,现在目录下的compute.php文件就是我们已经加密的了。而源文件被改名为compute.php.screw存放了。
我们现在再测试一下compute.php,看看能否正常使用?速度如何?
我比较了一下,加密前后的速度大概一样,基本没有太多的损失。