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

Jar 包如何加密/混淆或定向加密/混淆?目前用的 Proguard 感觉效果不好!

  •  
  •   ylcx123 · 2015-09-08 19:38:14 +08:00 · 5795 次点击
    这是一个创建于 3146 天前的主题,其中的信息可能已经有所发展或是发生改变。

    目前项目里有个 Jar 包的部分代码需要很高的安全性。一直使用的 Proguard 混淆已经不能满足这部分代码的安全性要求了。有什么解决方案没?

    网上查询了下,有两个方案:
    1. 买 DexGuard ,不知道价格如何? 效果如何?
    2. 这部分代码用 C++写成 native 的

    方案 1 要钱,方案 2 成本有点高,有没有其他方法?
    目前只需要对这个 Jar 中的少部分代码进行特殊定向加密,使得这部分代码安全性特别高?

    4 条回复    2015-09-08 22:20:05 +08:00
    janxin
        1
    janxin  
       2015-09-08 20:44:19 +08:00 via Android
    梆梆爱加密应该可以免费加密的吧?
    ylcx123
        2
    ylcx123  
    OP
       2015-09-08 20:47:29 +08:00
    加一个方案:
    3. 通过 ClassLoader 解密加密的 Jar

    这个也太麻烦,我们是 Jar ,提供给别人
    OpooPages
        3
    OpooPages  
       2015-09-08 22:06:15 +08:00 via Android
    修改读取 class 文件的地方,即修改 jvm 源码,自己编译个 jvm ,和自己的 jar 一同发布。
    undeflife
        4
    undeflife  
       2015-09-08 22:20:05 +08:00
    @OpooPages java 是 jvm 跨平台,修改 jvm 意味着要发布所有平台的 jvm ...
    @ylcx123 用自定义 ClassLoader 是可行的,但是这种方案意味着 jar 包必须用对称加密,于是又产生了 ClassLoader 需要加密的问题....
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2955 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:01 · PVG 11:01 · LAX 20:01 · JFK 23:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.