V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
SoulSleep
V2EX  ›  程序员

Java 源代码如何保证不被分发

  •  
  •   SoulSleep · 2018-01-14 09:17:13 +08:00 · 3017 次点击
    这是一个创建于 2487 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:需要把源代码提供给甲方,传统的 Spring+Hibernate 项目,Maven 管理的

    当然严格的文件复制无法阻止,我们想做的就是,假如代码在非甲方公司出现 /执行,这可以是一个证据证明是由甲方公司外泄我们提供给甲方的源代码

    一直没做过这种项目,要把产品的源代码提供给甲方。

    各位出出主意。

    考虑过的方式: 我们的工程有好多 module 加密其中一个基础的。 或者引入一个 jar,这个 jar 是带 License 的,没有这个 jar 项目无法启动 /功能错乱。

    请指教吧。。。不知道搜什么关键字合适

    9 条回复    2018-01-14 13:46:03 +08:00
    nicevar
        1
    nicevar  
       2018-01-14 09:49:38 +08:00   ❤️ 1
    必须要提供所有源码?商业上可以谈判,部分不提供源码,比如公司积累的一些比较有价值的库
    好的方式也就是你说的 license,技术上 java 项目给了 jar 其实跟源码差别不大了,重要的是合同上写清楚,通过法律来约束
    bumz
        2
    bumz  
       2018-01-14 10:21:23 +08:00   ❤️ 2
    ProGuard Shrink 和 Obfuscate 下提高逆向工程的难度? 233
    t123yh
        3
    t123yh  
       2018-01-14 10:37:25 +08:00 via Android   ❤️ 1
    是不是可以在某个页面加一点小改动
    wdlth
        4
    wdlth  
       2018-01-14 10:39:37 +08:00   ❤️ 1
    如果有合同明确交付源代码,源代码就是甲方的资产,即使是外泄了,也是甲方的资产外泄,除非合同中有违约赔偿条款,不然权益得不到保障。
    abcbuzhiming
        5
    abcbuzhiming  
       2018-01-14 10:40:21 +08:00   ❤️ 1
    源代码都提供了你还指望加什么密啊,你们商业合同怎么谈,如果商业合同没限制人家直接就可以把代码拿到别人机器上去运行的,你限制什么?你限制那叫违约懂不,你给的源码都不完整,别人可以告你的
    mooncakejs
        6
    mooncakejs  
       2018-01-14 10:44:08 +08:00 via iPhone   ❤️ 1
    一部分通用功能改成代码生成器生成,不同的分发渠道变量名之类有所不同同时有一定规律,这样能认出来哪个渠道泄露的。
    ixiaohei
        7
    ixiaohei  
       2018-01-14 11:24:09 +08:00   ❤️ 1
    搞成 bs 结构的? 你们的服务器把握核心逻辑,这样给出去的代码没有服务器其实啥价值也没有。比如暗黑三的 ai 逻辑全在服务器。破解客户端只能打木桩。另外要么就别用 java,java 反编译几乎就是源代码,技术上几乎做不到别人破解。
    somebody
        8
    somebody  
       2018-01-14 11:34:34 +08:00 via Android   ❤️ 1
    用 proguard
    hanbing135
        9
    hanbing135  
       2018-01-14 13:46:03 +08:00 via Android   ❤️ 1
    合同就是把源代码给人家 你不给难道不违约么 当花钱的是傻子?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1165 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 22:57 · PVG 06:57 · LAX 14:57 · JFK 17:57
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.