使用PHP_SCREW加密你的源代码
来源:互联网 发布:mac无法安装sass 编辑:程序博客网 时间:2024/05/20 11:27
使用PHP_SCREW加密你的源代码,附5.3.6 Windows编译VC6、VC9,线程安全二进制版本
今天需要把我们的代码部署到别人的服务器上,在Linux上尝试使用php_screw这个扩展加密了一下源代码,相当不错。
为了能在我的机器上把代码加密之后再部署到对方的Linux主机上去,晚上编译了一个Windows 二进制版本。总的来说,尝试过它的Windows版本之后,我对这个家伙的严谨性表示了严重的怀疑。他写这一坨代码的时候,完全没有考虑Windows的兼容性。
例如:php_screw.c 文件第 57 行明显的语法错误,在这里作者的意图应该是申明一个名为 org_compile_file 的函数指针类型的变量,结果他偏偏在前面加了 ZEND_API (__declspec(dllexport)) 【这个变量没必要导出】。同样,下面的 59行:
zend_op_array *pm9screw_compile_file(zend_file_handle *file_handle, int type TSRMLS_DC)
这里也不应该加上 ZEND_API【函数实现】
同样,第80 行、第 86 行,没有考虑多线程安全的问题,还要加上 TSRMLS_CC:
return org_compile_file(file_handle, type TSRMLS_CC);
当然,除此之外,其它的细节问题就没了,除了常见的 PHP5.3之后的兼容性问题。
最可气的是,这个扩展居然在支持源代码换行格式为 Windows 时存在问题(换行为 \r\n),源代码的换行必须为 (\n) ,您的源代码千万不要是用记事本写的啊,如果是Editplus 写的,马上把文件格式改为 UNIX 吧(在测试这个时候花了最多的时间才试出来)。
下面提供一下针对 PHP5.3.6 、线程安全、VC9 和 VC6 的扩展和加密工具(真实的编译器是 VC9,如果跑不起来,请安装 VC9的运行时)【加密、解密的key是默认的,请注意部署目标机器的key】:
The Binary Below Compiled With the default pm9screw_mycryptkey in file my_screw.h.
http://www.1000li.com/php_dll/php_screw_vc6.dll Binary Release Of PHP_Screw For PHP5.3.6,TS,VC6
http://www.1000li.com/php_dll/php_screw_vc9.dll Binary Release Of PHP_Screw For PHP5.3.6, TS, VC9
http://www.1000li.com/php_dll/screw.exe Binary Relase Of Screw Encoding Tool
使用 screw.exe php源代码文件名 可以加密文件,加密的文件可以部署在有 php_screw.dll 扩展的服务器上。加密是透明的,无需任何处理(实际上,看 screw的源代码,其实就是非常朴素的处理了一下)
- 使用PHP_SCREW加密你的源代码
- 使用php_screw加密php源代码
- php_screw 加密php源代码
- 用php_screw加密php源代码
- PHP_SCREW 加密
- 使用php_screw对代码进行加密
- php_screw 1.5:php加密: 安装与使用
- 使用php_screw为php程序文件加密
- php_screw 源码加密
- 用php_screw为php加密
- [转]用php_screw加密PHP代码
- php_screw 开源php代码加密工具
- 使用crypto api的加密解密源代码
- 源代码加密软件的三种技术 你了解多少?
- php_screw安装,使用,编译,问题说明
- 使用ASP加密算法加密你的数据
- 使用PGP加密你的文件
- CentOS安装php_screw模块的脚本
- AStar 算法对于RPG游戏使用
- js 检测浏览器版本
- ArcGIS Server Flex实现GraphicsLayer上画点、线、面
- js trim 函数
- Python中的replace方法
- 使用PHP_SCREW加密你的源代码
- 一款基于mootools的js dialog方法,ivhongDialog
- SQL Server 2008内存及I/O性能监控
- 【笔记】gdb调试时,执行顺序与源代码不一致
- 精通递归程序设计
- 9个offer,12家公司,35场面试 从微软到谷歌,应届计算机毕业生的2012求职之路
- Spring的一些理解;struts整合spring
- 一款基于mootools的方法,给指定的div加上滚动条, ivhongBar
- Sybase 临时数据库tempdb空间不足解决办法