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

javafx 写的程序如何做混淆

  •  
  •   Geekerstar · 2 天前 · 723 次点击

    使用 proguard 尝试了进行混淆,费了好大力气终于弄好了,反编译也看不出原始代码。但是实际运行的时候就报错了。启动的时候找不到方法,估计是混淆导致的。关于 Javafx 还有什么好的混淆方案呢?

    7 条回复    2024-11-12 14:25:51 +08:00
    Chinsung
        1
    Chinsung  
       2 天前
    java 写的到字节码层面执行,还是挺难把混淆做的很彻底的吧
    感觉不如核心逻辑直接用 JNI 去写
    StinkyTofus
        2
    StinkyTofus  
       2 天前
    放弃吧, 不要浪费精力了, 就算你混淆的再完美, 也只不过看起来麻烦一点, 真想研究你的逻辑, 而是轻轻松松。
    Geekerstar
        3
    Geekerstar  
    OP
       2 天前
    @StinkyTofus
    @Chinsung 好的,谢谢了 o(╥﹏╥)o
    gam2046
        4
    gam2046  
       2 天前
    >> 实际运行的时候就报错

    这通常是由于程序中使用反射导致的,proguard 并不知道哪些类、方法、属性被通过反射引用,因此需要你手动 keep 一部分。

    通常来说一些库的作者会告诉你哪些需要被 keep ,当然笨办法可以每次运行的时候,基本提示的应该是 class not found 一类的,把对应的 class ,或者索性它所在的整个 package 都 keep 住,反复多运行几次,就行了。
    Geekerstar
        5
    Geekerstar  
    OP
       2 天前
    @gam2046 对,应该是这个原因,感谢。
    dimwoodxi27
        6
    dimwoodxi27  
       2 天前
    没办法直译,永远都是开源;运行还得带个 jre ,混淆反而影响性能和各种报错,fx 写跨平台 gui 真感觉性能体积连 go 的 gui 都不如
    Nitsuya
        7
    Nitsuya  
       2 天前
    GluonFx Native, 不过挺麻烦的.
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5567 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 06:36 · PVG 14:36 · LAX 22:36 · JFK 01:36
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.