团队开发了一个 Web 系统,后端用的是 Python/Django,现在想把它卖给客户,但是领导要求代码加密(不能看见源码),不让直接把源码部署在阿里云上或者客户的主机上,怕源码泄漏被二次贩卖或者修改授权。
如何说服领导或者有什么办法加密代码?
|  |      1linlance      2019-11-29 13:59:03 +08:00 好像没啥办法吧。。。听听其他大牛怎么说。 这种按照法律,版权不是就是归甲方么? 你们是干活的。。。。干活的不是乙方么? | 
|  |      2woshifyz      2019-11-29 14:01:01 +08:00 这个是个老问题了,没啥特别完美的办法,找些关键地方,用 cython 重写下吧 | 
|      3qile1      2019-11-29 14:02:51 +08:00 via Android dack 那个直接做成那样的发布可以不,更新就更新容器 | 
|  |      4whoosy      2019-11-29 14:06:20 +08:00 google 去搜 Cpython 编译 python 代码 | 
|      5vakara      2019-11-29 14:06:56 +08:00 via Android 用 pyinstaller | 
|      7catcalse      2019-11-29 14:13:33 +08:00 pyd | 
|  |      8Hanggi      2019-11-29 14:13:33 +08:00 这个是这样,一种是你们提供后期的服务,这种情况下你们可以全权负责维护等工作,当然这样成本太高。 如果把程序卖给客户,而客户对代码不可见,且后期无法做任何修改,那么维护和更新谁来做呢? | 
|  |      10wangyzj      2019-11-29 14:22:01 +08:00 cython pypy pyinstaller 实际上原理都差不多 | 
|  |      14wuwukai007      2019-11-29 14:34:08 +08:00 一个小 demo,转成 pyc,放在项目的相同目录下, https://gist.github.com/tosmart01/a048fc56ff967f7e8a1f173a514f73b2 | 
|  |      15nyanyh      2019-11-29 14:40:45 +08:00 自己修改编译个 python 解释器,修改下字节码对应的指令 但想破解的话肯定是能弄出来的,关键代码用 C 写吧 | 
|      16CallMeReznov      2019-11-29 14:40:53 +08:00 | 
|      17CallMeReznov      2019-11-29 14:41:35 +08:00 @1419co1in #9 把包直接复制到工程文件夹下面好像就可以了 | 
|  |      18agegcn      2019-11-29 14:44:27 +08:00 cython 编译几个核心模块,包括授权的 | 
|  |      19CEBBCAT      2019-11-29 16:02:59 +08:00  1 这个问题已经有人问过了呀 [Python 代码不能加密?]( https://www.v2ex.com/t/348602) [一般 Python 服务部署在公有云服务器上,如何做代码保护?]( https://www.v2ex.com/t/403957) 提问前记得搜索喔 | 
|  |      20imn1      2019-11-29 16:10:07 +08:00 我给的建议是: 整体加密不实际 把一些核心算法、关键业务模块,转为 C/C++打包的 dll/so,由 python ctype 调用,这样可能更实际一些 | 
|      22ungrown      2019-11-29 16:11:25 +08:00 via Android @woshifyz 纯 python 代码可以直接用 cython 编译成二进制库,只不过无法享受到静态类型带来的速度优化罢了 | 
|      23crawl3r      2019-11-29 16:30:25 +08:00 最简单的方法是卖服务器或者虚拟机镜像,设置脚本开机启动,然后不给登录账号密码。这样他们只能用但看不到源码。 | 
|      24qile1      2019-11-29 19:53:31 +08:00 via Android 要不你编译为 pyc,然后写个 py 代码,在 pyc 文件前面插入一些二进制文件,运行时跳过这些二进制字符运行? | 
|      250x5f      2019-11-29 20:27:54 +08:00 上次好像看到一个老哥说的是代码跑起来之后把代码删了 | 
|      26EurekaSeven      2019-11-29 21:11:51 +08:00 @0x5f 这个挺狠。。。话说以前我做外包的时候老板就是让我们搞这种,我们顶多做个 pyc 罢了。。 | 
|  |      27HuberyPang      2019-11-30 09:32:14 +08:00 https://github.com/ArvinMei/py2so  github star 的一个项目 把 python 代码打包成.so  不过这个打包环境和部署环境要一样 。我们的项目也是 django 的 把核心代码加密 不影响项项目运行。这个是项目是之前作者 python2 版本写的,自己修改一下就能用。 |