Appearance
CpkImporter — CPK 导入器
引擎内置的 Python 模块导入器,支持从 CPK 加密包中导入 .py, .pyc, .rxc, .rxs 文件。
说明
CpkImporter 注册在 redirect 模块中,由引擎在初始化阶段自动安装到 sys.meta_path,脚本无需手动操作。
工作原理
- 引擎启动时,将 CPK 文件通过
vfs.mount()挂载到虚拟文件系统 - CpkImporter 被安装到
sys.meta_path最前端 - 当 Python 执行
import xxx时,CpkImporter 优先从 VFS 中查找模块文件 - VFS 中找不到时,fallback 到真实文件系统
支持的文件格式
| 扩展名 | 说明 |
|---|---|
.py | 普通 Python 源码 |
.pyc | 编译的 Python 字节码(跳过 16 字节头) |
.rxc | 加密的 Python 字节码(通过 rxcfile.drf_to_pyobject 解密) |
.rxs | 加密的 Python 源码(通过 rxsfile.decrypt_rxs_file 解密) |
模块查找路径
导入器使用 sys.path 中的挂载点路径进行搜索:
mount_point/module/__init__.py → package
mount_point/module.py → module其中 mount_point 为 CPK 挂载的虚拟路径,如 Scripts/, Lib/。
redirect 模块
python
import redirect
# redirect.CpkImporter — 导入器类