Releases: dashingsoft/pyarmor-docs-zh
Releases · dashingsoft/pyarmor-docs-zh
发布 9.0.7
发布 9.0.6
发布 9.0.5
发布 9.0.4
新增的功能
- pyarmor 运行错误会自动生成错误报告文件
pyarmor.bug.log
改变的功能
- 调试日志文件
pyarmor.debug.log
和跟踪日志文件pyarmor.trace.log
保存在当前目录,之前的版本保存在子目录.pyarmor
- 启用命令
pyarmor man
,现在可用来快速解决问题和报告问题
修正的问题
- 解决问题: 试用版
pyarmor -v
报错TypeError: 'NoneType' object is not subscriptable
- 解决问题: Python 3.9+ 中注册基础版和专家版许可证出错
- 解决问题: 集团版许可证新生成的设备注册文件无法使用,报错
this license is not readey for Pyarmor 9
- 解决问题 (#1970): 在 CI/CD 管线中使用基础版许可证,许可证类型显示为
unknown
- 解决问题 (#1977): 加密脚本的报错
unknown token error 3
发布 9.0
升级注意事项
Pyarmor 9 关于在 CI/CD 管线中使用许可证的方式有很大的变更,请查看 Pyarmor 9 更新说明
新增功能
- 新增管线许可证,主要用于支持在 CI/CD 管线中使用专家版的功能
功能变更
- 专家版许可证不可用于 CI/CD 管线
- 基础版许可证需要额外的操作步骤才能在 CI/CD 管线中使用
- 集团版许可证需要使用新版本为每一个离线设备重新生成设备注册文件
解决问题
- 解决问题: 在 RFT 模式中,类继承的属性名称没有进行重命名
- 解决问题: 集团版许可证无法在一些 Openeuler 系统中使用的问题
- 解决问题: 在 Python 3.11/3.12 中局部变量没有进行重命名
- 解决问题: 在 Python 3.11/3.12 即使启用了参数混淆
pyarmor cfg mix_argnames = 1
,函数参数还是没有改变 - 解决问题: 当某一个平台尚未支持的时候,错误信息显示不正常
发布 8.5.12
功能变更
- 如果上一次注册命令在30秒之内,那么下一次的注册命令会自动延迟到30秒之后在进行提交,主要是为了避免客户端提交太频繁的注册请求
修正的问题
- 加密脚本在 Android 平台运行报错:
RuntimeError: failed to get api PyCell_Get
(需要安装 pyarmor.cli.core.android>=6.5.3.post1) - 解决问题 #1929: 加密脚本无法正确绑定到域名
- 解决 Darwin 下面使用 pack 生成 universal2 可执行文件报错的问题
发布 8.5.11
新增功能
- 支持模块继承包的私有配置属性,通过配置新增项目
pyarmor cfg propagate_package_options=1
- 增加新的配置选项
rft_simple_import
修正的问题
- 解决问题: 当输入路径是 "." 的时候,删除模块私有配置文件名称前面的点
- 解决问题: 输出脚本支持多平台的时候无法在 Cygwin 环境下运行(需要
pip install pyarmor.cli.core.cygwin >= 6.5.3.post1
) - 解决问题: RFT 模式加密的脚本可能报错
ImportError: cannot import name from partially initialized module (most likely due to a circular import)
- 解决问题 #1876: 在一些平台下面,如果函数中有太多的参数或者变量,使用 BCC 模式加密之后运行崩溃
发布 8.5.10
变更的功能
- 试用版本加密大脚本的时候还是依旧抛出异常(仅在 v8.5.9 中会直接拷贝原来的大脚本到输出目录)
- 调整 Pyarmor 运行错误后的解决方案提示信息
新特性
- 支持新的平台 cygwin.x86_64,扩展模块在包
pyarmor.cli.core.cygwin
中
修正的问题
- 解决问题: 选项
--pack
的值为可执行文件的时候,如果脚本中包含非 ASCII 字符,会抛出编码异常错误 - 解决问题: 在一些特殊平台,可能会在因为调用函数
format_platform
出错而无法正确运行 Pyarmor - 解决问题: 集团版许可证在 Docker 容器中使用出现错误的提示不明确问题
- 解决问题: 在 Windows VM 运行 Pyarmor 抛出异常
RuntimeError: Incorrect function
- 解决问题 #1815: 命名的硬盘序列号中包含空格和尾部点
- 解决问题 #1845: 对于 Python 3.11+ 复杂的运行补丁脚本无法工作
- 解决问题: pyarmor.cli.hdinfo 无法得到多个网卡的Mac地址
发布 8.5.9
新功能
pyarmor-auth
支持选项--host
(参考 #1773)- 支持新平台(未经测试): linux.mips32el, linux.mips64el, linux.ppc64le, linux.riscv64, alpine.mips32el, alpine.mips64el, alpine.ppc64le, alpine.riscv64
试用版本变更的功能
- 试用版本加密大脚本的时候直接把原来的脚本拷贝到输出目录,而不是抛出异常
out of license
修正的问题
- 解决问题 #1760: 基础版和专家版许可证使用一段时间之后需要重新注册
- 解决问题 #1764: 选项
--pack
的值为可执行文件的时候出错No such file or directory
- 解决问题 #1772: 使用
pyarmor cfg data_files=*
拷贝文件,但是目录中字符点后面的部分在拷贝之后会被删除。例如 数据目录2003.2
在输出目录被重命名为2003
- 解决问题 #1788: 硬盘序列号中包含空格
- 解决问题 #1793: 在 Windows VM 运行 Pyarmor 抛出异常
<built-in function init_ctx> returned a result with an exception set
- 解决问题: 在某些不常用的架构平台运行
pyarmor
报错,无法导入模块pytransform3
- 解决问题: 使用
--obf-module 0
加密的脚本会导致运行异常RuntimeError: the format of obfuscated script is incorrect (1:1082)
修正 Pyarmor-7 问题
- 解决问题 #1785:
pyarmor-7 pack
不支持 PyInstaller 5.11.0+
发布 8.5.8
新功能
- 选项
--pack
支持.spec
文件,如果已经有.spec
文件能够成功打包没有加密的脚本,那么把该文件传递给--pack
就可以打包加密后的脚本,例如pyarmor gen --pack foo.spec foo.py
修正的问题
- 修正使用一些打包选项导致的异常问题
- 修正部分扩展模块没有打进包里面的问题,导致执行的时候找不到模块
- 修正打包的时候在 Windows 下面路径没有忽略大小写导致无法正常打包的问题
- 解决问题:
--pack
和选项--enable-rft
,--assert-import
或者assert-call
等一起使用的时候报错 - 解决问题: 如果
match value
语句中使用了Class.Name
形式的常量,使用--obf-code 2
加密脚本会报错