V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
Geekerstar
V2EX  ›  问与答

SpringBoot 打成的 jar 包如何做代码混淆防止反编译

  •  
  •   Geekerstar · 44 天前 · 1210 次点击
    这是一个创建于 44 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前的项目解压 jar 包放到 IDEA 里面就能看到完整的代码,希望增加安全措施,如混淆代码,当下有什么好的办法或工具可以实现吗?让打包后的 jar 包无法反编译出源码

    10 条回复    2024-11-11 09:01:34 +08:00
    cJ8SxGOWRH0LSelC
        1
    cJ8SxGOWRH0LSelC  
       44 天前
    只要还是打包 jar 就没有办法, 就算混淆了, 也只是难看一点, 代码还是一览无余。 也没办法阻止反编译。
    murmur
        2
    murmur  
       44 天前
    java 那个混淆跟没有一样,只能加垃圾代码和扩大项目规模,比如那些商业 OA 几百 m 的包,给你源码都头大
    COOOOOOde
        3
    COOOOOOde  
       44 天前
    aspose 不就是卖 jar 包的, 他的 jar 就是混淆了成了一堆垃圾编码, 但是花些时间还是能破解。
    Tiller
        4
    Tiller  
       44 天前
    没有作用。因为我还真的反编译过一个商业代码。把混淆的部分重写了。基本上能够看的七七八八
    Geekerstar
        5
    Geekerstar  
    OP
       44 天前
    @StinkyTofus
    @murmur
    @COOOOOOde
    @Tiller

    卧槽,那岂不是拿到 Jar 包基本上就裸奔了( Ĭ ^ Ĭ )
    Bingchunmoli
        6
    Bingchunmoli  
       44 天前 via Android
    @Geekerstar 客户端就是不安全。
    XiLingHost
        7
    XiLingHost  
       44 天前
    你可以把大量的逻辑都写成二进制,然后打包的时候交叉编译到所有常见架构上实现跨平台,Java 的部分用来做调用和调度以及兼容层
    git00ll
        8
    git00ll  
       44 天前
    核心放在网络上,运行时加载呢
    iseki
        9
    iseki  
       44 天前 via Android
    首先,不严谨地说,东西只要在客户端就可以被破解。其次,Java 这边你要想尽量提高逆向工程难度,看看 GraalVM Native Image 吧
    Tiller
        10
    Tiller  
       40 天前
    @Geekerstar 那到不至于,混淆还是比不混淆的要好的。但是鉴于 Java 的语言特性,确实没办法做到像 go 、c++这种程度
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1133 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 18:23 · PVG 02:23 · LAX 10:23 · JFK 13:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.