Skip to content

CpkImporter — CPK 导入器

引擎内置的 Python 模块导入器,支持从 CPK 加密包中导入 .py, .pyc, .rxc, .rxs 文件。

说明

CpkImporter 注册在 redirect 模块中,由引擎在初始化阶段自动安装到 sys.meta_path,脚本无需手动操作。

工作原理

  1. 引擎启动时,将 CPK 文件通过 vfs.mount() 挂载到虚拟文件系统
  2. CpkImporter 被安装到 sys.meta_path 最前端
  3. 当 Python 执行 import xxx 时,CpkImporter 优先从 VFS 中查找模块文件
  4. 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 — 导入器类