php代码加密
来源:互联网 发布:康栢会计师事务所 知乎 编辑:程序博客网 时间:2024/05/14 19:34
测试环境:Ubuntu 10.04 hardy, PHP 5.2.3。
首先下载lamp安装包,地址:http://74.117.62.221/qq/ubuntulamp.tar
screw.h下载 php_screw-1.5.tar.gz (7.14 KB)
1、 解压,更改my_screw.h,里面的几个数字就是SEED,相当于密码,可以随意更改、增加,并且数字的多少不影响解密的速度。
2、编译so文件:
$ phpize
$ ./configure
$ make
如果出现这样的错误,那是因为autoconf没有安装:
$ make
make: *** No targets specified and no makefile found. Stop.
3、安装so文件,编译好的文件在modules目录下,将其拷贝到php extension存放的位置,比如/usr/lib/php5/20060613+lfs下,然后在php.ini中增加:
extension = php_screw.so
4、编译用来加密文件的可执行文件:
$ cd tools
$ make
tools目录下新生成的screw就是了,放到$PATH中就可以调用了,比如要加密一个文件:
$ screw a.php
Success Crypting(a.php)
加密后的a.php执行正常,同时screw还会把原来没有加密的文件改名为.screw文件作为备份。
find ./ -name "*.php" -print|xargs -n1 screw //加密所有的.php文件
find ./ -name "*.screw" -print|xargs -n1 rm //删除所有的.php源文件的备份文件
Update @ 2008-09-01
加密之后,还有个小问题,用require或include引用放在include_path下的加密代码时,会当做明文引过来,解决方法有两种:
使用绝对路径引用放在include_path下的加密内容,如果是自己的主机,肯定没问题的;
使用相对路径来引用,比如在本项目的子目录内,这样也是没问题的。
PS:编译过程中碰见的几个问题如下(解决方法)
1。 /root/php_screw-1.5/php_screw.c: In function ‘pm9screw_compile_file’:
解决方法:
需要修改php_screw.c
把第78,84,93行的org_compile_file(file_handle, type);
修改为:
org_compile_file(file_handle, type TSRMLS_CC);
然后再make就成功了。
2. /opt/soft/php_screw-1.5/php_screw.c: In function ‘zm_startup_php_screw’:/opt/soft/php_screw-1.5/php_screw.c:124: 错误:‘zend_compiler_globals’ 没有名为 ‘extended_info’ 的成员/opt/soft/php_screw-1.5/php_screw.c: In function ‘zm_shutdown_php_screw’:/opt/soft/php_screw-1.5/php_screw.c:133: 错误:‘zend_compiler_globals’ 没有名为 ‘extended_info’ 的成员make: *** [php_screw.lo] 错误 1
解决方法:
需要修改php_screw.c
把CG(extended_info) = 1;
修改为:
CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;
转自:http://phprs.info/thread-23300-1-1.html
- PHP代码的加密
- php代码加密
- PHP 代码 加密
- php webshell 加密代码
- php代码混淆加密
- PHP代码加密
- php MD5加密代码:
- php代码加密
- php代码加密
- PHP加密代码
- php代码加密
- PHP Screw php代码加密
- PHP代码加密专家网站
- PHP代码加密_解密
- php简单加密解密代码
- php RAS加密类代码
- php 实现php代码的加密解密
- PHP加密代码,加密扩展 (php-beast)常见问题解答
- Tip - Windows Phone 7 客户端数据库
- PDO 长连接,及属性查看方法
- J2SE学习笔记3 — Java基本语法(6)基本输入输出
- IE6 Bug之自战回顾
- 类的 const 成员函数
- php代码加密
- 全局变量和静态变量的区别
- MCS51单片机专用功能寄存器
- winxp sp3下安装oracle10g_32_bits出现问题OUI-25031的解决
- [AS3] dispatchEvent与事件流,点击事件的穿透性
- android上层应用apk到G-sensor driver的大致流程
- 2011-05-09 18:09:17
- Setting VC++ directories in VS 2010
- C语言指针注意事项