跳到正文
CtouyPHP PHP 代码加密工具
下载试用

用户手册

这里汇集了您在使用 CtouyPHP 过程中所需的各类文档与说明,希望能帮助您快速上手并深入了解各项功能。

快速上手

装好就能跑,三步跑完第一次加密。

解压、运行,三步跑完第一次加密

  • 解压到任意目录(例如 D:CtouyPHP),双击主程序。
  • Windows 若提示「已保护你的电脑」,点「更多信息 → 仍要运行」。
  • 填站点根目录与输出目录。输出目录必须独立,原站点不会被改动。
  • 在「功能设置」里挑方案,或直接用「保护强度预设」里的场景配置。

选好目录与方案,点「开始加密」,等进度条走完 —— 输出目录就是可以直接部署的加密站点。

主界面分三块

CtouyPHP 主界面
  • 左侧菜单栏:文件(载入 / 保存任务配置)、任务(代码检测、代码美化)、工具(功能设置 F2、注册软件、指纹溯源)、帮助(免责声明)。
  • 右侧工作区:处理对象、任务配置与任务记录三段。处理对象决定加密哪些文件,任务配置决定怎么加密。
  • 底部操作栏:一条进度条,加开始加密 / 暂停 / 停止三个按钮,看一次就知道点哪里。

功能设置

方案、排除、防护,三件事。

选加密方案

保护强度从「防随手查看」到「防认真逆向」分五档:编码型 / 混淆型 / 重构型 / 底层型 / 虚拟机型。

拿不准就用「保护强度预设」下拉:轻量 / 标准 / 强化 / 最高强度(虚拟机)四档强度,外加 WordPress / ThinkPHP / Laravel / Discuz / 普通整站 / 商业源码六个框架场景,选好直接套用。

方案之间随时可以切换:同一份源码先跑低强度看效果,满意了再上高强度。

配排除规则

按目录、按文件名通配符排除第三方框架与模板文件。

被排除的文件不会丢:它们会原样复制到输出目录,加密后的站点仍然是完整的。

排除规则是追加,不是覆盖:你自己维护的清单一条都不会丢,同一个预设套两遍也不会越套越长;套完在「文件排除」页刷新一下,加了什么一目了然。

勾站点防护

全部由工具自动写入,不需要改业务代码:

  • 防 SQL 注入:请求进入业务代码之前先过一遍规则,可疑载荷当场拦掉;
  • 访问控制:后台入口与敏感目录按 IP、UA、时段收口;
  • 网站注册授权:把授权写进你交付出去的站点;
  • 静态加速:高频页面缓存成静态文件,反而更快;
  • 版权备注:在你的文件里留一行版权信息,可自定义文案。

网站注册授权

把授权写进你交付出去的站点,换域名或到期当场停下。

授权码怎么来

在出码工具 CtouyLicgen 里填入授权域名与授权期限,再加上你自己设的授权口令,就会生成一串专属授权码。

口令各自独立、由你自定义,并且参与签名:口令对不上,别人拿到工具也出不了能在你站点上通过的码。

只认你填的那个域名

授权域名与到期时间写死在授权码里,站点上无法自行伪造或续期;换域名或到期即拦截,不需要回连任何服务器。

授权记录落在站点里

在授权页面粘贴授权码,校验通过后自动生成授权记录文件,之后每次访问直接读它,不再重复校验。

签发私钥始终在你手里,站点上只嵌公钥 —— 拿到整站文件也签不出新的授权码。

需要什么环境

只有「网站注册授权」需要 PHP 的 sodium 扩展,官方 PHP 7.2 及以上都随包自带;没开的老环境会在授权页直接写明原因。

其余五档加密(编码型 / 混淆型 / 重构型 / 底层型 / 虚拟机型)与站点防护都不依赖任何扩展,产物是纯 PHP 代码。

效果演示:授权在站点上长什么样

把「网站注册授权」勾上再加密,交付出去的站点就带了一道授权闸门。三种形态长这样:

常规 PHP 站点 —— 整页授权页:访客打开受保护页面先看到它,粘贴授权码通过后才进站。

常规 PHP 站点上的整页授权页

WordPress 主题 —— 不拦整站,只在后台挂一条红色提示条,授权码在提示条里填。

WordPress 后台「外观 → 主题」页上的授权提示条

