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。

下载地址:http://sourceforge.net/projects/php-screw/

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文件作为备份。

Update @ 2008-09-01

加密之后,还有个小问题,用require或include引用放在include_path下的加密代码时,会当做明文引过来,解决方法有两种:

使用绝对路径引用放在include_path下的加密内容,如果是自己的主机,肯定没问题的;
使用相对路径来引用,比如在本项目的子目录内,这样也是没问题的。

(0)

相关推荐

  • php_screw 1.5:php加密: 安装与使用详解

    php文件通常以文本格式存贮在服务器端, 很容易被别人读到源代码, 为了对源代码进行保护, 可以采用对源代码进行加密的方式.要实现该功能需要两部分: 一是加密程序,实现对PHP文件的加密. 另一个就是对加密过的PHP文件进行解析, 以得到运行结果. 前者的实现比较简单, 就是一程序而已. 后者的实现大部分都是通过php module的形式来实现的. php_screw(螺丝钉)可以实现以上的功能.最新版本是1.5,可以在sourceforge上下载.安装:安装的目的其实就是产生两个文件:一个是用

  • 解析如何用php screw加密php源代码

    在使用PHP过程中发现,自己编写的php代码因为都是源代码方式放在服务器上的所以很容易就被别人拿走随便修改(变成自己开发的)使用了.为了保住自己的劳动成果,我一直寻找一种可以加密php代码的软件.最著名的就是Zend公司的Zendencoder了,但是不是开源软件(要价很高,也没有找到破解版).既然收费的用不起,我们就用开源的.我找到了php_screw这个开源软件,目前最新版本是1.5安装环境系统:centos 5.3软件:Apache 2.2.9PHP 5.2.10以上环境全部是自己下载配置

  • php_screw安装使用教程(另一个PHP代码加密实现)

    开始之前,首先要澄清两个问题:第一,支持开源,不等于反对代码加密:第二,如果把不属于自己的东西(比如公司的)拿去开源,就更加不应该了. 以前知道的,PHP代码的加密都是用Zend的encoder,这东西不但是商业软件,好像还暴出过能够被破解的问题,所以就找到了替代的方案────php_screw,一个日本人开发的东东. php_screw非常小巧,没有仔细看过它的算法,但从说明文档中看,可以自行更改SEED,然后自行编译so和可执行档.如果够牛的话,甚至可以自己去更改算法.不管怎样,对于我们这些

  • Android在一个app中安装并卸载另一个app的示例代码

    Android在一个app中安装并卸载另一个app 1.在app→src→main下新建文件夹asserts,将准备安装的apk文件放在asserts内 2.在app→src→main→res下新建文件夹xml,右击xml文件夹,选择new→XML Resource File,File name为文件名,可随意,本文中为filepaths:Root element为资源类型,输入paths,确定并编辑以下代码: <?xml version="1.0" encoding="

  • 没有安装Python的电脑运行Python代码教程

    目录 导语 正文 如果有问题看下面: 总结 导语 这篇文章是我之前很想写的,但是拖到了今天! 咳咳咳......主要是有粉丝让我安排一下!宠粉.jpg 很多新手小伙伴儿是不是经常有这个疑问:"你把代码发给我了,BUT我怎么发给没有python的人运行呢?" 这里小编为大家统一解决一下这个问题,确实是个大问题. 正文 在cmd里安装pyintsaller包. 首先将安装转换工具-pyinstaller:需要打开cmd,然后在cmd里输入一行命令即可. pip install pyinst

  • [Oracle] Data Guard CPU/PSU补丁安装详细教程

    非Data Guard的补丁安装教程可参考<[Oracle] CPU/PSU补丁安装详细教程>,Data Guard需要Primary和Standby同时打上补丁,所以步骤更复杂一些,其主要步骤如下:1.在Primary停止日志传输服务:2.关闭Standby数据库,在Standby的软件上打补丁(注意:不需要为Standby数据库打补丁),启动standby为mount状态,不启用managed recovery:3.关闭Primary,在Primary的软件和数据库本身都打上补丁:4.启动

  • Zabbix安装图文教程(需要LAMP或者LNMP运行环境)

    说明: 操作系统:CentOS IP地址:192.168.21.127 Web环境:Nginx+MySQL+PHP zabbix版本:Zabbix 2.2 LTS 备注:Linux下安装zabbix需要有LAMP或者LNMP运行环境 准备篇: 一.Web环境:Nginx+MySQL+PHP CentOS 7.0编译安装Nginx1.6.0+MySQL5.6.19+PHP5.5.14 二.zabbix软件包下载 zabbix-2.2.6 http://jaist.dl.sourceforge.ne

  • 非集成环境的php运行环境(Apache配置、Mysql)搭建安装图文教程

    本文为大家分享了php运行环境搭建安装图文教程,供大家参考,具体内容如下 安装apache: 1,不要安装到有中文的目录中: 2,尽量将apache,php,mysql安装到一个总的目录,便于管理. 3,尽量将之前安装的amp集成安装环境删除,并删除已经配置的环境变量: 此处是服务器名称的设置,可以随便输入,完成之后可用IP或者localhost来进行访问, 邮箱随便填写,保证邮箱格式的正确 apache安装后的默认主页(站点)的位置为: apache的安装位置/htdocs/ localhos

  • Windows2003下php5.4安装配置教程(IIS)

    本文与<Windows2003下php5.4安装配置教程(Apache2.4)>(点击打开链接)为姊妹篇,只是php所用的服务器有点不同,这里一个是Apache2.4,一个是Windows2003自带的IIS服务器. 一.在Windows2003安装IIS 1.首先打开Windows2003的控制面板,查看是否有"管理工具",没有也不要紧,点击"添加或删除程序".有的话,可以直接进入第二步,IIS的配置. 2.在弹出的窗口,选择添加/删除Windows组

  • VPS中使用LNMP安装WordPress教程

    前言 前几天,朋友手头上有一个空闲的vps,256M内存,我决定拿来玩一下.经过一番思考,还是用来挂站吧.然后看是CentOS6系统,果断决定用从来没玩过的LNMP.于是,百度.谷歌找教程,好多教程都是有问题的,导致重装无数次系统,浪费大把大把时间.现在总结一下成功的经验. 安装screen 在终端输入yum install screen 完成后输入screen -S lnmp 为什么要这样做呢?答案很简单,因为它可以保护您的远程连接,让工作不半路意外停止.我在安装LNMP的时候时间比较长,而X

  • mysql 5.7以上版本下载及安装图文教程

    一.下载 1.mysql官网下载地址:https://downloads.mysql.com/archives/community/ 2.下载完成后解压,解压后如图: 3.放置位置,把解压好的文件夹放在自己喜欢的位置 二.配置mysql 1.mysql-5.7.17-winx64目录下,新建一个my.ini.复制下面的代码保存就可以了.my.ini会替换掉下面的my-default.ini文件 注:my.ini文件的内容: [mysql] ; 设置mysql客户端默认字符集 default-ch

  • linux下mysql5.7.19(tar.gz)安装图文教程

    初级第一次在linux下安装mysql-5.7.19版本教程,如果已经会安装了,那么请看下一篇linux下安装多个mysql-5.7.19 环境:centos 6.5 1.下载 2.跳过登陆 3.上传并解压到目录../usr/local/mysql-5.7.19-3307 复制代码 代码如下: tar -zxvf mysql-5.7.19-linux-glibc2.12-x86_64.tar.gz  -C ../usr/local/mysql5.7.19-3307 4.添加系统mysql组和my

随机推荐