Java 外包私活,项目代码都有啥加密或者类似技巧 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
heyzayz
V2EX    Java

Java 外包私活,项目代码都有啥加密或者类似技巧

  •  
  •   heyzayz 2020-07-23 23:29:13 +08:00 6402 次点击
    这是一个创建于 1930 天前的主题,其中的信息可能已经有所发展或是发生改变。

    做 Java 外包私活怎么能让买家还让我们维护,或者拓展呢 有啥加密或者类似技巧。

    39 条回复    2020-07-24 17:55:39 +08:00
    GM
        1
    GM  
       2020-07-23 23:47:19 +08:00
    if(Instant.now() < "2020-12-30") {
    Thread.sleep(3000); // 等客户价钱优化速度
    }
    ericgui
        2
    ericgui  
       2020-07-23 23:59:11 +08:00   1
    你就正常发挥

    要么你写了 bug
    要么老板拍脑袋有新的 idea

    都需要你来的
    heyzayz
        3
    heyzayz  
    OP
       2020-07-24 02:16:46 +08:00 via iPhone
    @GM 哈哈你这个
    heyzayz
        4
    heyzayz  
    OP
       2020-07-24 02:17:10 +08:00 via iPhone
    @ericgui 不过确实需要这个,有啥好办法不
    jadec0der
        5
    jadec0der  
       2020-07-24 06:23:08 +08:00
    如果不是联系不上你,不会找别人做后续优化的。

    你想要是有个不知道什么人写的项目让你接着改,你愿意用比原作者还低的价格接下来吗?
    dr1q65MfKFKHnJr6
        6
    dr1q65MfKFKHnJr6  
       2020-07-24 08:36:27 +08:00 via iPhone
    我记得有个什么代码格式化工具,把类变量什么的全转换成下划线数字型名称,去掉注释,反编译就让他反编译吧,如果老板有能力找到能维护这样代码的人只能认了
    Finest
        7
    Finest  
       2020-07-24 08:58:37 +08:00
    核心代码 jni 编译,打包
    crclz
        8
    crclz  
       2020-07-24 09:05:03 +08:00
    关键词:混淆
    zzzmh
        9
    zzzmh  
       2020-07-24 09:07:47 +08:00
    @GM 3 秒整数一下就看出来了,建议用随机数,再加上时间维度。
    WispZhan
        10
    WispZhan  
       2020-07-24 09:53:13 +08:00
    简单,你用其他 JVM 语言写,连混淆都省了。
    没点水平,不爱折腾的一看就不想接。 有点水平,会折腾的,你混淆了也没用。
    cruii
        11
    cruii  
       2020-07-24 09:53:23 +08:00
    蹲一个大佬推荐好用的混淆工具
    gz911122
        12
    gz911122  
       2020-07-24 10:30:22 +08:00
    用其他 jvm 方言写点关键逻辑.
    什么 Scala,Clojure,甚至 Latte 这种个人开源的, 全给他整上.
    保证维护还找你.
    matrix67
        13
    matrix67  
       2020-07-24 10:36:02 +08:00
    程序不重要,数据重要,数据写 xlog 。

    不用谢,之前看到 v 站有个 realpg 发明的方法。 搜索 “防盗版软件黑科技又一案例”
    matrix67
        14
    matrix67  
       2020-07-24 10:38:11 +08:00
    @matrix67 #13 t/329592 就是这个
    lancelock
        15
    lancelock  
       2020-07-24 10:40:24 +08:00
    我在学 elixir,打算用这玩意写,应该没人会抢了吧
    weizhen199
        16
    weizhen199  
       2020-07-24 10:53:16 +08:00
    @matrix67 看玩我还是想说一句,现在又过了 4 年了,机构单位各种操作能力有增无减,建议注意自己安全
    jiaxin1121
        17
    jiaxin1121  
       2020-07-24 11:18:54 +08:00
    找个加壳的工具
    sonice
        18
    sonice  
       2020-07-24 11:23:07 +08:00
    proguard
    heyzayz
        19
    heyzayz  
    OP
       2020-07-24 11:35:49 +08:00 via iPhone
    @jadec0der 这个道理是明白的,
    heyzayz
        20
    heyzayz  
    OP
       2020-07-24 11:36:02 +08:00 via iPhone
    @cedoo22 混淆吗
    heyzayz
        21
    heyzayz  
    OP
       2020-07-24 11:36:33 +08:00 via iPhone
    @hand515 这个是怎么编法
    heyzayz
        22
    heyzayz  
    OP
       2020-07-24 11:39:23 +08:00 via iPhone
    @gz911122 多谢,我研究研究
    sudoy
        23
    sudoy  
       2020-07-24 11:51:11 +08:00
    我自己会 python,但我经常找人开发,大多要求对方用 python 技术栈,前端也是要要求对方用我熟悉的框架。那么我想从我的角度来回答这个问题。首先我请人开发,需求和价格肯定都谈好,双方都认可这个交易,如果你好好写,哪怕有 bug,我也理解,但如果你使坏,故意整一些像一楼写的那种(当然我相信一楼只是开玩笑),那么不好意思,我肯定会搞你,即便搞不了你,我也绝不会再跟你合作。所以,我找人开发都是用一些我看得懂的技术栈。对方故意使坏,绝对是一个糟糕的做法。
    skys215
        24
    skys215  
       2020-07-24 11:57:25 +08:00
    别人是花钱买你写的代码的,不是买你提供的服务,不是 SaaS 吧
    那别人给了前你就理应当把源代码都给甲方,如果你不想给源代码,那就改成 SaaS 给他们提供服务,让他们订阅你的服务
    heyzayz
        25
    heyzayz  
    OP
       2020-07-24 12:02:02 +08:00 via iPhone
    @skys215
    @skys215
    @sudoy 并不是使坏,是本身开发免费,想要后期合作
    GM
        26
    GM  
       2020-07-24 12:02:16 +08:00
    @matrix67 你是 matrix67 真身?
    heyzayz
        27
    heyzayz  
    OP
       2020-07-24 12:03:12 +08:00 via iPhone
    @GM 啥,
    chihiro2014
        28
    chihiro2014  
       2020-07-24 12:07:53 +08:00
    写别人看不懂的代码
    wmhx
        29
    wmhx  
       2020-07-24 12:21:43 +08:00
    混淆工具弄一下。其实就够了
    xuanbg
        30
    xuanbg  
       2020-07-24 12:47:46 +08:00
    没必要,你把活干好,下次还是会找你。站在甲方的立场,最需要的其实是一个靠谱的供应商。

    PS:做生意最重要的是诚信和成就客户,让客户赚到钱,你才能源源不断地从客户那里赚钱。
    tohuer00
        31
    tohuer00  
       2020-07-24 12:57:46 +08:00
    如果甲方一开始就有意要你的源码后续自己开发,他会在谈合同时就提的,没人愿意冒风险去反编译 class 。
    如果没要源码,那就是没打算换人接手,或者要换就一整套都换掉。
    Jf35jxN3fwBXyeLh
        32
    Jf35jxN3fwBXyeLh  
       2020-07-24 13:10:47 +08:00
    楼主如果觉得混淆强度不够的话,可以采用更强的 vm 的保护形式。别人用逆向工具也看不到代码的,联机连函数调用都看不到,可以私聊我 phone MTMxMzg2NjE5NDA=
    byzf
        33
    byzf  
       2020-07-24 14:05:30 +08:00
    直接展示成品, 付钱再给源码. 客户就是关心你做到啥程度了, 源码啥样其实无所谓.

    对方付完你还弄个混淆了的代码过去, 你让以后的人怎么维护.
    S9Yh4wIFsBG7jnE4
        34
    S9Yh4wIFsBG7jnE4  
       2020-07-24 14:27:39 +08:00
    代码混淆后性能不会降低吗?降低了怎么办
    BoarBoar
        35
    BoarBoar  
       2020-07-24 15:33:24 +08:00
    java 就这样,没啥办法
    代码混淆也就是个心理安慰,混淆能挡住的人不玩破解,玩破解的解混淆也就走个流程
    稍高端点的玩法是核心代码用 C/C++写动态库,java 只做个壳用 jni 去调库。
    然而别人完全可以同样做个壳去调你的库,能阻止泄漏核心代码,不能阻止抄袭
    neilq
        36
    neilq  
       2020-07-24 16:45:41 +08:00
    技巧是把服务做好,后续还会找你。做不好,下次肯定不找你。
    搞那些有的没的,直接走法务。
    heyzayz
        37
    heyzayz  
    OP
       2020-07-24 17:10:41 +08:00 via iPhone
    @neilq 有道理
    realpg
        38
    realpg  
    PRO
       2020-07-24 17:52:14 +08:00
    @heyzayz #37
    既然选择了 JAVA 或者 C#这类语言,那就做好服务,简单混淆一下就发,没必要搞别的。
    pxlxh
        39
    pxlxh  
       2020-07-24 17:55:39 +08:00
    不要私活
    不要私活
    不要私活
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3075 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 11:44 PVG 19:44 LAX 03:44 JFK 06:44
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86