pyarmor 加密的 Python 脚本,影响运行效率吗?

2021-10-30 14:42:35 +08:00
 rogwan
有用过的朋友,了解这方面的情况:
1. 加密后,影响运行效率吗?
2. 保护效力怎么样?
2701 次点击
所在节点    Python
4 条回复
2i2Re2PLMaDnghL
2021-10-30 16:56:12 +08:00
粗略地看了一下。

是混淆性地编译到字节码,不是加密。
1. 应当相对明显地影响启动效率,要动态地插入内存。
2. 与一般编译性语言的混淆类似,属于一般二进制分发保护之范畴。

有个问题是,有操作系统和运行时的平台依赖,比如向 TempleOS 移植了 CPython ,混淆后的代码必不可用。Pypy ,IronPython 和 Jython 下大概率不可用,除非有专门适配。
Juszoe
2021-10-30 17:13:24 +08:00
借楼问一下大家,我看见 pyarmor 的混淆功能可以将所有.py 文件打包到一个.py 文件里。
那我不需要混淆功能,只需要将工程打包为单个.py 的功能,请问有没相应的库?
ClericPy
2021-10-30 18:00:43 +08:00
@Juszoe 可以试试我之前写的一个 zipapps

https://github.com/ClericPy/zipapps

如果不想打包依赖只打包代码, 那它就不会产生缓存, 不过依赖就得自己想办法了比如虚拟环境或者用它打包一个依赖专门的 pyz

如果想打包依赖, 有些 C 相关的库得保证打包环境和运行环境基本一致.

如果想惰性打包依赖 (运行的时候安装依赖, 打包时候只记录依赖安装命令), 使用 -d 模式

目前在 Serverless 和 Hadoop 上用这玩意打包的, 日常需要在一些 docker 里动态下载更新代码也会用到
vanton
2021-11-09 15:30:29 +08:00
@Juszoe #2
python -m compileall

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/811734

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX