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

使用 Protector4J 2.x 加密和保护 Java 程序

  •  
  •   vlinx · 2021-06-14 10:10:48 +08:00 · 2695 次点击
    这是一个创建于 1283 天前的主题,其中的信息可能已经有所发展或是发生改变。

    https://www.bilibili.com/video/BV1EK4y137oC?t=2

    使用 Protector4J 2.x 加密和保护 Java 应用程序,比混淆更好的解决方案,提供最好的兼容性和保护。

    详情: https://protector4j.com

    5 条回复    2021-06-14 20:32:00 +08:00
    Cbdy
        1
    Cbdy  
       2021-06-14 10:46:37 +08:00 via Android
    不过我现在用 graalvm aot 了,直接编译成 native 的二进制
    vlinx
        2
    vlinx  
    OP
       2021-06-14 12:54:04 +08:00
    @Cbdy AOT 的也可以直接破解和提取,特别是使用了框架的,请参考这篇文章:
    https://3keys.medium.com/extract-java-classes-information-from-aot-compiled-binary-file-9cbab86f3a15
    vlinx
        3
    vlinx  
    OP
       2021-06-14 12:58:24 +08:00
    Medium 如果打不开,可以直接访问 github, https://github.com/3-keys/binary-classfile-reader
    Cbdy
        4
    Cbdy  
       2021-06-14 13:27:42 +08:00 via Android
    @vlinx 他是用了 Spring Native 吧,Spring 大量依赖了反射,所以把类都打到了 native image 里面,一般没有这个问题
    kaneg
        5
    kaneg  
       2021-06-14 20:32:00 +08:00
    只要最底层还是基于 JVM 的,加密最坏都是有办法从 JVM 层来破解的。而唯有基于 AOT 技术将 Java 代码真正转换为二进制,使之与 C 编译后的二进制毫无差别,才能真正杜绝代码级别的泄露。至于将 C 程序从汇编的角度被破解则是另一回事,因为已经不是原始代码逻辑的直接泄露了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5217 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 09:14 · PVG 17:14 · LAX 01:14 · JFK 04:14
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.