【问题标题】:Is JNI capable of protecting source code (classes.dex) in an apk file?JNI 是否能够保护 apk 文件中的源代码(classes.dex)?
【发布时间】:2014-03-07 01:46:35
【问题描述】:

我有一个用加密的 classes.dex 文件打包的 APK,而资产(图像、文本等)未加密。

说对我来说保护解密密钥不是问题,我可以使用 JNI 将 dex 文件解密为字节数组然后加载它吗?

【问题讨论】:

    标签: android encryption apk dex


    【解决方案1】:

    如果您愿意编写自定义DexClassLoader 来从解密的字节数组 * 中加载类,则可以。但是为什么需要 JNI?您可以在类加载器本身中执行解密。

    编辑

    *) 与 JDK 不同,Android 目前不支持从字节数组加载类。您需要将解密的类数据写入临时文件,然后从那里加载。

    【讨论】:

    • DexClassLoader 是否允许从字节数组加载 dexfile?它需要加载 dexfile 的路径。我应该为此重写方法 getResourceAsStream() 吗?与普通 Java 实现相比,我想使用 JNI 使 derptor 更安全
    • 抱歉,一厢情愿的想法尚不存在。我更新了我的答案。
    • 但是我们不是可以实现相同的功能,即使用 DexFile 从字节数组加载吗?
    猜你喜欢
    • 2012-06-26
    • 1970-01-01
    • 2012-12-23
    • 2012-12-29
    • 2016-05-02
    • 2011-03-16
    • 1970-01-01
    • 1970-01-01
    • 2011-05-08
    相关资源
    最近更新 更多