功能说明
支持 SourceGuardian SG11-SG16 及 SG16 Pro 全部版本
仅支持 ZIP 压缩格式,最大 5MB
文件名不能包含中文字符,建议使用英文和数字
加密后的文件需要安装对应版本的 SG Loader 才能运行
宝塔面板可在 PHP 扩展中一键安装 SourceGuardian Loader
加密文件数量限制:单次最多 100 个 PHP 文件
编码器版本对照
版本
支持的 PHP 版本
虚拟机
SG11
PHP 4.4 - 7.4
✗
SG12
PHP 4.4 - 8.0
✗
SG13
PHP 5.3 - 8.1
✗
SG14
PHP 5.3 - 8.2
✗
SG15
PHP 5.3 - 8.3
✗
SG16
PHP 5.3 - 8.4
✗
SG16 Pro
PHP 5.3 - 8.4
✓
许可证系统说明
启用外部许可证后,加密文件需要配合 .lic 文件才能运行
生成许可证时的项目ID和密钥必须与加密时设置的完全一致
域名限制支持通配符格式,如 *.example.com
适合需要分发授权的商业软件场景
Pro版虚拟机说明
SG16 Pro 是唯一支持虚拟机保护的版本
虚拟机模式使用字节码混淆技术,大幅提升安全性
Linux 环境下如果 PHP 使用 hybrid 模式编译,需要在 php.ini 中添加配置
Windows 和 macOS 平台不受影响
代码加密
生成许可证
SourceGuardian 版本 (sg_version)
选择 SourceGuardian 加密器版本,不同版本支持的 PHP 版本范围不同。默认使用 Sg17PROMAX(底层混淆 + SG17Pro),安全性最高。
PHP 版本 (version)
选择目标服务器运行的 PHP 版本,可多选。加密后的代码仅在勾选的 PHP 版本下运行。
版权注释 (comment)
在加密文件头部添加的注释信息,通常用于标识版权或加密工具信息。
错误处理风格 (custom_header)
Cerk 风格提供中文错误提示和 Loader 下载链接,默认风格保留官方 Loader 检测代码。
加密模式 (pro_mode)
Pro版使用虚拟机保护和字节码混淆技术,提供更高级别的代码保护。SG16 Pro / SG17 Pro 以及两段式的 Sg16PROMAX / Sg17PROMAX 均支持(两段式版本在云端按对应的 Pro 版本执行)。
Pro版虚拟机配置提示:
在 Linux 环境下,如果 PHP 使用 hybrid 模式编译,需要在 php.ini 中添加:
sourceguardian.enable_vm_hybrid=1
锁定选项 (可选)
限制加密文件只能在指定的服务器上运行。支持 IP 地址、MAC 地址和机器ID。
启用锁定限制
限制代码只能在指定环境下运行
IP 地址锁定 (ip)
MAC 地址锁定 (mac)
机器ID锁定 (machine)
过期时间 (expire)
格式: 30d(30天后过期) 或 日期 dd/mm/yyyy
外部许可证 (可选)
启用外部许可证后,加密文件需要配合许可证文件(.lic)才能运行。可在"生成许可证"页面创建许可证。
启用外部许可证
加密文件需要配合 .lic 文件才能运行
许可证文件名 (licfile)
项目ID (projid) - 至少3个字符
项目密钥 (projkey) - 至少3个字符
Sg17PROMAX 参数配置
一键预设:
均衡(默认)
体积优先
极限瘦身
当前:均衡
重复混淆轮数 (jm_deep)
重复混淆轮数(1-3),轮数越多越难逆向,处理耗时也越长
字符串加密 (jm_strings)
加密代码中的字符串常量
长字符串压缩 (jm_string_gzip)
长字符串先压缩再加密
数字混淆 (jm_numbers)
混淆代码中的数字常量
局部变量/参数改名 (jm_idents)
重命名局部变量与函数参数
标识符风格 (jm_ident_style)
garbage - CJK 乱码(默认)
alpha - 字母
zero - 零宽字符
改名后的标识符风格:garbage(默认,CJK 乱码)/ alpha(字母)/ zero(零宽字符)
顶层变量改名 (jm_idents_global)
顶层变量改名——会打断跨文件隐式契约,默认必须关
花指令 (jm_deadcode)
默认关:占产物约 28% 体积,保护价值最低
插入永不执行的死代码
花指令强度 (jm_deadcode_level)
花指令强度(0-3),数值越大插入越多
不透明谓词 (jm_opaque)
插入恒真/恒假判断,干扰静态分析
控制流平坦化 (jm_flow)
把顺序执行改写成 switch 状态机
平坦化阈值 (jm_flow_min)
触发平坦化的最小语句数(2-64)
函数重构 (jm_restructure)
把语句段抽成闭包,打散原有结构
重构片段上限 (jm_restructure_max)
每个作用域最多抽出几个片段(0-20)
重构搬运语句数 (jm_restructure_chunk)
每次最多搬几条语句(1-16)
密钥托管 (jm_secret)
至少 8 位(8–200 位单行文本)。填了即启用云端密钥托管:产物不含密钥、运行时可吊销;留空则密钥内联。填错/太短会被托管服务拒绝,产物退回「密钥内联、不可吊销」
离线水印 (jm_watermark)
离线水印标识,用于追溯。仅在 jm_secret 留空时生效(填了密钥托管后由云端密钥接管)
自解密外壳 (jm_shell)
自解密外壳,只有配合 jm_secret 才值得开
外壳层数 (jm_shell_stages)
1 - 单层 eval
2 - 双层(默认)
外壳层数:1 / 2,默认 2
产物头部注释 (jm_comment)
产物头部注释,留空则不写
上传文件
选择要加密的 ZIP 压缩包文件,最大 5MB,最多 100 个 PHP 文件。
点击或拖拽文件到此处上传
仅支持 ZIP 格式,最大 5MB
文件名称
-
PHP 文件数
-
加密费用
-
开始加密
SourceGuardian 版本
选择与加密时使用的相同版本,否则许可证将无法验证通过。
项目信息 (必填)
项目ID和密钥必须与加密时设置的完全一致,否则许可证将无法验证通过。
项目ID (projid) - 至少3个字符
项目密钥 (projkey) - 至少3个字符
许可证文件名 (licfile)
许可证信息 (可选)
在许可证中嵌入产品信息,用于标识授权来源。
产品名称 (lic_name)
作者 (lic_author)
联系邮箱 (lic_mail)
锁定选项 (可选)
限制许可证只能在指定的服务器上使用。域名支持通配符格式(如 *.example.com)。
域名锁定 (domain)
IP 地址锁定 (ip)
MAC 地址锁定 (mac)
机器ID锁定 (machine)
过期时间 (expire)
格式: 30d(30天后过期) 或 日期 dd/mm/yyyy
生成许可证
{literal} {/literal} {message type='vConsole'}