ProGuard或JNI能够保护存储在Android apk文件中的资产吗?

时间:2013-11-14 02:27:18

标签: android encryption java-native-interface obfuscation protection

我尝试用加密资产(图片,文字等)打包apk 当它在Android上运行时,资产将被解密然后显示(当然我在源代码中对解密密钥进行了硬编码)。
我猜:只要源代码受到保护,解密密钥也会受到保护,这意味着资产最终会受到保护?

问题:
1.如果 ProGuard 用于混淆apk,则解密密钥是安全吗? 2.如果我在 JNI(C ++)中编码解密密钥并让JNI进行解密,解密密钥更安全

我还制作了2个带有加密资产的演示Android应用,您可以尝试黑客攻击 第一个使用混淆的Java 使用AES密钥解密资产(用Java硬编码):
https://drive.google.com/file/d/0B9O3ChlSQJL1dVZUZmFtWlRyMXc/edit?usp=sharing

第二个使用 JNI 使用AES密钥解密资产(在JNI中进行硬编码):
https://drive.google.com/file/d/0B9O3ChlSQJL1UWU0VlprcXdVUjg/edit?usp=sharing

如果您能够在第一个演示中获得原始资产,请告知我们。
如果您能够在第二个演示中获得原始资产,请告知我们。
任何关于更好的资产保护解决方案的建议都值得赞

1 个答案:

答案 0 :(得分:1)

在不查看代码的情况下,任何混淆都不会100%隐藏“明确的”私钥。