易截截图软件、单文件、免安装、纯绿色、仅160KB

[转]用php_screw加密PHP代码

开始之前,首先要澄清两个问题:第一,支持开源,不等于反对代码加密;第二,如果把不属于自己的东西(比如公司的)拿去开源,就更加不应该了。
以前知道的,PHP代码的加密都是用Zend的encoder,这东西不但是商业软件,好像还暴出过能够被破解的问题,所以就找到了替代的方案────php_screw,一个日本人开发的东东。
php_screw非常小巧,没有仔细看过它的算法,但从说明文档中看,可以自行更改SEED,然后自行编译so和可执行档。如果够牛的话,甚至可以自己去更改算法。不管怎样,对于我们这些“普通人”来说,这种加密应该就够了吧,如果真想滴水不漏,那还是不要公开的好,虽然作者说的并不是很容易就破解,但指不定哪儿有牛群呢不是么?
安装的环境需要:PHP5.x,zlib开启,autoconf,automake已安装。
测试环境:Ubuntu 8.04 hardy, PHP 5.2.3。
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下的加密内容,如果是自己的主机,肯定没问题的;
使用相对路径来引用,比如在本项目的子目录内,这样也是没问题的。


相关文档:

php学习笔记(8):PHP函数和自定义函数


1、PHP函数介绍
PHP函数分为:系统内部函数 和 自定义函数 
格式:Function($a1,$s2....){};
例子:date("Y-m-d");
          Md5("CHAUVET");
函数的优越性:
A)控制程序设计的复杂性
B)提高软件的可靠性
C)提高软件开发效率
D)提高软件的可 ......

《PHP和MySQL Web开发》笔记之使用PHP(二)


第五章 代码重用与函数编写
require()或include()可以将一个文件载入到php脚本中。
这两个函数几乎等价,唯一的区别是调用失败后require()给出一个致命错误,而include()只给出一个警告。
如果Web页面具有一致的外观,可以将相同的部分分离到单独的页面中,然后可以在php中使用require()语句将模板元素加入到页面中。 ......

php学习笔记(9):Mysql简介和创建新的数据库

 
 一、MySql简介概要
MySQL是一个小型关系型数据库管理系统,开发者为瑞典MySQL AB公司,后来
被Sun公司收购,现在正在被甲骨文收购,支持FreeBSD、Linux、MAC、Windows
等多种操作系统 与其他的大型数据库例如Oracle、DB2、SQL Server等相比功能稍弱
一些  题外话:Postgresql&n ......

php学习笔记(11):MYSQL在php5中的应用


1、php与mysql建立连接
php.ini 加载mysql组件
extension=php_mysql.dll前的;去掉
exetension_dir=""路径是否正确
Php连接mysql函数
mysql_connect:开启MYSQL连接
mysql_select_dir:打开一个数据库
@和or die 隐藏错误和条件显示
mysql_connect("主机","用户名","密码");  
mysql_sele ......

[转]细察 PHP V5.3.0 特性


细察 PHP V5.3.0 特性
级别: 中级
Stephen B. Morris, CTO, Omey Communications
2009 年 12 月 07 日
随着流行的 PHP 语言的不断演变,很多新特性使它在面向对象方面有了进一步的增强。本文通过一些 PHP V5.3 实例演示延迟静态绑定、名称空间支持、类方法重载以及变量解析和 heredoc 支持。
需求
除了对 PHP 和 H ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号