热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

使用php_screw加密PHP程序实例详解_PHP教程

使用php_screw加密PHP程序实例详解。现在加密php程序的软件有不少,最常用的就是官网的一款了,不过要收费的,下面我来介绍一款使用php_screw他也可以实现加密PHP程序哦,下
现在加密php程序的软件有不少,最常用的就是官网的一款了,不过要收费的,下面我来介绍一款使用php_screw他也可以实现加密PHP程序哦,下面看实例。

PHP_Screw是一款免费的针对PHP源码进行加密的PHP的扩展,可以自定义加密种子文件,加密后的文件效率还不会下降,目前还没有被破解。下面介绍一下安装和使用方法

最新版本是php_screw_1.5
wget http://nchc.dl.sourceforge.net/project/php-screw/php-screw/1.5/php_screw-1.5.tar.gz

官方站点只能下到源码
从官方站点下载最新版本:
http://sourceforge.net/project/showfiles.php?group_id=52025

安装步骤:
1. 下载源码:
wget http://nchc.dl.sourceforge.net/project/php-screw/php-screw/1.5/php_screw-1.5.tar.gz

2. 解压缩:
tar zxvf php_screw_1.5.tar.gz

3. 通过README.en文件可以看到该版本软件包要求PHP5.x 环境,并要求zlib支持(通过执行脚本来检查)。如果你使用的是PHP4.X版本,请下载php_screw_1.3版本

4. 进入源码目录
#cd php_screw_1.5
root@Server:~/php_screw-1.5# vim php_screw.h
#define PM9SCREW “tPM9SCREWt”
#define PM9SCREW_LEN 10
#define PM9SCREW “tLAURENCEt”
#define PM9SCREW_LEN 9


5. php_screw.h文件,如果不改这个文件,你加密的文件内容开头就会有 PM9SCREW ,你复制到google搜索下就知道是用screw模块加密的,虽然目前网上没发现解密算法,但以后就不一定,这么做就是为了隐藏加密算法,可以让别人不 知道你是用的什么算法加的密。改成COOL后10也要改成6.因为LAURENCE后字符长度是9发字符,如果你不对应加密后解密解析不了。
my_screw.h
root@Server:~/php_screw-1.5# vim my_screw.h
short pm9screw_mycryptkey[] = {
11152, 368, 192, 1281, 62
};
short pm9screw_mycryptkey[] = {
12852, 968, 192, 1281, 62, 269
};
自定义加密种子文件,这个可能是该程序的亮点,用你喜欢的文本编辑器打开源码目录下的my_screw.h,修改文件里面的数组文件,可以用数字添 加该数组的长度。数组越长,加密越可靠。而且该数组的长度不会影响加密以及你的PHP程序执行的速度.测试发现不要大于5位数,大了就会解密解析有问题。

6. phpize
#phpize
Configuring for:
PHP Api Version: 20041225
Zend Module Api No: 20060613
Zend Extension Api No: 220060519

如果你的系统提示没有该命令就需要安装apt-get install php5-dev Centos 估计是yum -y install php5-devel ,如果还是提示上述命令不存在,可能是由于你的php没有安装在标准目录下,请到php安装目录的bin文件夹下寻找,确定是否有该文件。然后回到 php_scre_1.5目录下,执行
#/full/path/to/phpize
要成功执行phpize,需要有autoconf 和M4软件包。成功执行后,源码文件夹下出现configure文件
如果没有装错误如下:phpize command not found
解决:centOS: yum -y install php-devel
:RHEL :up2date -i php-devel

7. 配置
./configure
如果php安装在非标准目录,需要查看在phpize目录下是否有php-config文件,然后执行该目录如下
./configure –with-php-cOnfig=/full/path/to/php-config

8. 安装
make
make install

这个时候有时会出现一个问题:
‘zend_compiler_globals’ 没有名为 ‘extended_info’ 的成员make: *** [php_screw.lo] 错误 1
解决方法:
需要修改php_screw.c (有两个地方需要调整)
把CG(extended_info) = 1;
修改为:
CG(compiler_options) |= ZEND_COMPILE_EXTENDED_INFO;

9. php配置
在php.ini文件里面添加扩展
vim /usr/local/php/etc/php.ini
extension=php_screw.so
重启apache,查看phpinfo()里面应该有php_screw的相关信息

10. 转到源码目录下的 tools 目录
#make
这里是编译php源码到php加密文件工具:screw

上述过程已经把php_screw 安装完毕了,下面来看看如何进行加密:
1. 切换到你的php源码目录,比如你要加密phpinfo.php文件则执行
#screw phpinfo.php

