Python 写商业软件时 如何保护代码不被泄漏?

2019-11-08 02:36:54 +08:00
 JasonTsang

最近用 python 开发商业软件,但不知道 如何保护这些代码不被轻易破译,当然肯定会有人能破得了 ,但就现在来看 ,python 的源码真的处于无保护状态。请问应该怎么做才能很好的保护商业源码?软著也只能在法律上保护。比如一些人开发了你的软件,你的软件根本就不能再商业了。

9990 次点击
所在节点    Python
51 条回复
EminemW
2019-11-08 09:39:12 +08:00
代码有什么关键技术吗。。。大部分重要的是数据吧。
warcraft1236
2019-11-08 09:47:29 +08:00
这个问题 Java 也有
handong970123
2019-11-08 09:49:07 +08:00
我们这边都是转成二进制文件
ClericPy
2019-11-08 09:50:45 +08:00
基本别想了, 多少人恰恰就是因为这问题转别的语言去了

以前玩过 curl 一句一次性 https url 来执行, 也就是打包好 pyz 然后 xargs 那种, 代码和环境因为是在内存里的, 所以只要第一次没抓包到, 就没事, 然而抓包就拿到也没什么用

所以还是做成 CS 服务吧
singerll
2019-11-08 12:24:59 +08:00
@tulongtou 磁盘全盘加密跟是不是虚拟机没关系吧
liuzhiyong
2019-11-08 12:30:55 +08:00
只有一个办法:业务的关键逻辑在自己的服务器上面。其他的办法,只要利益足够大,都能有牛人破解掉。
binux
2019-11-08 12:46:19 +08:00
@est #3 内存 dump 如何?
zhuangzhuang1988
2019-11-08 12:46:21 +08:00
代码写得烂点就好了.
guanhui07
2019-11-08 12:48:21 +08:00
转二进制
hakono
2019-11-08 12:56:19 +08:00
@singerll 磁盘加密也没用。虚拟机要跑起来必定需要对磁盘解密,而解密必定要秘钥,虚拟机都在客户手上了秘钥必定也一定藏在哪里,找到秘钥虚拟机就等于是裸奔了

除非做法是虚拟机启动后就销毁秘钥再也不关闭虚拟机,每次关机后想启动虚拟机必须联系公司人员上门去启动导入秘钥
hkitdog
2019-11-08 13:29:45 +08:00
@guanhui07 Python 还能转二进制?
anonymous256
2019-11-08 13:34:12 +08:00
1. 大多数情况没有加密的必要性, 你的烂代码没多少闲人会看.
2. 想要编译成二进制包, 参考知名开源项目:
https://github.com/volatilityfoundation/volatility/wiki/Compiling-Binaries-with-Pyinstaller#compiling-with-pyinstaller
3. 只是纯粹想保护代码, 使用 cython 编译成 C 扩展, 这样代码就不可读了.
est
2019-11-08 14:01:01 +08:00
@binux 当然可以。。。这就是双方对抗升级的过程了。23333
blackwolf
2019-11-08 14:24:29 +08:00
@Cooky 如果真有人愿意逆向,花点力气,费点时间,还是可以逆向出来的,混淆加壳,代码加花,大部分情况下只能延迟被逆向的时间,看看好多姿势水平极高木马,病毒,最后还不是被一波搞安全的把底裤脱得光光的。。。
augustheart
2019-11-08 14:35:56 +08:00
别多想,你都选择 python 了,就不要再考虑保护代码不被破译的问题,毕竟生命苦短嘛。
当然,如果只是字节码的层次,可以考虑字节码混淆工具。

但是不要妄想在逆向层次对抗,任何公司,想对抗整个黑产都是痴心妄想,谷歌微软都不例外。有花在对抗上的心思把业务做好一点。
crab
2019-11-08 16:37:32 +08:00
加密狗要么法律手段。
leavic
2019-11-08 16:41:23 +08:00
pyinstaller 这种所谓的打包,你们是来搞笑的吗?
singerll
2019-11-09 00:29:33 +08:00
@hakono 你可以看下类似 bitlocker,是可以套多层壳的,虽然是可以解,但有生之年。。。
mamahaha
2019-11-09 00:56:43 +08:00
必须联网才能使用。在服务器上进行加密。
JasonTsang
2019-11-09 05:38:29 +08:00
@blackwolf 要的就是成本破解成本高,当成本高过我软件的价值,就没人掂记了。。

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

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

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

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

© 2021 V2EX