大佬们 请教一个东西 Python 代码加密

2023-07-26 09:09:16 +08:00
 mryaocom

大佬们

python 代码加密有什么办法吗? 现在用的 nuitka 每个平台都得重新整一次

我想加密代码 ,有激活码更好,

2724 次点击
所在节点    Python
13 条回复
lingeo
2023-07-26 09:12:49 +08:00
cython,没法跨平台。
chenPiMeiHaoChi
2023-07-26 09:20:39 +08:00
https://www.v2ex.com/t/958609#reply6
前两天刚问的,我买了这东西但效果怎么样就不知道了。
zhangyichent
2023-07-26 09:24:03 +08:00
我一般是 cython 编译,我也见过改了解释器的
encro
2023-07-26 09:38:18 +08:00
以下来自 gpt chat:

在 Python 中,完全防止代码破解是非常困难的,因为 Python 是一种解释性语言,它的源代码必须能够被解释器读取和理解。但是,你可以采取一些措施来加密或混淆你的代码,使其更加难以理解和破解。下面列出了一些常见的方法:

字节码编译:使用 py_compile 模块将你的 Python 代码编译为字节码文件(.pyc ),这样源代码将不易被直接读取。但请注意,这只提供了轻微的保护,并不是真正的加密。

混淆变量和函数名:使用无意义的、难以猜测的变量和函数名,增加了代码的阅读难度。

代码加密工具:可以使用第三方工具,如 PyInstaller 、pyarmor 等,将 Python 代码打包成可执行文件,从而减少对源代码的直接访问。

部分代码外部加载:将敏感部分的代码放在外部文件中,并在程序运行时动态加载。这样即使有人获取了主代码,也无法轻易获得完整的代码逻辑。

使用 Cython 或 Numba:将关键部分的代码转换为 Cython 或 Numba 加速模块,这样可以提高代码的执行效率,同时也增加了代码的复杂性,使得破解变得更加困难。

然而,值得强调的是,以上方法只能增加破解的难度,但无法完全阻止有意愿的攻击者。若你的代码涉及特别敏感的信息或算法,最安全的做法是将关键部分放在服务器端,而不是暴露在客户端代码中。无论如何,即使你加密了代码,也应该将重点放在代码的质量、安全性和可靠性上,而不是过度依赖加密来保护代码。
Badupp
2023-07-26 10:28:13 +08:00
cPython 打包成 so 吧
mryaocom
2023-07-26 11:37:25 +08:00
@Badupp 这玩意有点坑, 每个平台都得打包一个,
clemente0731
2023-07-26 11:49:23 +08:00
核心部分用 rust 写
Jirajine
2023-07-26 12:25:47 +08:00
随便编译混淆一下,代码多验证几处,让破解的成本大于代码本身的价值就足够了。
DRM 的大忌是影响合法用户,让合法用户当“正版受害者”。
duke807
2023-07-26 12:58:11 +08:00
cython 打包成 wasm
sadfQED2
2023-07-26 13:18:40 +08:00
脚本放虚拟机里面运行,开启虚拟机磁盘加密。(真实案例,千万级别项目就这样干的)
r6cb
2023-07-26 13:26:35 +08:00
通过互联网提供服务
wushenlun
2023-07-26 13:40:50 +08:00
docker
hanssx
331 天前
@sadfQED2 我看他们有人说可以通过内存快照读取缓存的 python 代码?

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

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

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

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

© 2021 V2EX