我需要在应用程序中存储音频文件。应限制对这些文件的访问。如何安全地存储这些文件?
我尝试存储在 assets 文件夹中,但在解压缩apk时,可以获取这些文件。
此外,我将扩展文件用作zip存档,但是,可以分配此文件,并且用户可以检索文件。
有没有办法存储文件以便用户无法获取文件?
答案 0 :(得分:1)
有没有办法存储文件以便用户无法获取文件?
下载它们,绝不将它们写入磁盘。
或者,下载它们并将它们写入内部存储(例如getCacheDir()
),并指出根设备的用户仍可以使用它们。
欢迎您尝试加密资产,然后在使用前对其进行解密。但是,由于解密算法和密钥将在应用程序中,人们可以对应用程序进行逆向工程并学习如何解密资产。
答案 1 :(得分:1)
有没有办法存储文件以便用户无法获取文件?
什么共同软件回答并没有解决问题。黑客可以对其进行反向工程以获取下载资产的URL,或者通过运行时挂钩或调试从内存中获取文件数据。
事实上,目前还没有解决方案,但安全专家试图做的只是让数据成本高出很多。
如果您的应用程序的资产非常重要,那么我建议遵循以下事项。
我知道上面的方法很难实现,如果资产值得,你应该考虑这些方法。
答案 2 :(得分:0)
我认为,如果您以某种方式对音频进行加密,则即使您的应用程序播放资产的解密音频文件,用户也可以录制系统声音,即使没有root电话也是如此,因为许多电话默认都具有此选项,例如:小米,三星。因此,您无法完全隐藏那些音频文件。您的应用播放资产音频时,甚至用户也可以录制扬声器。