除了 Cython 和 Pyarmor, Python 还能如何保护源代码

1 天前
 bigtear
因为要把程序发布到许多用户可以访问的 Docker 容器中,一些项目可以用 cython 编译成 so ,效果还可以,但是有些用到了 pydantic 、json 转换之类的库的项目用 cython 加密会导致程序运行出错,比如有的类型转换校验会出错。不改动原程序的话,这样的项目不能用 cython 了。好像还有一个 pyarmor 也能加密项目,但是它的授权方案不适合项目场景,请问各位还有其他方案吗?
1262 次点击
所在节点    Python
13 条回复
bigtear
1 天前
话说没试过 nuitka ,之前用 nuitka 编译带 torch 的项目时间太长了,感觉小项目的话可以试试
foolishcrab
1 天前
你是要发一个 public image 但是其中的 python 程序不想被看到源码?
理论上没有完全不能逆向的办法,或者需要重新考虑下分发模式
Riyue
1 天前
https://skywind.me/blog/archives/3002
貌似是在 V2EX 看到并收藏的文章,文章后半部分讲了 python 加密
vicalloy
23 小时 49 分钟前
为什么第三方库也要编译,不管还是 cython 还是 nuitka 都可以只编译自己的代码。
yb2313
23 小时 24 分钟前
用...ai 改成 rust 重写
iorilu
23 小时 17 分钟前
docker 发布还想保护源码, 不太可能

如果你真有啥牛逼算法, 建议搞成服务器得服务

否则就算了, 不一定有人关心你的源码, 这年头随便啥功能, 让 ai 写一个能有多难
312ybj
23 小时 1 分钟前
nuitka 够你用了,你之前试的时间长,那是因为是第一次打包, 要把所有的都打成 C , 后续打包分钟级别就能完成了。 至于授权方案, 可以自己校验 sn 就行了,很容易扩展的
Ritter
21 小时 40 分钟前
@Riyue 看完才发现是韦易笑的 经常在知乎看到这个大佬
weijar
21 小时 18 分钟前
自己写个程序把变量名混淆了。
十年前我我写 python 程序卖时就自己整过一个 https://pyob.oxyry.com/
这个小工具开发花了一星期,当然我早就不用 python 所以那个也早已废弃不更新了。
jettzhang
20 小时 45 分钟前
nuitka 就完事了
bronyakaka
20 小时 38 分钟前
混淆+Cython ,又快又简单
bronyakaka
20 小时 34 分钟前
@bronyakaka 没注意标题,忽略
maocat
36 分钟前
巧了, 这两天正在搞 python 代码加密这块
先说代码混淆
现在代码混淆意义不大, 扔给 AI 给就能翻译出来, 而且开源的基本都是单文件混淆, 没有工程级别的

Pyarmor 因为是商业软件, 不太好使用
最终方案是使用的 Pyarmor 原理加解密.py 文件, 然后 py 文件转为 pyc(目前我试了下 python3.12+ 开源 pyc 反编译的结果不太行)
加密秘钥和解密代码用 nuitka 做成.so

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

https://yangjunhui.monster/t/1131666

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

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

© 2021 V2EX