2. php_screw_1.5有一个缺点就是screw 加密工具一次只能执行一个文件,如果你切换到你的php源码目录执行
#screw *
不会有任何文件被加密,如果要加密上百个文件,那正是灾难
解决办法如下 ,执行
find /data/php/source -name “*.php” -print|xargs -n1 screw //加密所有的.php文件
find /data/php/source -name “*.screw” -print|xargs -n1 rm //删除所有的.php源文件的备份文件
可以对/path/to/php/source目录下的所有后缀为php的文件加密,包括子目录下的。
这样就基本做到的对php源码的加密。如果只是个人的小程序源码的加密,我想php_screw是一个不错的选择

www.bkjia.comtruehttp://www.bkjia.com/PHPjc/629609.htmlTechArticle现在加密php程序的软件有不少,最常用的就是官网的一款了,不过要收费的,下面我来介绍一款使用php_screw他也可以实现加密PHP程序哦,下...


推荐阅读
  • 在成功安装和测试MySQL及Apache之后,接下来的步骤是安装PHP。为了确保安全性和配置的一致性,建议在安装PHP前先停止MySQL和Apache服务,并将MySQL集成到PHP中。 ... [详细]
  • 深入理解OAuth认证机制
    本文介绍了OAuth认证协议的核心概念及其工作原理。OAuth是一种开放标准,旨在为第三方应用提供安全的用户资源访问授权,同时确保用户的账户信息(如用户名和密码)不会暴露给第三方。 ... [详细]
  • 1:有如下一段程序:packagea.b.c;publicclassTest{privatestaticinti0;publicintgetNext(){return ... [详细]
  • PHP 5.2.5 安装与配置指南
    本文详细介绍了 PHP 5.2.5 的安装和配置步骤,帮助开发者解决常见的环境配置问题,特别是上传图片时遇到的错误。通过本教程,您可以顺利搭建并优化 PHP 运行环境。 ... [详细]
  • 本文探讨如何利用人工智能算法自动区分网页是详情页还是列表页,介绍具体的实现思路和技术细节。 ... [详细]
  • MATLAB实现n条线段交点计算
    本文介绍了一种通过逐对比较线段来求解交点的简单算法。此外,还提到了一种基于排序的方法,但该方法较为复杂,尚未完全理解。文中详细描述了如何根据线段端点求交点,并判断交点是否在线段上。 ... [详细]
  • 帝国CMS多图上传插件详解及使用指南
    本文介绍了一款用于帝国CMS的多图上传插件,该插件通过Flash技术实现批量图片上传功能,显著提升了多图上传效率。文章详细说明了插件的安装、配置和使用方法。 ... [详细]
  • 深入理解Shell脚本编程
    本文详细介绍了Shell脚本编程的基础概念、语法结构及其在操作系统中的应用。通过具体的示例代码,帮助读者掌握如何编写和执行Shell脚本。 ... [详细]
  • 通过Web界面管理Linux日志的解决方案
    本指南介绍了一种利用rsyslog、MariaDB和LogAnalyzer搭建集中式日志管理平台的方法,使用户可以通过Web界面查看和分析Linux系统的日志记录。此方案不仅适用于服务器环境,还提供了详细的步骤来确保系统的稳定性和安全性。 ... [详细]
  • Nginx 反向代理与负载均衡实验
    本实验旨在通过配置 Nginx 实现反向代理和负载均衡,确保从北京本地代理服务器访问上海的 Web 服务器时,能够依次显示红、黄、绿三种颜色页面以验证负载均衡效果。 ... [详细]
  • 嵌入式开发环境搭建与文件传输指南
    本文详细介绍了如何为嵌入式应用开发搭建必要的软硬件环境,并提供了通过串口和网线两种方式将文件传输到开发板的具体步骤。适合Linux开发初学者参考。 ... [详细]
  • 简化报表生成:EasyReport工具的全面解析
    本文详细介绍了EasyReport,一个易于使用的开源Web报表工具。该工具支持Hadoop、HBase及多种关系型数据库,能够将SQL查询结果转换为HTML表格,并提供Excel导出、图表显示和表头冻结等功能。 ... [详细]
  • Python自动化测试入门:Selenium环境搭建
    本文详细介绍如何在Python环境中安装和配置Selenium,包括开发工具PyCharm的安装、Python环境的设置以及Selenium包的安装方法。此外,还提供了编写和运行第一个自动化测试脚本的步骤。 ... [详细]
  • 在计算机技术的学习道路上,51CTO学院以其专业性和专注度给我留下了深刻印象。从2012年接触计算机到2014年开始系统学习网络技术和安全领域,51CTO学院始终是我信赖的学习平台。 ... [详细]
  • 本文详细介绍了Vim编辑器的三种主要模式及其常用命令,帮助用户更好地掌握这一强大的文本编辑工具。 ... [详细]
author-avatar
渴死的鱼2502872325
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有