Skip to content

Releases: dashingsoft/pyarmor-docs-zh

发布 9.0.7

30 Dec 11:45
Compare
Choose a tag to compare

修正的问题

  • 解决问题 (#2023): 一个函数中使用了多重循环或者Try语句之后,BCC 模式加密的脚本运行和期望的不一样
  • 解决问题: 有些设备获取设备信息返回 SystemError

发布 9.0.6

26 Nov 04:42
Compare
Choose a tag to compare

修正的问题

  • 解决问题 (#1987): 类静态属性中有太多的常量,加密之后运行出错
  • 解决问题 (#1989): 加密 Python 3.13 脚本报错 invalid v8 code

发布 9.0.5

10 Nov 05:22
Compare
Choose a tag to compare

新功能

  • 支持 Python 3.13 (pyarmor.cli.core>=7.6.2)

修正的问题

  • 解决问题: pyarmor cfg 清除选项值的功能实现不正确
  • 解决问题 (#1980): 跨平台同时生成 Darwin intel 和 arm64 的加密脚本出错
  • 解决问题 (#1981): 在 CI/CD 管线中使用基础版许可证报错 invalid network date format

发布 9.0.4

07 Nov 04:30
Compare
Choose a tag to compare

新增的功能

  • 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

20 Oct 00:28
Compare
Choose a tag to compare

升级注意事项
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

01 Oct 02:19
Compare
Choose a tag to compare

功能变更

  • 如果上一次注册命令在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

01 Aug 00:44
Compare
Choose a tag to compare

新增功能

  • 支持模块继承包的私有配置属性,通过配置新增项目 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

01 Jul 02:20
Compare
Choose a tag to compare

变更的功能

  • 试用版本加密大脚本的时候还是依旧抛出异常(仅在 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

01 Jun 00:56
Compare
Choose a tag to compare

新功能

  • 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

01 May 01:08
Compare
Choose a tag to compare

新功能

  • 选项 --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 加密脚本会报错