WordPress 插件 —— 同一条提示条;插件照常显示、站点照常访问,授权通过后它自己消失。

WordPress 后台插件页上的授权提示条

页面标题、主色、Logo 与界面语言都在「功能设置 → 注册授权 → 授权页面外观」里换成你自己的。

删掉那句授权检查会怎样

不会「照样跑」,而是跑不起来。

把授权检查删掉、或者改成直接返回,受保护的代码一个字都还原不出来;用服务器配置顶掉验签函数同样没用。

现场看上去只是「没运行」,不会留下任何提示。

授权码携带产物密钥(可选,更严实)

「功能设置 → 注册授权」里有一个开关叫授权码携带产物密钥。

勾上之后,客户站点必须填一枚你这台机器签发的授权码才能跑起来;别人自己造的授权码带不动这份产物。

代价要看清:

  • 工具目录里会多出一份文件,要跟签发私钥一起备份;
  • 改了授权口令、或者换了签名私钥,要用新口令 重新加密并重新发码,旧码不会解锁新产物;
  • 勾了之后签出来的码只对得上同样的产物;客户拿旧格式的码会看到「请向开发者索取新的授权码」。

不勾这个开关,加密、发码、验码与以前完全一样,已经交付出去的产物照旧用老码跑。

WordPress 主题与插件

加密 WordPress 时唯一必须做对的一步。

记得勾上「兼容WordPress主题/插件」

这是加密 WordPress 项目时唯一必须做对的一步。

为什么必须勾:WordPress 是读文件原文来认插件的,插件头(Plugin Name / Version 那些注释)必须保持明文。不勾的话,后台「已安装插件」列表里根本看不到它。

这个开关默认不开启,只在处理 WordPress 项目时勾上即可。

勾上之后开启网站授权会怎样

不会把整个 WordPress 换成授权页。未授权的受保护代码自己暂停运行,站点照常访问,授权码直接在后台的提示条里填写,填对当场恢复。

开关就在「功能设置 → 保护方案」里,勾上「兼容WordPress主题/插件」即可。

功能设置 → 保护方案:勾上「兼容WordPress主题/插件」

启用插件 / 切换主题时

授权闸门一律放行(与是否勾选无关),不会再出现「该插件引起了一个致命错误」的误报。

部署与性能

上传就行,不用改服务器配置。

直接上传就行

输出目录里的内容就是可以直接部署的站点:传到任意支持 PHP 的服务器即可,不需要装扩展、不需要改 php.ini。

整目录一起传

站点密钥是单独一个随机命名的包含文件,必须跟着业务文件一起上传。

单独拿走一个加密文件是跑不起来的 —— 这正是我们要的效果。

性能

首次运行时解密,之后由 PHP 自身的 opcode 缓存接管,日常访问基本无感知。站点防护与静态加速部分反而会提升访问速度。

主机安全软件报”木马”时怎么办

主机上的安全软件(宝塔「网站文件查杀」、云锁、安全狗、河马等)有时会把加密产物判成「疑似加密后门」,严重的会直接隔离文件,站点跟着打不开 —— 报的是"疑似",不是文件坏了。

按这个顺序处理:

  • 先把被隔离的文件恢复 / 信任回来;
  • 把安全软件的「自动删除 / 自动隔离」改成只提示,免得上线时文件被删;
  • 把加密后的输出目录加进白名单(宝塔:网站 → 文件查杀 → 白名单;云锁 / 安全狗:信任目录);
  • 自己验一遍:php -l 文件名 语法通过就说明文件是好的;
  • 主机查得特别死:把核心文件改用混淆型方案(它的产物写法跟这类特征重叠最少),其余文件照旧用重构型 / 底层型 / 虚拟机型。

上线前建议先在测试目录传一份跑一遍,页面能正常打开再切正式目录。更细的排查顺序见「常见问题 → 主机上的安全软件把加密后的文件报成木马,怎么办?」。

适用场景

谁在用,用在什么地方。

典型适用场景

  • 外包 / 定制开发交付,保护尾款谈判中的筹码;
  • 商业插件、SaaS 源码、小程序后端源码的授权分发;
  • 需要部署到客户服务器的项目(含内网、离线环境);
  • 课程设计、毕设、作品集的成果保护;
  • 二次开发交付,防止下游直接转卖。