0

我试图用加密资产(图像、文本等)打包 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

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

4

1 回答 1

1

如果不查看您的代码,任何混淆都不会 100% 隐藏“明文”私钥。

于 2013-11-14T14:49:24.483 回答